Quote:Original post by Zahlman
Quote:Original post by lordmenace
Life dream to code a game ^_^.
In that case, please consider the possibility that you do not in fact want to learn C++. There are lots of options out there.
Quoted for emphasis.
Repeat after me, please. You don't need to start with C++.
It is not "better" to start with C++.
It is not "faster" to start with C++.
It is not "easier" to start with C++.
It will not make it easier to get into the industry if you start with C++.
C++ will not let you make "better" games.
Got that? Good, now let me explain.
First, yes, C++ is widely used for professional games for various reasons.
But that doesn't matter. Every good programmer knows more than one language anyway. What you learn in one language can easily be transferred to other languages, and the more languages you know, the better. It'll even make you a better C++ programmer, because your thinking won't be restricted by what features C++ programs typically rely on.
And while this might sound odd, you can start with, say, Python, and then learn C++ afterwards in about the same time it'd take you to learn C++ as your first language. So starting with C++ is not even a shortcut.
Second, learning C++ can be needlessly hard, frustrating and discouraging. It forces you to spend too much time fiddling with weird syntax errors and subtle pointer errors that don't actually teach you anything about programming, but rather takes time away from it. these issues are much easier to tackle if you already know some programming. That is, if you're already familiar with another language. Then you can focus on C++'s quirks rather than try to learn programming *at the same time* as you're struggling with those.
And yes, C++ is the industry standard. But other languages are widely used as well. Python is used for scripting in many games (Civ 4 relies heavily on it, for example). Learning that is valuable too. Don't assume C++ is the ticket to a job in the industry. It isn't. Being a good programmer who knows the tools they use, is a good start. But they use more than just C++.
And last point, you can make great games in any language. Crash Bandicoot was made in Lisp.
In the long term, it doesn't make any difference what language you started with once upon a time. But in the short term, it's a lot easier to get to grips with other languages like Python or maybe C#. They'll get you started faster, meaning you'll be able to see results, and make games faster. And they'll make it *much* easier to learn C++ later on.
Ok, this little pep talk should hopefully have dispelled any of those vague impressions beginners always get that "There's C++ and then there's everything else".
Of course, it's possible to start with C++. Plenty of people have done it before. I'm not arguing that you can't do it. I just want to get rid of the silly notion that you *have to*, or *should* learn C++ if you want to make games.
In the end, the choice is yours though. There are plenty of people here who will help you with any language you choose.
Oh, one final piece of advice. Don't rely on tutorials. Buy a book instead. There's a huge difference in quality.
Good luck. [wink]