I see.. So basically i should start off with C# But then definetly move over to C++ ? And i was talking about the game developing market
Also what i also hear is that C++ is getting outdated with its tools and C# Its more up to date. Is it true ? If so, why do companies still use C++ ?
What is happening is that C# was founded by a team which took the features that they liked best from C, C++, and Java, while elliminating or modifying the way some are implemented to their liking. Now keep that in mind. Fundamentally, C# is based on similar programming concepts as C++ and some other major languages. Once you take a close look at C# and C++, then you will be amazed and delighted at how similar they are. The C# is like a younger brother or sister of C++. None of the most common languages are outdated! None of them will be for a long time. Even Java and C are used in many applications, including games. None of these major languages is neglected or dying! They are all actually being improved directly or through extensions. Hopefully this puts your mind at rest on any of these languages.
The main reason why so much game programming is being done now in C++ is because many veteran programmers started on it before C# was even created. They are the "baby boomers" of the gaming world. The next baby boom involving C# will come in due time once they grow to maturity in their careers, too.
Now as for C#, it is being improved in dynamic writing, object oriented script, and so forth - the way object oriented languages in the forefront are. The C# is evolving and could very feasibly go from being a second consideration for AAA game development to the number one spot - no one knows at this point, but it looks good. As a matter of fact, there has been a lot of commercially sold games based on C# and perhaps another language used with it in recent years, though C++ reputation is on top right now.
Other good language choices for beginners are Java, Python, and a few others, so please take a second look at them, too, as some AAA games have been made using them in recent years.
The crucial thing is that programmers keep any language in demand and competitive based on their skill and effective results. That is why we see many languages being used or combined in creating games. Added to that, the wide variety of game types and artist works in them make it even more obscure about which language is the best overall. There really is no best overall language because of this variety of needs in game development.
Creating a game engine is generally far more work and complicated than merely creating a game! People have spent years to make a single AAA quality game sometimes and much more to create a game engine. I know someone who has been working on his game engine for about 15 years and is only now seeing the light at the end of the tunnel toward releasing his game. He is an expert C++ programmer, 2D, and 3D artist. Its an extreme example and most developers will have their system done much sooner, but this gives you an idea about that mountain which you want to climb.
I would recommend that you choose a language which is easiest for you to learn, has a system in place called a game engine, and is surrounded by a supportive community. For almost all beginners, trying to leave the beaten path will likely only result in getting lost in the jungle. Someday you may become a trail blazer, but until then we suggest taking the well proven course through novice and intermediate growth already established. You will save years of time, get better results, and enjoy it much more.
Edited by 3Ddreamer, 04 October 2012 - 10:02 AM.