GameDevMich
Honored Hero
I am currently in college or 6th form we uk people call it, anyway am not 100% sure yet but I am very much looking towards something game related at uni, and over this summer I have started learning the basics of C++.
Q1: Out of the "C" languages is C++ the most useful language?
Q2: Do you happen to know any good free compliers I can use to pratice my skills, and maybe C++ tutorials? I already know a couple of tutroials but I was wondeirng if you recommand any.
Yay! Back to coding topics. It's good to hear you are thinking of pursuing games. There are definitely less stressful and higher paying engineer jobs out there, but none of them are as fun and challenging as game development. You are in for a ride.
Q1: It depends on what you are creating. If you are creating tools for Windows, the top choice right now is C# and WPF. C++ developers hate it, due to the layers of abstraction and paradigm shift. Rather than a traditional approach to programming, Microsoft adopted Model View View Model (MVVM) for WPF. When I first read up on it, my brain hurt. Once you wrap your head around it, the pearly gates of rapid prototyping and advanced tools development open. A major flaw is that you lose cross-platform capabilities. If you want to create tools for multiple platforms, you will need to select a different system like QT.
If you are more interested in creating games (instead of tools), this kind of topic has resulted in many epic flamewars on other forums. "May language is better than your language for ___ reasons." I tried to illustrate this on the first page of replies. There is not one useful language that rules them all. You have to pick fits your needs.
Need to create a tool for OS X: Objective-C using the Cocoa framework
Need to make game for iPhone: Objective-C using the iOS SDK
Game for Xbox Live Indie and PC: C# and XNA framework
Game for all major platforms: Usually C++ with some kind of helper like a Javascript interpreter or Mono.
I could keep going. C++ is pretty much the go-to language for the serious projects that need full control of a system. Unlike C#, you have to manage your memory. This means allocation, pointers and a wide range of other topics. C# takes a lot of that burden off your plate and lets you focus on the structures of programming. I've become a huge fan of Objective-C and C#, due to their reflective nature and fun concepts that C++ doesn't support. I still work with C++ daily, but I also work with the other languages depending on a project.
Q2: Yup! If you are on Windows, use Visual Studio Express. Microsoft provides it for free and the current version is 2010. They provide VS Express C#, Visual Basic, C++ and more. If you are on OS X (Mac), you can get Xcode for free as well. In fact, you MUST use it for OS X or iOS applications. Apple doesn't give you many options, but what they do provide is pretty solid stuff.
As for tutorials, there are thousands. I honestly do not know where to begin with tutorials. Your first stop for C++ should probably be MSDN, which is Microsoft's developer documentation. It should get you going pretty well. I'm still a big fan of books, since you can take those with you anywhere and continue to learn. I always push the Read. Read Code. Code agenda, so books are essential to my learning.