|
Agree. It is not difficult to learn all kind of programming languages. It is more or less the same. They share one thing in common, they run in computer.
However, just make one your favorite and sharpen it. I would choose C++ for that.
Sonork 100.41263:Anthony_Yio
|
|
|
|
|
Fortner wrote:
Hey! Over here everybody! I think we just found god!
You truly are an idiot. Thanks for the obvious demonstration of being unable to hold an intelligent rebuttal to your belief you can master all languages as needed.
Fortner wrote:
Too bad half of what god knows is obsolete in about five years.
I'll be writing your crappy language components so you can afford to feed yourself.
Jeremy Falcon
|
|
|
|
|
Say, is that god speaking again? Why, yes indeed! Everyone! Listen closely to the wise master! Watch him closely as he pats himself on the back AGAIN. Not an easy task, but then again, god can do anything. Watch god pat himself on the back and prance and exude anti-VB godliness.
The demonstration is all god's as he is only keen on rebuttals that smack of help-not-found or a blue-screen-of-death.
If everyone looks closely it can be seen that god thinks mastering VB as a language is certainly lesser than god.
And the crappy language components... so those were yours?
|
|
|
|
|
Fortner wrote:
If everyone looks closely it can be seen that god thinks mastering VB as a language is certainly lesser than god.
For one you moron, you stated exactly the opposite practice and theory in your first post. Get your sh*t straight and quit wasting my time on the matter.
Fortner wrote:
And the crappy language components... so those were yours?
It was meant as "crappy language". Surely, someone of your intelligent and caliber would've picked up on that?
Jeremy Falcon
|
|
|
|
|
congratz, you just discovered the logical system, not just the language !
Greetings....
|
|
|
|
|
Unfortunately, you're right...
Yesterday morning I started a demo for a quite simple job: to parse and merge two text files for producing a Word document.
While I was thinking to write classes, exceptions, STL collections etc., another coder using VB nailed me for a half of price (and probably much soon delivery).
I was quite upset; not only for the lost money, but especially when someone else using a 'not-so-real-programming-language' probably delivered the same result expected by the client, in twice the time and half the price. VB beats C++...
I learned VB and Python just to make money (and, in fact, I did, even if I don't like these languages). After all, Perl, C, C++, Delphi (I considered Pascal/Delphi even more ugly than VB) - who cares? It's all about the success.
How much of the code written is a one-time-shot and how much is reused? If you write for one-time, probably VB is the best choice. If you design a template-based collection, probably C++ is the prime choice. If you write a custom GINA or SQL Server extended stored procedure, then it's C.
Ah, I almost forgot: how do you use OLE automation from Prolog? Just kidding...
|
|
|
|
|
(I considered Pascal/Delphi even more ugly than VB)
I don't know exactly what you mean with this, but for others like me, Delphi sintax is much more elegant and it is as easy to maintain as Visual Basic code if you are proficient in it. I found Delphi much more powerful than VB and more suited for some tasks people use C++ for.
|
|
|
|
|
1. Elegant? For sure. After all, it was started as a language for universities, and the essay-like keywords is very good, I have no doubt. The same you can say about almost all natural-oriented languages: Lisp, SQL, Smalltalk, probably also Eiffel (although I don't know it), Python etc. C was designed as an advanced macro assembler (at least in the PDP-11 days), so is more cryptic. But elegant does not mean powerful, nor easy.
2. Easy to maintain? I don't think this is a language characteristic; it depends more on how you write rather than the words used. After all, I have seen so many stupid C++ code and (a lot more) elegant C code. For sure "maintain" is a keyword for productivity and speed of making money/delivering solution on time, but this thread is referring to language itself. Correct?
3. "... if you are proficient in it." 100% agree. You can maintaing everything if you are proficient and highly organized.
4. More suited for some tasks people use C++ for? 100% agree. Each language has its own use. Examples are all over: bash scripting or Perl better C for admins, SQL better than Delphi or C++ for database handling, and so on.
I said "Pascal uglier than VB"? That's just me. I wrote "I consider". I may be wrong, and I didn't mean to offend anyone. A matter of taste... they say arguing about taste is useless, but we still do this every day.
|
|
|
|
|
There's an old saying that "once you own a hammer, everything looks like a nail." It's intent it toward management techniques, but works quite well with developer tools. I believe the best programmers will look at the task and use the best tool, of course, within their given environmental constraints (team skills, policy, portability, etc.). Some surveys say that over 60% of today's software is designed to pump data into a database and suck it back out. I see no reason why VB is not suited to that task, especially at the low, office-level, needs (as opposed to enterprise-level needs). I think it's rediculous for programmers to think that only "real programmers" should be allowed to program. It is and will be treated the same as homeowner do-it-yourselfers. If it's a small, uncomplicated task, the homeowner can handle it. If it's a big job, get a professional. If the do-it-yourselfer screwed it up and it now must be cleaned up or redone, do what the plummers do, charge them out the ass for their stupidity and the extra pain they caused you.
Computing power is much cheaper than brainpower today. So, business folks would rather have a maintainable solution on more horsepower (blades, clusters, etc.) than some arcane whizbang fast-ass unmaintainable code that a lot of so-called "real developers" crank out.
The level of real or perceived snobishness exuded by developers seems to be directly proportinal to the level of technical difficulty required to become a guru in the particular environment. That is perhaps just a natural occurance and possibly warranted. But, must we be so consistently blatant about it? Do brain surgeons openly belittle those dumb-ass "family practitioners?"
I have programmed VB, C/C++, PHP, Perl, C#, etc. I really like VB3-6 for desktop and client server apps jambing data. I now have done so much programming in C-derived syntax that I think VB.Net is far too verbose, so I use C#. I also have come to realize that once you step beyond data handling, you need a solid foundation in computer science principles (patterns, math, algorithms, distributed design, networking, graphics, etc.).
Bottom line: There are appropriate tools, skills, and uses for all languages that survive. Get the skills you need to do what you need to do, pick the language that is most appropriate for the job, and design the app according to its requirements (sh*tty little 3-user desktop hack, well designed enterprise app, kick-ass graphics game, etc.).
Personally, I think a lot of good programmers started by hacking together crappy apps and then, as they gained experience and range, figured out that they needed to get more skills. Technology takes a grip to hang on. If you aren't always learning, you will become obsolete. Same thing with languages and companies that don't satisfy a need.
Take care.
|
|
|
|
|
Anonymous wrote:
Do brain surgeons openly belittle those dumb-ass "family practitioners?"
Family Practitioners don't often attempt brain surgery.
|
|
|
|
|
If VB is the most popular language, it is because most people using it are not real programers.
VB is ok for designing front ends, but it requires controls etc... written in a real programming language to be useful. So why not use a real programming language to write the front end.
As for RAD design of interface: There is no reason why some one could not write an application with the functionaliy of the VB interface, that produces C or C++ code (even portable code). As a matter of fact there used to be a program call "Windows Maker" that did just that, it did have the anoying habit of generating far more code than was needed though.
INTP
|
|
|
|
|
There are many survey answers and messages that say VB is 'not a real programming language.' However, I have seen little explanation of what they mean by this. It seems to me that this should mean more than simply 'lacking in some advanced features.'
To me, 'not a real programming language' would mean something like 'not turing complete' or 'lacking in features needed for almost any real world situation.' Do people who claim VB is not a real language agree with either of these definitions? What makes a programming language a real programming language?
Nathan
|
|
|
|
|
Ideally a multi-purpose language should be separable from its standard libraries, whereas VB6 is a big ball of programming stuff.
|
|
|
|
|
Probably this refers to the fact that VB is not as hardcore as C.
It's about void * vs Variant, __cdecl vs __stdcall, Private Declare vs LoadLibrary, Private Type vs struct.
Windows API is written mostly in C, with __cdecl and CALLBACK, and VB - let's face it - is not the prime choice here.
Even C++ is not suitable when writing certain types of Windows application; NT services or SQL Server extended stored procedures should be written in C (although may implement part of functionalities in C++).
'Lacking' should point to language constraints rather that language calculation power.
After all, you can do in C the same as in C++, but in C you don't have classes, multiple inheritance as C++ does.
That doesn't meand you can't do it yourself.
Nobody stops me to write a C structure instead of a C++ class, add in the structure member function as pointers, override malloc and free with my allocator versions that will call Constructor of allocation and Destructor on free.
Ugly, but Turing satisfied .
Mama had a chicke, mama had a cow - dad was proud he didn't care how.
|
|
|
|
|
Ofcourse VB.NET is a real programming language. You're programming in it, right!
Thing is that C++, C# programmers and the like are language purists. If they were not they probably would be programming in a so called "productive" language like VB. The tale VB would have less features than C++/C# is becoming more and more a thing of the past.
However, programming is a whole lot more then just cramming statements in blocks of code.
It is about design, and design is an art, just like the choice of language.
C# is a completely redesigned language, specially build for .NET, and therefore the most obvious choice for C/C++ people who want to write managed code.
VB.NET drags along a lot of garbage from the past, which just "sits" there to be "recognisable" for folks with previous VB experience, without contributing to the language itself.
The "C" languages are very expressive; you can do a lot with a very small amount of code. The downside of this powerfull expressive feature is the language -can- be a lot more demanding then strait foreward VB to some people. If demands a lot more dicipline and devotion to the code itself, and many "C/C++" projects have failed because of the extra effort needed and poor design. C# has "soften the edges" of the previous C/C++ languages, without giving up the expressional power.
This is reflected in the syntax of both languages. VB and the likes have an enormous amount of obsolete, nontrivial keywords that are only there to simplify. A real noble thought for people just starting programming and like to type in English words, but a big -nogo- for people who are already fully aware what they want to achieve in the most elegant and powerfull way.
What really make things worse in my humble opinion is that a lot of concepts which are widely spread across the professional software engineering community are named different in VB.NET, for no apparent reason. A very big mistake.
Conclusion: stick to the language of your choice, but make sure your output is well designed, scalable, maintainable and bugfree.
Happy coding....
|
|
|
|
|
Mere Turing completeness is the bare minimum a programming language should offer (though there are plenty of languages which aren't Turing Complete but make your job a lot simplier for a certain problem domain). If we limit ourselves to computationally complete languages, then we note that languages don't differ in what they are capable of. It's proven that, given enough memory, any Turing complete language can do any mathmatically feasible task.
If all you want is Turing completeness, search around on Google for "brainf*ck". It's a language that is proven to be Turing complete, but is so constrained that even making a "Hello, World!" is painful.
What makes languages different is what they make easy. There are certain tasks that are very easy in Bourne shell (which isn't complete) that are really hard in VB. OTOH, you can't really build a GUI application out of sh scripts alone.
If your goals are a small, throwaway GUI program that never has to leave a Windows environment, than VB works fine. For almost anything else, the ammount of code you're forced to write makes it unweildly. And that's what makes a "Real Programming Language": it can do complex tasks while keeping the code manageable.
|
|
|
|
|
Ok, now every single VB programmer is going to come and post the message:
"I am a VB programmer, but I could easily solve my solutions in C++"
If that was true you would be coding in C++. We do not need to hear how you could easily do it in C++, but you prefer VB for some reason.
First off,
Visual Basic .net and C# are almost the exact same execution speed when you are using the same libraries.
Secondly,
C++ is usually not written in managed code (at the moment). With that said, obviously C++ has a faster execution speed. C++ also has more control, and can go deeper into the core of the O.S. you are using.
I have played around with Visual Basic .Net, finished an 8 month project with it and still find it is not nearly as good as C++.
So VB programmers, if you enjoy it-stay there. But do not tell us how "Some people need to grow up on this issue.".
It sounds to me like the VB programmers are trying to prove how long there wang is.
|
|
|
|
|
Erm, how about this: I'm a C++ programmer, but I could easily solve my problem in VB.
In fact, VB is very easy to do quick prototypes and to make simple tools. C++ provides more power and greater speed, but development speed (depending on what you're doing) can be significantly less.
It's simply a matter of using the right tool for the job.
Why write text processing stuff in C++ when you can use Perl? Why write a registry-tweaker in Perl when you can use VB? Why write a 3D game in VB when you can use C++?
|
|
|
|
|
Kipp, my post was a direct hit to the post below. Not a smash on VB programmers.
|
|
|
|
|
C++ Programmers dislike VB Programmers simply because it makes them feel smarter. Sad sad truth.
btw, when you guys say vb, you should specify which vb you're talking about. vb6 and vb.net are too different worlds. Oh, and another thing, don't confuse "a programmer who uses vb" with a "newbee programmer".
|
|
|
|
|
Ellery wrote:
C++ Programmers dislike VB Programmers simply because it makes them feel smarter. Sad sad truth.
That is not the case always. I have met alot of long time programmers who can not write in C / C++ because they are not good at it. Plain and simple.
This is an argument why people are so derisive towards VB. Its not because they feel "smarter" its because they find it more powerful, tight, flexible. VB6 and .NET are both a no go in those three subjects.
|
|
|
|
|
Signal wrote:
That is not the case always. I have met alot of long time programmers who can not write in C / C++ because they are not good at it. Plain and simple.
What does that have to do with what I said? I wrote about how c++ programmers' ego can easily inflate while talking about the vb dudes.
VB6 and .NET are both a no go in those three subjects
here we go, comparing apples and oranges again..
buddy, do you write your webapps in c++?
is c++ powerful,tight, and flexible when it comes to writing webapps?
any .net programmer will program circles around you if you're coding your webapps with c++ bro. It's not about the tool.. it's about the job.
|
|
|
|
|
This stuff is funny. Each person to his own. I run circles around the yahoos in our IS department as far as development goes. My VB applications are more functional, better looking and more user-friendly than their crap. It takes them weeks to build programs that take me a few days.
For web applications NOTHING is better than VB in my opinion.
|
|
|
|
|
;PVB is not a programming language to be compared with C++.
The basic goal of s/w development is to provide a user with a user friendly interface and I do not think the kind of front end VB is capable of providing can be matched by any other language
Aj
|
|
|
|
|
Do we carry on with this childish language argument because the Mac-Win conflict jury is now IN? (Bill won?).
I've programmed EVERY non-GL4 language under the sun since 1975...
This is my Usage Guide:
* C if you can't maintain your own good asm library; or for porting to ANY OS and ANY hardware.
* C++ if you want to be able to use 3rd party libraries (proprietry or MFC etc); or delve into FAST graphics (even though GDI implementation is awkward); or want to drop real geek vocab at a dinner party.
* C# if you haven't yet learnt a language (it's a combo of the best of VB and C)
* VB (native, A or Script) for FAST and FLEXIBLE front end development; or server side ASP scripts; or MS-Office enhancements.
* Perl if your web-site is linux hosted
* Assembly if you also designed the hardware
* Pascal, Fortran, Assembly if you're a history student
* Javascript for web work if you've only ever used C syntaxed languages
Some of these messages have alluded to: "Pick any language as long as it's the best/most suitable for the job", leave snobbery aside and simply use the best language for the job. A truely objective programmer can do this.
I've just completed a multi-faceted project (for onboard navigation and systems control - free copy at www.digiboat.com.au) which included QuickBASIC (can you believe it! by-the-way QB runs like effen lightning on modern machines) on a DOS motherboard interfacing hardware node combining proprietry serial, parallel and network protocols; 8086 and Z80 Assembly routines for some of the low level hardware interfacing (driving my own hardware components); C++ (with MFC) for the main Navigation and Chart display program; VB6 for additional interfacing with GPS's and database interfacing; and VBScript (and occasionally Java) for the ASP pages on the supporting website.
The moral - worth repeating - "use the best language for the job".
Now all we do is define "Best". This is subjective - based on...
"What language(s) do I know?"
"Can I 'see' a solution with my known language(s)?"
"Is this solution easy to develop and will it be a complete answer?"
"Do I own the development tools?" (Everyone "owns" VBA, VBScript and Java*)
Notice that there should be no emotion used to answer these "subjective" questions. Let all developers concentrate on providing complete, on-time, good UIs, minimised coding and error free solutions.
For over 20 years, we have ALL been cheap beta testers for (mostly) Microsoft's products. We are still testing their products, and it appears as if no cornucopiea (programming language) yet exists - otherwise why was C# recently "invented". Somewhere off in the future there MAY be a single programming language that serves all needs, but if this be true, then surely there will also be a single computer App that serves all needs (graphic'ing, word processing, spreadsheeting, video editing, communicating). This sounds unlikely (but perhaps isn't).
I defy any self confessed "real" or "purist" programmer to solve any and every task with a single language, and be convinced that it's been done in the "best" manner.
Actually "purists" surely would have to code in assembly (or maybe even machine code). Uh, oh ... Full-Circle Syndrome ... I started life programming in machine code in 1975 on an IBM computer adding machine (with punch cards).
Sorry, I've either confused more coders than I've enlightened, or vice-versa. If neither, then the CodeProject website is probably not what you were surfing for.
Cheers, Simon.
---
Remember free software contains no bugs - only undocumented features.
|
|
|
|
|