|
I would have to disagree with this, simply because a large
percentage of the programmers out there that know VB, are way lacking in any skills. Yeah they can turn out a program, but they don't always know squat about what's actually going on. And they couldn't even do much of anything, if it wasnt for their intelli-sense..
And this idea only stands up if you're one of the few that actually think that VB programs are superior to a program written in VC++.. VB is Great for testing, but for most real apps??! Any of the commercial apps that Ive been involved with couldn't be outdone by VB applications anyway. Unless the VB programs were created using components based off of the Original C++ application's code!!
And, I know a lot of professional VB programmers who don't even know what COM is, or the fact that they use it for everything that they do... And they are getting paid to
program!!! Actually they are getting paid to use the stuff that the C++ programmers(or more knowledgable VBers who probably know C++) wrote for them....
So my vote is for C++.. Because as it was so elegantly put in another comment, then you can Learn everything fairly easily(and in VBs case, very easily). And you can fix stuff for the programmers that can't!!
So, yeah there's definitely more of them, but that's cuz its easier!! And that's doesn't necessarily make it the right way to go!!
Heck learn C++, and then become a VB guy. You'll be that much more marketable!!!
But that's IMHO!!!
Peace....
|
|
|
|
|
As you disagree with me, I again disagree with you.
From where we're sitting, it's hard to see how hard it is to be a new programmer these days. When I started programming, the OS had only a handful of functions at best, and standard libraries were sparse, and the languages were (relatively) simple. Everything was incremental from there.
Someone coming into today's C++ software market has to:
a) master a language that is non-trivial at best
b) master the OS programming model (e.g. Windows events, etc.)
c) master the OS APIs (anybody out there know how many thousands of API calls Windows has???) and libraries (COM, ODBC, MSI, ....)
d) master the standard libraries
and on and on.
It's a huge undertaking that can't be done easily.
So if you want to start programming, my vote is still for VB. You can concentrate on program-flow for a while, without worrying about things like memory management, and nasty COM interfaces. Once you've got that right, moving to C++ is the right evolutionary process.
> So my vote is for C++.. Because as it was so elegantly
> put in another comment, then you can Learn everything
> fairly easily(and in VBs case, very easily).
> And you can fix stuff for the programmers that can't!!
> Heck learn C++, and then become a VB guy. You'll be that
> much more marketable!!!
So again -- personal opinion: If I'm interviewing a guy for a VB job, and he says he's from a C++ background, that's what I test him on. Most guys like that can't even answer the question "why do you need virtual destructors?". Thats a no hire right there. And why? Because the guy started out in C++ - thought he knew enough of it - but it's all baloney.
I'm sure we agree that if you grasp C++ in a good way, VB is just a luxury. So I'll conclude by saying:
Heck lean VB, and then become a C++ buy. You'll be that much more marketable!!!
Cheers,
-Oz
---
Grab WndTabs from http://www.wndtabs.com to make your VC++ experience that much more comfortable...
|
|
|
|
|
Well Said.....
I don't necessarily agree, since I don't see most(if any) of the VB guys EVER coming the other way to OUR side, but....
Our transition to VB is in hours???
There's is in years??! Or never!!
Yes. They definitely have a lot to learn and understand as far as extras, but having the core C++ knowledge will give them immeasurably more talent and understanding.
So, yeah in all practicality people will learn VB faster, and be in the market quicker.
But I guess I'm just all for people actually knowing
something!!! I hope I'm wrong, but Ive seen a LOT of examples where I'm not!!!!
And heck, if you come up against a hard interview and
get burned over something that silly, especially a c++ question when interviewing for a VB job. Well then don't tell them ya know the goods, especially if your just learning them...
Peace...
|
|
|
|
|
Hi everybody,
O.K., let's turn our view of the things around this way:
What kind of market are you targetting to develop what kind of applications for?
Is it wise to use VC++ to do a Database app?
Is it wise to use VB to do a 3D CG app?
Is it wise to use C & Win32API (hard stuff) for any windows app VS the MFC (ready stuff), epecially when we're talking about a USER INTERFACE that glues you up to the screen?
It all really depends on what market the new programmer is targetting?
To learn C++ is best, but also to learn VB is fast!?!?!
Knowing that the computer market is HUGE, I would say LEARN ALL YOU CAN LEARN and Have fun guys!
Cheers
Masoud
|
|
|
|
|
Masoud,
I 100% agree with these comments...
|
|
|
|
|
I'd be happy to write you a database in VC++, but apart from that I agree with everything you said - learn all you can is the only credo by which we can both survive in this business, and keep enjoying it.
Christian
The content of this post is not necessarily the opinion of my yadda yadda yadda.
To understand recursion, we must first understand recursion.
|
|
|
|
|
>Is it wise to use VC++ to do a Database app?
Oh yes! Most of my previous projects were database
apps, interfacing to a variety of RDBMS. Thanks to ADO!
Plus, of course you want cool user interface with
a controllable overhead of resources.
Cheers!
|
|
|
|
|
As much as I agree that C++ is too hard to be the first language I would also stress out that VB is not a good choice either.
VB is such a messy language that doesn't enforce any structure in the code nor any good coding practices!
I still think that C might be good for start, with the slow "upgrade" to C++ kept in mind. The best choice for starters as I see it is Pascal (Delphi for whose who wanna hack a windows programs with the same ease as with VB).
|
|
|
|
|
I think the VB stigma is so cute The funny part is the same people who say "Yeah, VB is great for prototypes, but..." have been in the business quite a while and haven't touched VB since v3 or v4. And why would they? They were terrible. Those same people also usually come with comments like "VC++ over VB is a no-brainer, you've got to have OO programming!" Then after talking to me for a few minutes they say "hmmm... really? You can do OO programming in VB now? Hmm.. you have access to every API function I use in VC++, and a slew of VB functions that usually make the API unnecessary? Wow, really, you can make a COM server in VB? Wow, and it takes *how* long? Geesh." I think a large part of the stigma may be that these people gave up on VB a few years ago, and haven't kept up w/ the improvements. But then again, who can blame them? I would have done the same if I started back then.
I program in VB and VC++. Here's an example of 2 projects going on here right now (both desktop apps):
1) User can create 3D highway/bridge models and create drive-through animations, OpenGL
2) User uses a series of dialogs, interactive 2D diagrams, etc. to model a bridge to be sent to another engine for analysis. App connects to a DB (Access) of predefined parts, and allows for custom definitions to be addded.
Now why should I write #2 in VC++, or #1 in VB?? I shouldn't. IMHO, people who are so stubborn about which language they choose often times don't have enough knowledge to select the right tool.
Another example: A company I interviewed w/ wrote some really cool dental software using VC++/DirectX7 (3D model of mouth is pretty cool), using Access files to store the data. When their clients needed the data in Excel, so they could do their own manipulations, the company had their junior programmers write a conversion app in VC++. These guys had no clue what IAnything was, and they had to kludge around interface pointers and wrapper classes... they were lost. The same dinky app in VB would take no time -- set references to the Access and Excel TLBs, create some objects w/ 'New,' and away you go! They just used VC++ because that's all they knew.
I'll be the first to admit that I am a big fan of the implementation inheritance that is easier to do in C++, and I like the Doc/View architecture. And if you need to get close to the hardware (graphics), VB is not your choice. But that's about all. VB events beat the heck out of callback interfaces, message maps, or event macros. And anything to do w/ COM is ridiculously easier in VB. DB Apps, same thing.
I'm tired now I guess my point is just pick the right tool for the job, and don't be so damn stubborn. Most people who carry on the VB stigma just do so out of ignorance.
Good night folks! You've been great. I'll be here all week, try the veal.
|
|
|
|
|
You know, for a "VB Retard", you're pretty sharp !
I agree with you completely: VB has really come a long way. And today, just about every company I go to uses it over anything else. It just makes sense in so many ways.
Me personally, I hate VB's verbose syntax. I prefer C++ and Java's case-sensitive, "curly brace" notation.
But the issue here is, what language should a newbie learn first? And my vote goes to VBScript. It's VB--! No worries about types or any of that other stuff which kinda gets in your way when you're learning to program. You just set your variables and forget it -- sort of like Perl. From VBScript, then you move on to VB, and then to more well-rounded languages like Java or C#. Finally, you hit C++: the "no-holds-barred" language.
I guess the main point is, learn it all so you can use whatever fits best for the situation at hand.
Regards,
Alvaro
|
|
|
|
|
Yeah, see the question IS "what should you learn first..."
You sound like a great example of my point.. YOU
KNOW C++. So you can in fact, understand a lot of the
deeper stuff going on. Yeah, their are some "bad" junior
programmers out there that screw things up in VC++. But
I think because they know c++, even though they don't know
squat, they still have a lot more potential than the junior
programmer that just know VB.
So really for this point, the whole I love VB is irrelevant.. It is getting better, it has many great uses,
its gotten to the point where you're not embarassed to ship
something written in it as part of a complete solution...
Yada yada yada... Ive even written fairly advanced COM controls in it too, although I still had to resort to ATL
for the really good stuff!!!
But is it your best choice for learning??!!! Did you learn
VB 3 or 4(that you definitely must remember, because you nailed the description), before you learned C++???
Hmmm.....
Peace....
|
|
|
|
|
Java is a better language than C++ if you're trying to learn OOP. I think that there are too many distractions when trying to learn OOP with C++ due to the baggage inherited (sorry, bad pun) from C, not to mention the confusion object pointer notation. C# would also be good since it bears an unbelievable similarity to Java.
I find it interesting that most universities are teaching Java (not C++) in their undergraduate computer science courses. This is producing a whole new generation of Java programmers who seem to have no trouble in getting a job thus far. What exactly they do for a living, though I'm not sure.
Regardless of what language you learn...chances are that you're going to have to learn a new one anyway in a couple of years. That's just the nature of the business
|
|
|
|
|
If I was young free again and had the choice to learn a new language in this current climate, I would definetly consider C# (The middle man). Should C# success fail, you have goundings for C++ and VB. The choice of language also depends on the type of application your going to develop/target. For Database,client server applications, ie Stock Control systems, then C#/VB would be the language to use. For desktop applications or critical applications then C++ would be the order of the day.
Hope this helps
Norm
|
|
|
|
|
And I'd just like to say a hundred percent agreement, Norm
Your analysis is dead correct as far as I'm concerned,
Regardz
Colin Davies
|
|
|
|
|
Hi!
Your sentence concerning tool vs. target is as right, as trivial . The question was - the best language TO LEARN programming (at least, so I've understand). And although I've started with Assembler/360 and PL/I (are you old enough to hear about it?), here I suggested C, because I think it is the pure programming culture, not damaged with these OLE, MFC, and other ActiveX.
Once more, it's my opinion, no one has to follow me.
Regards,
Gennady
|
|
|
|
|
The question is 'the best language to learn for todays IT world'. So it's another ambiguous, many-answered question (ie the whole point of these polls! )
If I had to suggest a language for someone just starting out I'd ask them if they enjoyed problem solving, programming with power and esoteric niggly things that make life fascinating, or if they just want the $$$. If the former then I'd suggest C#, since it's easy to learn, will be very useful in a range of things (thick clients to components to web pages), and is similar enough to Java and C++ that to step off, or move up to either language is fairly painless. For the $$$ I'd go VB7. It's on the same level as all other .NET languages, it's super simple and there will always be demand. Maybe not as stimulating, but it will get you a leg up in today's IT world.
Just my 8 bits.
|
|
|
|
|
Think, the first question you'd ask them has to be:"Can you NOT to be a programmer?". My firm conviction is that programmer is not a profession, but rather the diagnosis. So if the answer will be "yes" - you may ask your other questions and send them to whatever you think. But if the answer is "no" - suppose they'll follow my way.
BTW, why only 8 bits. All world tends to at least 32.
Regards,
Gennady
|
|
|
|
|
you have to take into account the fact that as far as most of us are concerned C# doesn't even exist yet. DevStud 7 hasn't shipped and a lot of us don't have the time or desire to run MS betas. so, C# is still MS marketing spew.
and, this poll was targeted (by virtue of being on this site) at people who presumably already know something about one or more programming languages - it shouldn't be surprising that people would pick a language that they know something about instead of choosing MS's current technology of the month.
and, honestly, isn't C# just C++ for people who don't get pointers? or java for people who really love MS?
-c
|
|
|
|
|