learn C or C++ ??

Started by
43 comments, last by Promit 16 years, 7 months ago
i am thinking about learning even though i know very little of them. but, i don't know which is better ? by being better it may depend on my purposes. however, i would like to hear from others. thx.
Advertisement
Most likely neither. What languages do you already know?
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Probably neither of those. No one can give you a sensible response to that unless you tell us what your goals are however.

- Jason Astle-Adams

Quote:Original post by Promit
Most likely neither. What languages do you already know?



hm... matlab.. please don't laugh out loud...

i do know a bit C/C++.
Quote:Original post by Kazgoroth
Probably neither of those. No one can give you a sensible response to that unless you tell us what your goals are however.


something i will need to work in the industry. more specifically, computer networks, communications, telecommunications and whatnot.
You will need many different languages to work in the industry. I'd pick one of C#, Java, C++. Probably in that order... but you will have to keep learning new languages as you go (this is not as big a deal as you think, once you know a couple its not much harder than learning a new API)
Go with C++. If you learn C++, you will automatically learn C as well.

Furthermore, it is very important that you choose an object oriented language, as that is what is used in the industry. Once you know one of the OO languages, it is fairly easy to learn the others.

C++ is the most difficult ones of the three (C++, C#, Java), and when you master C++, you will find it very easy to learn C# and Java. The opposite will not necessarily be the case.
C++ is still the most used language in the industry (actually it is almost exclusively used in the industry), so IMO it will be the most valuable for you of the three, if you wish to work professionally with it.

If your choice stands between C and C++, there is no doubt that you have to choose C++. It becomes a bit more fuzzy if you can choose among all three OO-languages.
Quote:CalvinI am only polite because I don't know enough foul languageQuote:Original post by superpigI think the reason your rating has dropped so much, Mercenarey, is that you come across as an arrogant asshole.
Quote:Original post by Mercenarey
Go with C++. If you learn C++, you will automatically learn C as well.


Not true. The languages are completely different. If you "know C" by "learning C++", you either haven't learned C++ at all or you will get a nasty surprise trying to write non-trivial C programs.


Quote:
C++ is the most difficult ones of the three (C++, C#, Java), and when you master C++, you will find it very easy to learn C# and Java. The opposite will not necessarily be the case.


"When you master C++". This could take a very long time. It is arguable that onemight spend less time learning C# first then moving to C++.

Quote:
C++ is still the most used language in the industry (actually it is almost exclusively used in the industry), so IMO it will be the most valuable for you of the three, if you wish to work professionally with it.


This is true.

Quote:
If your choice stands between C and C++, there is no doubt that you have to choose C++. It becomes a bit more fuzzy if you can choose among all three OO-languages.


Just to note: there are many, many more object oriented languages than the 3 you have mentioned.
Which other than those three do you want to use for game development?

Sure, it may be possible, but Im not writing a thesis on OO-languages here, Im giving advice on game development.

As for C and C++: I agree, there are alot of tricks that you would use in C, that a good C++ developer would never use (although he could). When reading C code, I have been very surprised at seeing stuff I had never seen before, or thought was at all possible.

However, when that is said, I believe that learning C++ would give you a sufficient level in C to build on. You won't know every trick in the book, but you will have a very solid foundation. The rest you can look up as you go IMO.
Quote:CalvinI am only polite because I don't know enough foul languageQuote:Original post by superpigI think the reason your rating has dropped so much, Mercenarey, is that you come across as an arrogant asshole.
Quote:Original post by Mercenarey
Which other than those three do you want to use for game development?

Sure, it may be possible, but Im not writing a thesis on OO-languages here, Im giving advice on game development.

As for C and C++: I agree, there are alot of tricks that you would use in C, that a good C++ developer would never use (although he could). When reading C code, I have been very surprised at seeing stuff I had never seen before, or thought was at all possible.

However, when that is said, I believe that learning C++ would give you a sufficient level in C to build on. You won't know every trick in the book, but you will have a very solid foundation. The rest you can look up as you go IMO.


I do realise this, most of what you say has a lot of truth. But not for beginners. In fact if this wasn't the "For Beginners" forum I probably would not have replied like that.

I believe beginners do themselves an injustice by trying to learn C and C++ first. Python is an OO language that can be used for game development. You might not be writing Doom 17 and Quake 42 in it any time soon, but for a starting language it is more than adequate. The types of games people write while learning game programming tend to be retro 2D game clones, not AAA blockbusters.

There are enough pitfalls in starting programming and game programming already without adding "undefined behaviour" to the mix.

This topic is closed to new replies.

Advertisement