[READ] I want to learn C/C++.. But where do I begin?
A lot of people have been asking this question, and thats what this forum is flooded with. I was hoping to come into this forum and see a little bit of knowledge passed around; however, it hasn't been. So, since I have nothing better to do at the moment, I decided to compile a list of very helpful resources. Both from my own personal favorites as well as a few given from gameuser.
To start with, what do you want to use C/C++ for anyway?
If you want to start writing games, you're definately a far cry away from that. However, it wouldn't hurt to start now because it will take you time to learn anyway.
Game design/programming - To begin there have been a lot of suggestions by people, and the ones I consider reliable are real game programmers. From what GameDev.net, as well as a few programmers from Blizzard Entertainment have told me. They say your better off by just learning C++, mainly because that is the primary language for the graphical libs; DirectX, OpenGL, SDL, etc. However, it is true that C++ is a superset of C.
Also it has been recommended that before you get into DirectX and OpenGL kinda stuff, that you have a good undertanding of the Win32 API first, you don't need to know every little detail but it helps.
But lets get the party started by sharing a few very good C/C++ sites with extremely useful tutorials:
--- ALWAYS BEING UPDATED ---
Will be updated with more information, when information is found, or someone suggests a good link.
[Books]
The C Programming Language - Kernighan and Ritchie - [Only registered and activated users can see links. ] - [Only registered and activated users can see links. ] [Only registered and activated users can see links. ]
The C++ Programming Language - Stroustrup - [Only registered and activated users can see links. ] -
Starting Out With C++: Standard Version - Gaddis - [Only registered and activated users can see links. ] -
The Geometry Toolbox for Graphics and Modeling - Gerald E. Farin, Dianne Hansford - [Only registered and activated users can see links. ] -
Programming Windows, Fifth Edition - Charles Petzold - [Only registered and activated users can see links. ] -
Essential Mathematics for Games and Interactive Applications, First Edition : A Programmer's Guide - James M. Van Verth, Lars M. Bishop - [Only registered and activated users can see links. ] -
[Newbie/No Programming Experience] [Only registered and activated users can see links. ] -- Most commonly posted site for tutorials, decent in my opinion. It gives you a very quick and broad overview of the language. [Only registered and activated users can see links. ] -- Decent beginners tutorials. However, like most books they use a lot of computer terms. [Only registered and activated users can see links. ] -- Great site with lots of tutorials for all skill levels, when it's up that is... [Only registered and activated users can see links. ] - Same thing that GameTutorials.com was doing for free until they started charging you for the tutorials. The great part about this is you get them for FREE! [Only registered and activated users can see links. ] - Numerous tutorials that range from good to bad, and skilled to newbie. [Only registered and activated users can see links. ] - Links to a LOT of other tutorials that are not yet listed here. [Only registered and activated users can see links. ] - Site titled "Learn C++ in 21 Days"
[Intermediate] [Only registered and activated users can see links. ] -- Decently written OpenGL tutorials, lacks a bit of function definition but good overall, and highly linked to. He has bad coding habits, so don't copy and paste the stuff, just use it for learning. [Only registered and activated users can see links. ] -- Once you've learned to program, you should start developing a good programming style so other programmers dont have to decode what you're trying to say. I agree with 80% of this document, so just use it as a guideline. [Only registered and activated users can see links. ] - Very well written tutorials, they have a LARGE variety of them as well. Most of them are in the Demos section, they will be adding articles soon! [Only registered and activated users can see links. ] - Good reference for OpenGL Functions, similar setup to manpages. [Only registered and activated users can see links. ] - Great site, full of content, and explains OpenGL VERY well. [Only registered and activated users can see links. ] - More technical than the red version, and again LOTS of content. [Only registered and activated users can see links. ] - Contains a lot of links to informational pages on the selected subject. [Only registered and activated users can see links. ] - NEWLY ADDED - The DirectX version of NeHe's tutorials. [Only registered and activated users can see links. ] - An interesting way to teach OpenGL, havent tried it but I will soon. It's tutoring application that visually teaches you the library. [Only registered and activated users can see links. ] - Great DirectX tutorials, however he uses a wrapper to teach you how to use them. So it's definately not a good way to learn. [Only registered and activated users can see links. ] - NEWLY ADDED [Only registered and activated users can see links. ] - Decent place to get started on DirectX or OpenGL, coding by example, usually a bad way of learning, but thats why it's in the advanced section. [Only registered and activated users can see links. ] - DirectX 8 Tutorials, however they are decently written. DirectX 8 was the last version to using the old fasion BitBlt() function. [Only registered and activated users can see links. ] - MSDN is ALWAYS a bookmark, and should be for ANY programmer. [Only registered and activated users can see links. ] - OpenGL.org has a lot of resources, very helpful for OpenGL ofcourse. [Only registered and activated users can see links. ] - OpenGL tutorial that uses Language C. [Only registered and activated users can see links. ] - A LOT OF TUTORIALS! [Only registered and activated users can see links. ] - NEWLY ADDED
[Advanced] [Only registered and activated users can see links. ] - Good tutorials, and very technical. [Only registered and activated users can see links. ] - A lot of topics are discussed here, very informational. [Only registered and activated users can see links. ] - NEWLY ADDED - This one varies on skill levels, lots of advanced stuff here though. [Only registered and activated users can see links. ] -- Programming as a profession? Want to keep your job? This documentation will help you write unmaintainable code, so if they fire you. They will have one hell of a time trying to figure out your code.
[Video Tutorials] * I don't really think video tutorials teach a beginning user much, but some people might be able to learn from them. So, I decided to add this section to the list. * [Only registered and activated users can see links. ] - Video tutorial that is split into 16 parts. The guy has a UK Accent, and is not entirely boring to listen to. Submitted by kratos15
[C/C++ IDE's] - NEWLY ADDED [Only registered and activated users can see links. ] - Popular free IDE for both *nix and Win32 [Only registered and activated users can see links. ] - Another popular free IDE recommended, also if you plan on using this don't forget to download the [Only registered and activated users can see links. ] [Only registered and activated users can see links. ] - The famous Java IDE can also be a C/C++ IDE with a somewhat simple plug-in installation
[Graphic Libraries] - NEWLY ADDED [Only registered and activated users can see links. ] - A great large listing of game hacking tutorials. Including tutorials on creating trainers in C/C++ as well as a few other hacks.
*** There is a variety of Game/Graphic Developement Engines and Libraries, I will just list a few that I have found ***
A lot more to come!
[Graphic Libraries] [Only registered and activated users can see links. ] - Simple DirectMedia Layer (SDL) - Quick and easy to learn 2D Library, that also works very well with OpenGL [Only registered and activated users can see links. ] - Allegro - A lot like SDL, but not as "clean" as SDL
[Game/Graphic Engines] [Only registered and activated users can see links. ] - Object-oriented Graphics Rendering Engine - 3D [Only registered and activated users can see links. ] - Irrlicht Engine Open Source - 3D [Only registered and activated users can see links. ] - Some what a library and somewhat an engine - 2D
Re: [READ] I want to learn C/C++.. But where do I begin?
Nice compilation.
I would suggest adding some links to free, open-sourced game engines, such as Irrlicht and even Ogre3D, since I see you already added links to game tutorials and resources.
And if you need a reason to add them, most sites will have documenation on how to use the engine, so it's a educational, self-taught learning experience.
Edit: Here are some links:
[Only registered and activated users can see links. ] - Irrlicht
[Only registered and activated users can see links. ] - Ogre3d