
Below are the Best C++ books which i have handpicked for beginner, intermediate, or advanced.
These books cover a range of topics, but I doubt you would find very many C++ coders that didn't have these books in there collection. However for a more complete list I would suggest you visit the ACCU.
General C++
- Accelerated C++ (Most recommended beginner book) by Koenig [Beginner]
- Modern C++ Design (great book for generic programming and design patterns. Part of the Stroustrup series) by Alexandrescu [Intermediate]
- Effective (and more effective) C++ by Scott Meyers (these are proably the most referred to books on C++ ever. Just about any mailing list or forum, will have a ton of "Look at items XX in Meyers book, it explains the issue" [Intermediate to Advanced]
- The C++ Standard Library by Josuttis [Intermediate]
- C++ Templates by Josuttis [Advanced]
- The C++ Programming Language (Get the "Special Edition" because it come with a cool bookmark ribbon) [Star Trek Advanced]
- Sams Data Structures and Algorithms (out of print so you will have to look, but its an excellent book) [Intermediate]
- Code Complete by Steve McConnell is good, it talks about software developement in general, time management, project design and development, as well as many of the industry trends, and gotchas you might run into. Good for people wanting help on big projects. [Beginner to Intermediate]
- Head First Design Patterns is a good intro book to design patterns (the important ones). Its Java based, but is presented in a way where its applicable to any OOP language. Very good for people who don't want a reference book. [Intermediate to Advanced]
- Design Patterns by Erich Gamma is a good book with most of the patterns you would expect, and is mostly a reference. It comes with 2 built in bookmarks (cloth ties) and is hardcover. Its really great, written for C++. [Intermediate to Advanced]
Data structures and algorithms
- Algorithmics: Theory and Practice, Gilles Brassard, Paul Bratley. A nice book to start with, though it does cover some pretty advanced topics. (I couldn't find the original 1988 book that I read.. I believe the book in the link is the newer version of the book.)
- Introduction to Algorithms: A Creative Approach, Udi Manber. Another excellent algorithm primer. Very well written, with some good exercises.
- Introduction to Algorithms, Second Edition, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein. A nice and in-depth book.. Very complete with over 1000 pages (though the basic stuff is only about maybe half of that or so). Used as a standard course textbook in universities all over the world.
- Design and Analysis of Algorithms, Jeffrey D. Smith. Nothing terribly special about this book, but I read it and it was an OK book.
- The Art of Computer Programming, Donald E. Knuth. This is THE BIBLE of data structures and algorithms. So far 3 volumes have been written. Knuth has said that he intends to write 7 volumes, but it doesn't look like the other 4 will be coming out anytime soon. (The first three were first published almost 30 years ago.) This is a very complete book, but difficult to plow through. Most people just use it as a reference.
Windows API
- Programming Windows by Charles Petzold (This is "THE" book on Win32 API) [Beginner to Intermediate]
- Programming Windows with MFC by Jeff Prosise (the MFC version of Petzolds book) [Beginner to Intermediate]
Game Programming and Design
- Data Structures for Game Programmers by Penton (The only book worth buying in Andre LaMothe's Game Dev series) [Intermediate]
- Programming Linux Games from No Startch Press (I believe you can download this one for free now, with the exception of the OpenAL code not working, because OpenAL is a mysterious force that changes from day to day and is impossible to program) [Beginner]
- 3D Game Engine Design by David Eberly, and it's pretty decent. It doesn't go into "design" as much as a true engineer would in terms of key concepts, design choices and tradeoffs, but he does go into maths and concept pretty well, though concrete examples are a bit lacking now and then. The chapters on scene graphs are a bit glossy. [Intermediate to Advanced]
- Programming Vertex and Pixel shaders by Woflgang Engel is pretty good though, if you're into that sort of thing. some great stuff at the end [Beginner to Intermediate]
- Game Coding Complete is a pretty good book, it is a lot more in depth into the business side of games than any other book I've read. The books webpage is very good too, the author regularly answers questions you have, he is very helpful. [Intermidate to Advanced]
- 3D Game Engine Programming, though I haven't read through the whole thing yet, is shaping up to be good, they take you through shaders and all that jazz, really good if you're looking to write a 3D engine. [Intermediate to Advanced]
Simple Direct Media Layer (SDL)
- Focus on SDL (good API reference book for SDL) [Beginner]
DirectX
- DirectX 9 Graphics by Alan Thorn is a good intro level to DirectX, how to isntantiate your device and do a few basic things with direct3d. Good examples, a little math in the front (so you know what is going on with matrices), and then some useful classes. Assumes you are fairly comfortable with Win32 (instantiating a window and such). Goes over the basics of rendering in D3D pretty well. [Beginner]
wxWidgets
- Cross-Platform GUI Programming with wxWidgets (the only book to chose from.. but it's not too bad) [Beginner]
Qt
- C++ GUI Programming with Qt 3 (I'm sure a 2nd edition has been or will be released to cover Qt 4) [Beginner]
No comments:
Post a Comment