
The Definitive C++ Book Guide and List - helwr
http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
======
saw-lau
Somehow I got hold of a link to Yossi Kreinin's 'Frequently Questioned
Answers' (<http://yosefk.com/c++fqa/index.html>) - probably from HN, actually;
so I felt duty-bound to add it to SO's C++ Tag Info
(<http://stackoverflow.com/tags/c%2b%2b/info>; awaiting moderation).

(From a former C++ lover who is now much more comfortable programming in C
again...)

~~~
blub
I have read this FQA when it first appeared and I didn't find anything
noteworthy in it (except the author's bias and visceral hate).

This is empirical (HN, reddit), but I've noticed that people who recommend the
FQA usually have a poor understanding of C++.

~~~
saw-lau
While I don't claim to be an expert (I haven't used C++ for the last six or so
years, and I only have about five or six years experience in using it), I'd
like to think I have better than a 'poor' understanding of it.

Interestingly for me, when I read the FQA last week for the first time, I
didn't find anything noteworthy in it either. It basically resonated with me
as more of a series of well-argued (IMHO) 'things that I always knew but had
never really attempted to explain' statements.

The author is, of course, biased towards not promoting the language; and I
guess I've gone down that road, too.

------
TillE
If you're basically familiar with C++ and want one good book, Effective C++ is
the way to go. Quite simply, it teaches you how (and why) to write good,
idiomatic C++ code, one rule at a time.

~~~
mx2323
completely agree.

read it when you start c++, then read it 6 months later. it will feel like you
are reading a completely different book :)

------
monk_the_dog
When I was learning C++ I subscribed to a _great_ magazine called the "C++
Report". I first read about expression templates and template meta-programming
in that magazine (Todd Veldhuizen's articles on Blitz). I blew my mind that
people could use templates that way. Too bad it took many years to get my
hands on a compiler that could actually handle templates well enough to use
those techniques :-)

I'm not necessarily recommending reading those articles today - they are
pretty dated. Still, it was wonderful to read about the techniques as they
developed.

------
d0m
You know what is sad? I've read them all before I knew there were _other_
programming languages! I say it's sad because the time spent reading that -
thinking that would make me a better programmer - was wasted as I could have
learned higher level languages. Still, from time to time in my life, when I
need to get a C+ job done, it helps to be able to understand it. Also, it
helps in interview questions where they seem to pick question from effective
or exceptional ;)

~~~
raz0r
You say funny things. Not everything can be built with high-level languages.
Some people work on operating systems, others on database systems, etc. So
stop this nonsense, I have some breaking news for you: not everyone writes web
applications these days.

~~~
tomjen3
Couchdb is written in Erlang, which also powers a 3d software program. Java
with a jit compiler is as fast as C++ for digital signal processing.

And ocaml is considered faster than C++, Stalin can compile Scheme to faster
than c.

~~~
raz0r
Both Erlang VM and HiPE are written in C, which powers.. The point is not who
powers which software program, the point is that you cannot write operating
systems and drivers in Java. I hope you realize that Java gets run inside a
vritual machine. And so is Erlang. Also C and C++ power a number substantially
bigger than "a 3d software program", if you want to put it like that, which
isn't the point..

~~~
tomjen3
A virtual machine means nothing. There exists chips that natively run Java and
you could in principle run x86 on a PPC with a suitable virtual machine.

And realtime Java does allow you to specify drivers.

The Symbolics Lisp Machine ran everything in Lisp, top to bottom.

------
mx2323
once you've read these books, take a look at altdevblogaday.org

they have daily blog posts from excellent game developers.

although i'm not a c++ game developer, i do use c++ and i take a lot of
inspiration from the techniques that they talk about on that site.

