New to c++ and game programming: What books in what order?

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • New to c++ and game programming: What books in what order?

      I am a recent engineering (computer systems) grad and did most of my programming in C# with some classes in ASM (mainly PIC programming), LabVIEW, VHDL, some ladder logic for PLC's, etc. I want to do game programming professionally and would appreciate some pointers (:P) to which books to read and in which order. I have "more" time to burn as I'm currently working part-time at the university where I graduated.

      I started out with the c++ language tutorial from cplusplus.com. I then worked through "Beginning C++ Through Game Programming, Second Edition" by Michael Dawson. I then started reading GCC3 and feel that before going deeper into the book and topics I need a better working knowledge of c++.

      In chapter 3 of GCC3 (page 81 to be exact) there is a list of recommended books for further reading. Now, I'm not intimidated by reading, but I'm unsure where to start with the list. I saw on the amazon listing for "Thinking in C++" by Bruce Eckel that a reviewer suggested reading "Accelerated C++" and then the book by Mr. Eckel. The reviewer (Don Kim) argued that reading the books in that order helped him "get it". Now I haven't reached the "get it" moment and would very much like to :P He also suggests this is a good ordering for people familiar with other languages wanting to learn C++.

      If you agree with reading these two books and in that order, in what order do you think the other books in the recommended reading list should be read?

      Obviously game programming is so much more than just a couple of books on C++, but I need a firm grasp of the language since its what I want to do in the industry. I also need to be able to demonstrate my skills before I have any chance of being employed.

      Btw. great site and great book... :)
    • RE: New to c++ and game programming: What books in what order?

      When i started out learning C/C++ i found the Deitel & Deitel How to program in c++ to be very good. Ive used mine so much its falling apart now. I would go for the latest edition in that.

      You are not going to like this but for now the most important thing would be to learn C++ for a few months before you start coding games. Write a few small things like an xml parser or maybe a text based game if you feel able. Boring i know!

      When you feel more comfortable with the language and using compilers, etc. then you could try Scott Meyers books (Effective C++ and effective STL, etc.) They are really fantastic. Once you are comfortable with all that youll be ready to go through games coding complete! Hope that helps.
    • Hi, I signed up at this forum just to deliver a condemnatory mention of the Deitel & Deitel book! No offense, but I tried reading it while fairly new to C++ and have rarely seen a programming book I disliked more (well, except for my Java text in college, maybe). This was years ago (4th edition), but even so, I'd advise you to scan it carefully before you purchase.

      You might want to pick up an old edition of Sams Teach Yourself C++ in 21 Days or C++ Programming Fundamentals or something like that just to get the ins and outs of the language, then do a few small projects to learn by doing, and once you have a couple months' experience with the language, try books like C++ for Game Programmers (the edition by Llopis is quite good; I haven't read the second edition by somebody else) and C++ Common Knowledge for somewhat general yet applicable knowledge. Thinking in C++ and its sequel are very informative but take forever to get through; it depends on your learning style.

      The STL is an essential component for C++, so pick up a good guide on that if you find the online material inadequate: many such tomes are more suited to reference material than casual reading, but a lot of other books touch on it tangentially and Effective STL and the niche of books like it by Meyers, Sutter, etc. are worth a look. (Meyers' Effective C++ is also highly regarded, though I've never read it.)

      I'd also recommend some eventual study of Boost because it's basically the second STL, and parts of it are even going into the new C++ standard.

      The post was edited 2 times, last by mysign ().

    • Thanks a lot for the replies.

      @pjohalloran - I know my way around VS, Eclipse and Netbeans so it's just the c++ that I need to focus on. I agree I need a lot more practice in c++ before I even think of tackling game programming. I'll take your advice and focus on writing a few projects (maybe stuff the university need) to get me comfortable with the language and then take it from there.

      @mysign - Thanks for registering to comment :) The Accelerated C++ book is similar to the ones you mentioned and I have access to it at the University. I think I will work through that. I agree with what you said and will focus on some general projects, maybe stuff I have done in c# or java already to get the hang of things. I also agree that the Thinking in C++ series can be quite intimidating at 800+ pages each. As to your comments on the STL and Boost. I will definitely get good reference books on those. I have a good understanding of containers and how they work so most of the STL things I've encountered so far I understood.

      Thanks again guys. Really appreciate it.
    • "The C++ Programming Language" by Stroustrup is a good book to have on your desk when coding C++. I wouldn't recommend reading it cover-to-cover (unless you have trouble sleeping at night), but you'll want to be familiar with where to find answers to questions you run into.

      "Programming Windows" by Charles Petzold is the reference for starting Win32 programming. I believe the newer editions use C#, so you'll want to find the last edition that still uses C++.

      "Effective C++", "More Effective C++", and "Effective STL" by Scott Meyers are must reads.

      "Exceptional C++", and "More Exceptional C++" by Herb Sutter are also must reads.

      The order of reading is really dependent on your skill level. If you are semi-comfortable with C++ syntax and constructs (e.g. templates, functors, etc.), I'd start with "Programming Windows" to get your feet wet with something practical, and then go into the Meyers books to fix any bad habits you picked up during your experimenting.
    • Other books

      "Professional C++" was a pretty good read for me. Stroutstrup's book is good and a great reference but it seems just so unorganized. I also enjoyed Ivor Hortons "Introduction to Visual C++ 2008". Look into his 2010 one. Gonna have to look into the Scott Meyer books and volume 1 of "Thinking in C++". "Programming Windows" is an excellent read but I would first get some firm knowledge of C++ before diving into it.
      Don't give me advice, I can make mistakes all on my own.
    • I went through Sam's Teach Yourself C++ in 21 Days to start learning C++, and I think it's as good as an intro to C++ gets. Just periodically USE the material as you go through. I made at least one program per chapter in order to practice the material.
    • While it isn't for everyone out there, I actually enrolled in the O'Reilly School of Technology's online C++ course to learn the basics of C++ programming, and I have found it to be very informative and enlightening, also, "C++ in a Nutshell" is an invaluable reference that I use all the time.