should i learn C++ or Visual Basic first?

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

gopunk

Lifer
Jul 7, 2001
29,239
2
0
Originally posted by: mithrandir2001
C++ is slightly overrated. Oh, its powerful, sure, but not necessary to actually learn at this stage in the game. I've been a corporate developer for 6 years and haven't written a line of C++. Almost everything has been in VB or VBScript. I will be using C# however when devloping for .NET because it is more powerful than VB and almost as simple.

you don't learn C++ solely for the purpose of learning the language, you learn it also to learn fundamentals of say, dynamic memory allocation.
 

mithrandir2001

Diamond Member
May 1, 2001
6,545
1
0
Originally posted by: gopunk
Originally posted by: mithrandir2001
C++ is slightly overrated. Oh, its powerful, sure, but not necessary to actually learn at this stage in the game. I've been a corporate developer for 6 years and haven't written a line of C++. Almost everything has been in VB or VBScript. I will be using C# however when devloping for .NET because it is more powerful than VB and almost as simple.
you don't learn C++ solely for the purpose of learning the language, you learn it also to learn fundamentals of say, dynamic memory allocation.
OK, fine, but knowing how to manage memory is not a requirement for being programmer or even developing a good application. I prefer solution-based coding rather than technical-superiority coding. Get it done fast, get it done right. If it runs 15% slower or uses 10% more memory, it doesn't really matter.

In my experience, corporations don't really like C++ development for normal tasks because there aren't enough good C++ programmers to write the code and support it.
 

gopunk

Lifer
Jul 7, 2001
29,239
2
0
OK, fine, but knowing how to manage memory is not a requirement for being programmer or even developing a good application. I prefer solution-based coding rather than technical-superiority coding. Get it done fast, get it done right. If it runs 15% slower or uses 10% more memory, it doesn't really matter.

well, for your needs it doesn't matter.... there are cases where that *does* matter, and as a programmer, you should be prepared for that situation. i don't mean "legally" should... like it's a moral imperative... i mean should as in you're only hurting yourself :p
 
Jun 18, 2000
11,197
769
126
Not that it really matters, but OO doesn't mean crap when you're struggling to grasp the concept of a "variable" or a "loop." Your first language should be something simple that will lay the groundwork for more important and complicated algorithms.

Gotta learn to crawl before you walk.

C++ can be a great first language, as long you take the time to fully understand the intricate bits of the language - something most people don't have the patience for.

 

gopunk

Lifer
Jul 7, 2001
29,239
2
0
Originally posted by: KnightBreed
Not that it really matters, but OO doesn't mean crap when you're struggling to grasp the concept of a "variable" or a "loop." Your first language should be something simple that will lay the groundwork for more important and complicated algorithms.

Gotta learn to crawl before you walk.

C++ can be a great first language, as long you take the time to fully understand the intricate bits of the language - something most people don't have the patience for.


C and C++ do not require any knowledge of OO when you learn variables and loops. if you want a simple program, C and C++ can be simple.
 

Originally posted by: Yomicron

Java... what a lame excuse for an object orientated language (not as bad as C++, but sill bad)
I would learn C first, it will teach you the basics of programming
For your intro to object oriented programming I would learn a real OO language, such as Smalltalk.
Once you are proficient in Smalltalk, I would work with some C++ or Java that way you can apply some real OO design to Java and C++.
monster.com job search

Java -- 3,585 listings
Smalltalk -- 28 listings

'nuff said
 

BigNeko

Senior member
Jun 16, 2001
455
0
0
WoodchuckCharlie,
I am taking my second C++ class right now (getting a degree a little later in life than most). It all depends on what book you use if you are going to teach yourself.
In my opinion, there is a very big hang-up about Object Oriented programming early on. It really doesn`t mean squat to me right now. The programs I am doing are still very simple. So I would suggest staying away from anything that says it will have you doing OOP in 21 days.

One thing to consider is the program you use to compile your stuff. We had to use the MS Visual C++ academic edition (came with the textbook). That program itself was very confusing. What`s a project? What`s a workspace? WTF is MFC?
Thankfully the folks over at the programming forum were very patient with me and helped me out. Don`t start with Visual C++ if you can help it.

Just remember that C++ only does three things:
1) Executes instructions step-by-step.
2) Tests a condition and follows one of two or more directions (branching).
3) Loops (iteration).

Keep that in mind and filter out the geek-speak and C++ isn`t that bad to start programming with.

P.S. Don`t forget the f***in` semi-colon!
 

manly

Lifer
Jan 25, 2000
13,086
3,850
136
Originally posted by: gopunk
C++ is such a behemoth language with myriad issues that I'd never recommend it to anyone learning programming from scratch. Arguably, Python, Java and C# are more sane choices. If anyone is wondering, I actually like C/C++; I just don't have the patience & dedication for those languages anymore when Java suffices most of the time.

i completely disagree, all 3 of those languages are high level, which is NOT what people should start out with. should kids learn to add and subtract, or should they learn how to use a calculator first? i choose the former. it may be easier, but i think it's important to get the nitty gritty down before you take any shortcuts.

yes, i know C and C++ are shortcuts too, but you know what i mean.
You can disagree, but most of the programming world doesn't follow your reasoning. At least where I learned CS, let's call it the MIT/Stanford/Berkeley school of thought, you start from as high a level as possible (*cough* Scheme) and eventually work your way down to electrons. But ignoring university academia for a second and concentrating on programming alone, nobody teaches ASM to beginning programmers anymore. You work from the highest level of abstraction to lower levels to hide complexity that the student does not currently need to know. If you're right, then basically computer programming education is broken worldwide.

Your analogy doesn't really map well to layers of abstraction in computing. The reason higher-level languages are usually chosen early is they are easier to grasp, covering the fundamentals. While core C isn't so bad, dig a little deeper and some students get mired. C++ isn't nearly as easily defended; while it has been a commercial success, everybody knows it's no paragon of programming languages.

Anyhow, my point wasn't so much that you should learn Python before C. But rather of all the languages mentioned, C++ has to be near the bottom of my list for teaching beginners. I'm a weanie and don't write any C++ code these days, but like I said, I used to like the language a lot so I have some clue what I'm talking about. ;) While you could teach a limited subset of C++ to beginners, you still lack an interactive interpreter and strong class libraries to make learning easier. Yeah standard C++ now has a good library (nowhere nearly as complete as Java) but first you'd have to teach templates.
 

Chaotic42

Lifer
Jun 15, 2001
34,545
1,707
126
What about python? It's powerful, yet not too complicated or confusing. It's easy as heck to learn too (well, I knew C first, so that might have helped).

 

FeathersMcGraw

Diamond Member
Oct 17, 2001
4,041
1
0
Originally posted by: WoodchuckCharlie
I'm gonna try to teach myself some basic programming skills, and I want to know what is better to start out with, Visual Basic or C++?

If you really know absolutely nothing about programming, I have to (reluctantly) admit Visual Basic is a better place to start. C++ is a powerful language, but all that power comes with a level of complexity (and ensuing problems associated with that complexity) that I wouldn't wish on any beginner. Learn basic concepts like variables, typing, expressions (and order of precedence), subdivision of programs into functions/procedures, and so on. Once you've gotten at least the basic vocabulary and concepts down, transferring that knowledge to other languages is largely a matter of syntax.