Quote:Original post by whitinQuote:Original post by Ikana
I don't know how old you are, or any other circumstances about your situation, but you say that you are getting discouraged, and so I can share my own experiences, hoping that they will help you.
I started programming when I was about 12. My first language was qbasic. After a couple of months of that, I decided to jump right into C++. It really wasn't an informed decision, and I really didn't understand that it would be hard. The only resource I had to learn from was one of those "Learn C++ in 21 days" books. I quickly got discouraged, believing that I was too stupid to be a programmer, and quit programming for years. What I did not understand was that programming is hard. It takes years to become good at. It takes patience, hard work, and perseverence. If you are interested in being a programmer, don't make the mistake of quitting just because it's hard. Quit because you don't enjoy it, or you aren't interested in programming, but not because it's hard. I found out years after I quit that I *do* want to be a programmer after all. I cringe every time I think about how talented I would be if I had just persevered. Don't make that mistake.
Sorry, you seemed to just look at the word discouraged and programming. I mean that I am getting discourage in learning C++ instead of C#. Mainly because I am only 15, just going into 10th, and C++ may not be the standard for game programming by the time I get out of highschool. I was wondering if I should just learn C# now or C++.
Whether C++ will be the most commonly used when you're out of highschool or not is really quite irrelevant. The reason is that the job of a programmer is not to excell in the "industry standard" language, but to be able to adapt quickly and efficiently to new languages.
Remember, you're not a "C++ programmer", but a "programmer".
And besides, it's unlikely you'll be getting a programming job right out of highschool. Chances are you'll have to get a degree in computer science or an equivalent. So you've probably got about seven years to go until you can start working. And in seven years so many things will have changed it's best not to worry about it at all, and just learn what you can.
<edit>
To stay on topic, I recommend C++ over C# for several reasons, none of which are speed. First, it's multi-paradigm and doesn't force OOP, which can be mind-bending to beginners.
Second, it exposes the programmer to things such as memory management, which you're protected from in garbage-collected languages like C#. This is good because you have no guarantee you'll be working with a garbage collected language when you get a real job. In the case you aren't, and you never learned how to cope with memory problems, your pretty much out of luck.
Third, there's a lot of good third-party game development libraries for beginners out there already for C++, most notably ClanLib and SDL.
</edit>