What should I learn first? Visual basic? Or straight onto C++?

Started by
42 comments, last by SavX 20 years, 1 month ago
"Learning BASIC causes permanent brain damage."
Edsger W. Dijkstra
Advertisement
quote:Original post by Ademan555
ummm.... i dont know anything about the "newer" versions of vb, ...


You said it. Why don''t you study the current state of things before you spread nonsense ? Old VB was interpreted, or needed runtime dll''s, but versions 5 and 6 are compiled. And VB6 is from 1999, so that''s already a long time ago.
quote:Original post by Charles B
The old school learning curve is the hard way but still the best to me :

- Basic, asm, C, C++

is good because you'll understand concepts like stack, recursive functions, POO (virtual tables) with much more in depth and accuracy.


Why learn asm ? Use that only when you need it.
Besides, we're not in the 80's anymore, or programming for UNIX. As operating systems get more complex so are the tasks of the programmer. And straight win32 programming in C++ is too tedious and complex.

I would suggest getting a feel for windows programming with Delphi, then moving on to C# where you can do anything you want, but also have the speed and ease of a windows development environment.

[edited by - Fidelio66 on March 1, 2004 6:33:35 AM]
What about PowerBasic, it is a visual lang that has a basic like synax and could give C a run for its money (speed wise). It is not an OOP but supports most if not all of the advanced features C does, pointers, in-line assembly etc

[edited by - Manip on March 1, 2004 7:43:27 AM]
quote:Original post by antareus
And what is wrong with that? Not every language has to be the ungodly mess of complexity and power that is C++.


C++ is only complex and "ungodly messy" if you make it. Sloppy programmers write sloppy code, don''t blame the language.
quote:Original post by Cedric
Why do we have to rehearse the same old arguments over and over again?

(I didn''t lack threads; I got tired of it. Moral: Use the search feature. Thank you)


We rehearse the same old arguments, because we weren''t involved in the last one. A topic can only be talked about once ever? I get tired of people doing that. "Duh, welcome to last week, we discussed this for 2 hours 10 days ago cuz we are l33t and you are n00b, i rock!" Shut up. WE didn''t talk about it last week, we are talking about it now. You already talked about it? Then don''t jump in. Damn!
quote:Original post by Stonicus
quote:Original post by Cedric
<a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=144667">Why</a> do <a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=89898">we</a> have <a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=112915">to</a> rehearse the same old arguments over and over again?

(I didn''t lack threads; I got tired of it. Moral: Use the search feature. Thank you)


We rehearse the same old arguments, because we weren''t involved in the last one. A topic can only be talked about once ever? I get tired of people doing that. "Duh, welcome to last week, we discussed this for 2 hours 10 days ago cuz we are l33t and you are n00b, i rock!" Shut up. WE didn''t talk about it last week, we are talking about it now. You already talked about it? Then don''t jump in. Damn!

Perhaps there should be a sticky language bashing thread, that way anyone who wants to bash a language can get on their horse there & everyone else can ignore that single thread. After all most of the arguments are the same (x is lower level than y and so more powerful [the order of x & y in this aren''t important...]). Why can''t we at least have a decent argument about the semantics of a language...
quote:Original post by Anonymous Poster
Perhaps there should be a sticky language bashing thread, that way anyone who wants to bash a language can get on their horse there & everyone else can ignore that single thread. After all most of the arguments are the same (x is lower level than y and so more powerful [the order of x & y in this aren't important...]). Why can't we at least have a decent argument about the semantics of a language...


Because people take attacks on their language of chocie personally. Cept for C++ programmers though I find. If you tell a Java guy the reasons why you think Java is not as good as Language X, he takes it personally, as if you're calling him an idiot for going with that language. That's why good discussions are impossible here. But weird though, as I said, this doesn't work with C++ programmers.

C++Man: Hey JavaMan, Java sucks!JavaMan: Screw you you don't know what you're talkin about, you suck! (cries) 

-----
JavaMan: Hey C++Man, C++ sucks!C++Man: (laughs at JavaMan then goes back to work)   



[edited by - stonicus on March 1, 2004 7:37:53 PM]
My take on it:

If you're starting out with programming in general, you may want to start off with either an interpretted language like Python, or choose a relatively easier language (relative to something like C/C++) like VB.NET or C#. The two latter will require you develop on Windows pretty much exclusively, so that may or may not be an issue for you. VB.NET and C# both work with the .NET framework, so for all practical purposes for a beginner, the difference between the two would be your personal preference between the two syntaxes. I can't vouch for Delphi seeing as how I've never used it.

If you know you're going to be wanting to learn C++ no matter what though, then by all means, start with C++. There's nothing totally wrong with learning it as a first language. It's just that if you also are anxious into getting into game programming, then you most likely won't be achieving the results you want as fast. Generally speaking, C++ takes some time for beginners to get the hang of before they're comfortable with it. Then when you go on to learning Windows programming, learning the various types, structures, and functions in the Win32 API is also a little daunting at first. If you're determined, you should have no problem with it though.

No matter what language you choose to learn first, though, just remember not to get your mind too locked into that language's way of thinking and programming. You'll eventually want to (and have to, if you want to make programming your living) learn more than one language. If you lock yourself into one language's way of thinking, it makes learning a new language harder than it needs to be.

[edited by - MRom on March 1, 2004 7:46:42 PM]
I learned VB first.

I think the most important point in that is that I got to skip the initial "WHY THE **** AM I PRINTING OUT TEXT TO A STUPID CONSOLE?!?!" stage of things and actually start off with something that was fairly interesting, and I actually managed to make an electronic greeting card within 2 months that, while simple, was still pretty flashy (pun intended ).

I learned C++ a couple months later and for the longest time, it was sort of a secondary language. When I first decided to code games, I wanted to do it in VB. I asked my parents to get a game programming book, but to make sure it said it was Visual Basic.

You guessed it. It was C++. Specifically, "Learn Computer Game Programming with DirectX 7.0" by Ian Parberry. I might''ve even returned the book, had it not been for the fact that the final game, Ned''s Turkey Farm was really damned cool. At that point, I seriously began learning C++, as well as DirectX.

Now, I split my time primarily between a VB world editor for Revolution3D and a presently unreleased GPL Counter-Strike similar game. Both are upwards of 10K lines or so. I also have other smaller projects, mostly in C++. I like working in VB now because it''s so damned simple, but I get frustrated a lot, especially with the shoddy implementations of Types (structs for C people) and classes. I''m very fond of C#, much more so than VB, but I can''t afford VS.NET and I don''t like either C# Builder or SharpDevelop, for various reasons. The entire C#.NET system is like VB in regards to windowing and quick application turn around, but without the serious crippling as a language that VB 6 suffesr from.


I don''t know that learning VB 6 taught me anything much about coding past loops, branch statements, and functions, but it definitely took the frustration and pointlessness out of programming that many suffer upon first trying to learn C++. I have, however, seen a lot of VB to C++ converts write absolutely horrendous code in C++. Amongst things I see are no indentation at all, an inordinate amount of goto statements, naive handling of classes, complete misunderstanding of inheritance, etc. I never fell into any of those traps; possibly because I was simply so meticulous about writing clean code, even in VB, that I never wrote goto (except for the dumb VB error handling). VB is(was?) very useful in its own domain, but it''s fading pretty quickly. Personally, I''d say that if you can afford to shell out $100, buy Visual C#.NET and learn that.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.

This topic is closed to new replies.

Advertisement