C++ Books?

Started by
14 comments, last by ChaosEngine 13 years ago
[font="Verdana"]I understand that my 16th birthday is coming soon, on the 19th of April. I'm pretty spoiled about this.. Of course, I want [s]a ca[/s]r programming books. I was wondering if I could get some suggestions, based on this:

[/font]
  1. [font="Verdana"] I'm looking for hands-on, thorough books that teach the essentials to skillful usage of C++. Maybe something from Bjarne Stroustrup, or likewise ? http://www2.research.att.com/~bs/homepage.html[/font]
  2. [font="Verdana"] I want to get into modern computing (threading/concurrency), and learn information about the 'latest-and-greatest' practical C++ programming. C++0x? Boost?[/font]
  3. [font="Verdana"] It would be extremely handy to have books about low level craft. They should explain essential knowledge about parsing, compiling, linking etc. I want to write a special resource compiler which is compatible with GCC/MinGW object files.[/font]
[font="Verdana"]
If you also know of good online resources about these, please let me know!

Thanks in advanced.[/font]
Advertisement
This doesn't quite fit in the categories you requested, but I'd recommend Code Complete [size="1"](2[sup]nd[/sup] Edition). It's one of the books that I really feel took me across the vast chasm from a beginner to a intermediate programmer. It's a great book and teaches proper coding practices, with examples in C++, Java, and SmallTalk - I only know C++, but I understood all the examples perfectly fine. It's a very valuable book - quite probably the most important programming book I've read.
You can go through the book skipping around to the parts that interest you - it's mostly non-linear. I just wouldn't call it 'hands-on', but I would call it a treasure trove of valuable knowledge and wise advice that almost instantly enhances your code as you choose to apply it bit by bit. It is a programming goldmine.
@Servant of the Lord
Okay, I started reading reviews about that book. Thank you for showing me this! It's not at a high price, and it looks great. I'll definitely buy a copy.
For C++:


  • "Accelerated C++" by Koenig and Moo is an excellent first book IMHO. I would recommend this to anyone that wants to really understand what C++ is all about.
  • Followed by stuff from Scott Meyers and/or Herb Sutter.
  • Josuttis' "The C++ Standard Library" is usually the first reference I reach for.



Stroustrup's "The C++ Programming Language" is also a valuable reference, but it might be worth holding off until the new edition comes out as I imagine will it contain content on C++11 features.

For concurrency and threads:


  • "Programming with POSIX Threads" by Butenhof is very good for the learning the ins and outs of nitty-gritty threading primitives. The boost threads API is rather similar to POSIX threads, so it's possible to play along even on Windows, I imagine. But it's probably easier to work through it on Linux or Mac OS X.
  • For higher level concurrency, "Patterns for Parallel Programming" by Mattson et al is rather good, even if it tends to repeat itself a bit.
  • Shavit's "The Art of Multiprocessor Programming" is also good, I'd say. It's rather heavy on theory at the start, but I don't think that's a bad thing necessarily.
edd² already mentioned most of the books that came to my mind when reading your post. You should definitely go for Scott Meyers, "Effective ..." series.

Some further suggestions:

"The C++ FAQ" may be interesting as a further read when you have already learned the basics of C++.

Herb Sutter has kind of a regular column at Dr. Dobbs about threading and concurrency, "Effective Concurrency". Much (if not all) of it is available on the Web. Start here, for example.

The standard read for compiler design is of course Aho, Sethi, Ullmann: "Compilers: Principles, Techniques, and Tools", aka "The dragon book".

Have fun!
Okay, this is what I have chosen so far:

Code Complete 2
http://www.amazon.co.../dp/0735619670/

Effective STL
http://www.amazon.co.../dp/0201749629/

I'm not so sure about the "Dragon" book, but it does look like a good option. I'm also considering this:

A Retargetable C Compiler
http://www.amazon.co.../dp/0805316701/

I don't have Linux on my PC, so the POSIX book wouldn't be the best choice for me. What about edd's second suggestion:

Patterns for Parallel Programming
http://www.amazon.com/Patterns-Parallel-Programming-Timothy-Mattson/dp/032122811

I also looked into Thread Building blocks, but I'm most likely not going to buy it.

Now as I've been browsing amazon.com for good books, I saw plenty of GPU books. nVidia seems to have set a trend with GPU Gems. There's also Game Programming Gems, Game Engine Gems .etc I guess I should pick a game oriented book as well? The first volume of Game Programming Gems looks very comprehensive.

http://www.amazon.co.../dp/1584500492/

EDIT:
I can't be believe this! I forgot to add my regards --

Thank you so much. Keep up the suggestions, and God bless you all,
Ben

EDIT:
Woah.. Game Programming Gems is too expensive. I'm definitely keeping it off the final list. I can ask for about $150 dollars worth of stuff.

current finals ($59) + current considerations ($71) = total of $130

Also, I need to keep in mind that I have limited time to read, so there's no way I'm going to consider everything. However, I'm going to try keeping this topic going until I reach at least $125 of final choices.

EDIT:
Never mind Code Complete as a definite choice. I carefully over-viewed it's content again. I really don't think it's my level. I probably won't get it.

Now as I've been browsing amazon.com for good books, I saw plenty of GPU books. nVidia seems to have set a trend with GPU Gems. There's also Game Programming Gems, Game Engine Gems .etc I guess I should pick a game oriented book as well? The first volume of Game Programming Gems looks very comprehensive.

http://www.amazon.co.../dp/1584500492/


There's nothing particularly special about games programming. It just happens to be more performance orientated than a lot of other software. You can look up many algorithms as the need arises, often on the web, so while I wouldn't want to discourage you from getting something like Games Programming Gems, I'd say your money (or your parents' money ;)) could be better spent elsewhere. For instance, the first three editions (maybe more?) of GPU gems are now available for free online.
All I'm getting is this:

http://www.amazon.com/Engineering-Compiler-Second-Keith-Cooper/dp/012088478X/

And possibly new computer parts.
Cheers!
How much programming experience/knowledge do you have? And what kind of programming are you interested in (e.g. gaming, web, software apps). These considerations may help. smile.gif
zee_ola05, don't worry. I've been programming since I was eight. age 16 - age 8 = 8 years of experience. I checked your profile, and I guarantee that I know much more than you do. Don't take that lightly.

This topic is closed to new replies.

Advertisement