Forum Chat


Mar23,13:31 Johan Marechal
Wees gegroet
Sep20,17:50 Vicente Duque
Kim, Martin, Others :...
Jul07,11:10 Johan Marechal
PGP 9
Jul05,21:13 martin
Fastest in the bush
Jul05,07:48 martin
Spamdexing
Jun28,21:16 martin
New domain / new blog!
Jun28,21:11 martin
On posting etiquette
Book Reviews: C++

Accelerated C++, Koenig-Moo

May 19, 2004
Addison-Wesley, 2000
Koenig and Moo did an experiment here. Exactly what I was asking for in my review of Effective C++ below. If that doesn't prove that everyone reads my reviews all the time, I don't know what does. The thing is, you can actually learn C++ from the STL side first and only get to memory allocation nits as an advanced subject. And that's how this book is built up. Personally, I'm sure this approach is better, but I'd love to see it tried in real life on an experimental batch of innocents. (Added 1/2002) (No comments yet)

Effective STL, Scott Meyers

May 19, 2004
Addison-Wesley, 2001
The next STL book and the next Scott Meyers book, so it's a certain sell. As I'm getting more into STL, I'm also getting more into the design problems it can solve and the ones it can cause. I'm still running into problems doing polymorphic containers right, that is having different objects derived from a common base kept in containers in a standard way. This book touches upon aspects of that problem but doesn't really give me the solutions on a platter. Maybe there are no pat solutions, but knowing Meyers, he would have said so if he thought so. This book is a little bit less perfect than his previous two books on C++ (see below), but it's still a definite read. Even though it feels a bit padded at times. I'm sure he'll bring out a sequel ("More effective STL" is the obvious name) which is bound to fill the gaps. (Added 9/2001) (No comments yet)

The C++ Standard Library, Josuttis

May 19, 2004
Addison-Wesley, 1999
I've been working my way through the books about the standard library and they keep getting better. This one is my current favourite. The real test is if I can find what I'm looking for quick enough to muffle my screams of agony. Josuttis has kept me quiet so far. I even actually truly and incredibly found how to overload binary output stream operators in no time flat! After forgetting it again for the two-millionth time. (The secret is on page 653: use template <class charT,traits>... std::basic_ostream<charT,traits>&...) Yeah! Yo, yo! I read this book everywhere. (You would not believe where I just had to go look for it to write this review...) Anyway, it covers the STL too, of course. (No comments yet)

Exceptional C++, Sutter

May 19, 2004
Addison-Wesley, 2000
Another "items" book. I like the format. It's based on that once you have a round number of cute ideas, you number them, rate them, bundle them and publish them. The round number in this case is 47. The emphasis is on namespaces, name resolution and overloading on the one hand, and on exception safe code on the other. I learned a number of new things here and highly recommend the book. It's thin (almost 200 pages) but not too thin. It's a bed-and-bath read. (No comments yet)

Ruminations on C++

May 19, 2004
Koenig, 1997
This one makes for a soft start into iterators and STL containers. It also covers the basics, and especially the need for adaptors, function objects and more of that ilk. This is a "straight read" book. Very readable, too. (No comments yet)

The C++ Programming Language, 3rd ed.

May 19, 2004
StroustrupThis one is also a member of the "certain-to-wear-out" group of books. Actually, it is worn out. I keep it spine down since the pages tend to fall out. I'm planning on keeping it in a bucket if things deteriorate further. I go to this one first when looking for suitable STL containers to use. But I must admit I find it very hard to find all the members of STL containers in an organized way in here. But at least I find them, and that's quite useful in itself. It's also the neatest place to find out in which header files the different parts of the STL can be found (Mickeysoft f*cked this part up totally in the online Visual Studio help; probably on purpose). (No comments yet)

STL Tutorial and Reference Guide, Musser

May 19, 2004
Addison-Wesley
Very well organized reference manual. It should be very useful, but I find myself getting very stressed out everytime I need to find something in a hurry, and usually end up grabbing Stroustrups book with clammy hands before giving Musser much of a chance. Lately, I'm reaching for Josuttis instead. The book, I mean. I do keep trying to use it right, though, and won't give up just yet. It's probably me, not the book, that's doing something wrong. (No comments yet)

Advanced C++ Programming styles and idioms, Coplien

