[For a Beginner] C++ express 2010 or C++ express 2012?

Started by
33 comments, last by EngineProgrammer 11 years, 6 months ago
For a while I've been wanting to jump into programming but I've always put it off. I want to eventually make a first person horror game - but that is a huge goal. I don't have a very good misunderstanding of engines or any of that... yet. However now I am going to start but naturally I have a big question that a more experience person can probably answer...

*Should I start learning with C++ express 2010 or C++ express 2012? (or something else)
*Any other general advice?


[size=2]I removed the poll. Please see the FAQ. -- jpetrie
Advertisement
You really should consider trying out c# also!

Edited: to remove language war reference that people didn't like.
I'm still leaning towards C++ but why would I want to use C# over C++?
From a beginner standpoint you'll probably not end up using the features in which they differ. Intelliesence is much nice in VC++2012 though.

C++ is great because it allows complete freedom in the style you use. I think it'd be better of C# simply because of this. It's standard library is organised in a slightly odd way (coming from C) but I'd say it'd introduce you into more, faster.

Actually, I learnt way more using NMAKE; but then I'm not sure where you stand in terms of previous experience. NMAKE means you don't generate all those extra files from Visual Studio that detract from what your actually doing. Points out what your actually doing far more.
BinaryPhysics: your name kind of relates to my next question...

How long do you think it takes to make a game like Igneous? a group of students at DigiPen made it (link: https://www.digipen.edu/?id=1170&proj=8713)
It doesn't matter. Just pick a damn IDE and start programming
Um. I'm not totally sure. If you wrote everything yourself from the ground up maybe 2 years? You could cut that down if you started using external libraries like Bullet Physics. Please don't quote me on that figure (it's nothing more than an guesstimate and I would hate to present you with fictional information).

What you want to do is absolutely obtainable but I think it would be a good idea to sit down and look at C++ first. The best piece of advice I ever saw was "know your language". You don't want to be wondering why something won't compile simple because you don't understand what you did wrong with a library function or syntax.

Also if you want to write 'big' projects I cannot rate something like Git (http://git-scm.com) more highly. There's a lot of cool project GitHub too (https://github.com/). A book I own is Game Engine Architecture (http://www.amazon.co.uk/Game-Engine-Architecture-Jason-Gregory/dp/1568814135) which demonstrates the complexity of such systems.

Ultimately I think just starting a language is the best way to go. Learn syntax, learn the standard library, and come up with projects. There's a lot to learn. Don't get distracted or discouraged.
C++ Express 2012 is actually better, but since it's just out you might run into compatibility problems. I would stay with 2010 for a few more months until all libs upgraded to 2012.
C++ as a language is the best if you start to do a real project. It's not the best to learn about programming and object-oriented development methods.
I cannot think of any reasonable justification for a complete beginner learning C++ over something like C#. "Complete freedom" for a beginner = enough rope to hang yourself many times over. There's nothing that cannot be learned faster and easier with other languages without the frustration of the sort of problems C++ can throw at you. Unless you have an academic or professional reason to learn C++ as a first language, I strongly recommend against it.

I cannot think of any reasonable justification for a complete beginner learning C++ over something like C#. "Complete freedom" for a beginner = enough rope to hang yourself many times over. There's nothing that cannot be learned faster and easier with other languages without the frustration of the sort of problems C++ can throw at you. Unless you have an academic or professional reason to learn C++ as a first language, I strongly recommend against it.


Again would I still be able to make good things in C#? I know that I am not going to make an amazing game in a day but I still want to make sure that the language I start with is good.

This topic is closed to new replies.

Advertisement