May 19, 2004
Addison-Wesley
The so-called "LSD" book. It's weird. It's heavily into 'placement new' operations. The one thing that keeps coming up in my head from this book is the way an object can rebuild itself in the original location. This is a very useful object factory operation, but I haven't used it yet anywhere. Especially since everyone seems to don't-try-this-at-home us about this book. It's a classic, however, so read it if you can lay your hands on a copy (and, no, the cover doesn't look like that, but a catscan happened). (No comments yet)

The design and evolution of C++, Stroustrup

May 19, 2004
Addison-Wesley
From this book I got a lot of insights into why things are the way they are in C++. For instance, why default arguments in virtual functions behave so strangely (they're defined at header level, so at the point of the caller, not the called function). On the other hand, I may have read that in Scott Meyer, so maybe I don't remember anything from this book, but it feels as if I do. (No comments yet)

Inside the C++ object model, Stanley Lippman

May 19, 2004
Addison-Wesley
Great writer. Unusual part of C++, namely the vtables from all kinds of viewpoints, but mainly from the compiler writer's view. This is the way to get a good feeling about what happens, can happen and cannot happen with virtual functions. Good read. (No comments yet)

The annotated C++ Reference Manual

May 19, 2004
Ellis-Stroustrup, Addison-Wesley
This used to be the official standard document. It isn't anymore, but it still is the only really readable form of a real standard and you're supposed to have this one within reach at all times or else the C++ Standards Overview Book Possession Police will come and get you. Your choice. (No comments yet)

Effective C++, Scott Meyers

May 19, 2004
This one, and it's follow-up companion hereafter, are easily the most important reads for C++ programmers ever, once they've mastered the basics. Or even before, since they'd avoid mis-learning the language. My pet peeve about people (C++ wise, that is) is the way they glorify Java versus C++ on the simple grounds that they manage to mis-learn C++ in a big way and go on to use it backwards. There is no single thing in Java you can't do better in C++. You just have to do it right. Java is nothing but C++ minus a lot of stuff. If somebody tells you what stuff in C++ you'd better not do, unless you really need it (and Java would have left you stranded), there would be no need for yet another language. Scott Meyers books are a good step on teaching what should and should not be done. Sadly, they are aimed at fairly experienced C++ programmers. I think there must be a way of getting most of the issues he handles rewritten in a beginners' form, but I sure don't know how. That would allow people to go straight to the correct patterns without first learning all the wrong ones. (For instance, I wouldn't be surprised if learning new and delete operators couldn't be moved back to an advanced C++ course and be left almost entirely unmentioned in a beginners course. What a difference that would make.) (A later note: this is exactly what Koenig did in his new book, I forgot the name. Recommended, though. I have it, but haven't added it here yet for some weirdo reason... sorry.) (No comments yet)

More Effective C++, Scott Meyers

May 19, 2004
This is just the second part of "Effective C++" discussed above. Just as great. Just as necessary. I've read both about three times by now, and keep looking up stuff (whenever these books are back in my shelves, that is... people tend to want to borrow them.) (No comments yet)

Data Structures in C++ using the STL, Timothy Budd

May 19, 2004
Addison-Wesley 1997
Haven't read this one yet. Looks good, though. Nice cover. (No comments yet)

Scientific and Engineering C++, Barton-Nackman

May 16, 2004
Addison-Wesley, 1994

This is one of the early texts with C++ templates and it's not even meant to be a template teaching text at all. It's meant for Fortran programmers that wish to start using C++ instead. The first half of the book is about C++ for Fortran people and can be safely skipped. The second half, however, does scientific and mathematical coding using C++ templates extensively. It's one of the best in-depth texts about templates that I have seen. Especially the use of templates to represent mathematical groups, rings and similar is really beautiful. (Added 2/2002)[/img] (No comments yet)

C++ Strategies and Tactics, Robert Murray

May 16, 2004
Addison-Wesley, 1993

It's a bit old (who isn't) and has but generalities about exceptions and templates. It does contain a lot of sound advice, though. Since many of the other authors used this one (amongst others) as source material, you should probably read Murray earlier on in your reading sequence than I did. It's a pleasant read, though. But it didn't tell me much I hadn't seen before. 12/2000 (No comments yet)

Generic programming and the STL, Matthew Austern

May 16, 2004
Addison-Wesley, 1994

Covers a lot of the stuff you need if you want to write STL compatible iterators, algorithms and containers. Especially how they're all classified and from which base classes to derive things. IMHO, it's the book to pick up once you've been through most of Josuttis (above). But it's not the book you need to find useful STL classes in. You won't, even though they're probably there somewhere. If that's your need, either pick up Josuttis or be prepared for some pain. 04/2001 (No comments yet)
TOP