tags:

views:

406

answers:

7

I'm looking for a book focusing on non-syntax related C++ problems. IMHO majority of C++ books are covering syntax or small "horizon" problems (like: the best way to assign values to the std::vector).

I currently know one such book: Large Scale C++ Design (John Lakos). What do you think about this book?

Please include other books matching the description.

+3  A: 

effective c++, deals with non-syntax problems, and is a very valuable source of knowledge imo. http://books.slashdot.org/article.pl?sid=05/06/07/1531214&from=rss http://www.amazon.com/Effective-Specific-Addison-Wesley-Professional-Computing/dp/0201924889

Ronny
+7  A: 

Personally, I don't like the Latkos book because it focuses on what is to me a non-problem: how to build very large systems using C++. My solution is simple: I don't build large systems, I build lots of small ones that I then join together. But my opinion is probably in a minority here.

As for other books, presumably you've already looked at clasics like Meyers' "Effective" series, the GOF Patterns book and Alexandrescu's "Modern C++ Design"?

anon
I'm have the same thoughts when I read TOC of the Lakos book.. But maybe he really knows things that comes up after many years professional work.
I am tempted to agree though the guys at Amazon probably see this differently. ;-)
Konrad Rudolph
Not all problems are amenable to such decomposition. It's possible to split large systems into smaller subsystems, but it frequently isn't possible to deal with them independently. Real-world problems don't always come ready for functional decomposition.
David Thornley
@emg-2 Well, I have been doing this for many (30) years now, and I think I know things too! The book is worth reading - I just disagree with its basic premises :-(
anon
@david - I'm sure there are pathological cases where what you say is true, but the whole thrust of our industry is awayb from the monolithic and towards the componentised.
anon
+1 for the second paragraph's list of books. They're all good choices for C++ programmers, though Alexandrescu is gloriously mad.
emk
@emk - I thought it was nuts when I first read it, but nowadays it seems pretty mainstream.
anon
@Neil: if I understand your conversation correctly: you concluded that Alexandrescu many years earlier predicted direction of C++ development?
@emg-2 - I don't know about predicted - he used existing language features in ways few other people had thought of at the time, and his ideas caught on.
anon
+1  A: 

Though I haven't read Large Scale C++ Design yet, it comes off as referenced and well-recommended by various authors of other books that I've read. If you haven't read Scott Meyers' Effective C++ yet, I think it covers non-syntax related problems too. Modern C++ Design by Andrei Alexandrescu is another book that you could check out. Its focus on design patterns can help solve common problems at a higher, more abstract level.

Julson Lim
+1  A: 

I learned a lot from the Lakos book, but it pre-dates the C++ standard (book: 1996, standard: 1998), so it feels dated now when I look at it. I've never seen anything that covers physical design so well. A lot of C++ books seem to neglect this, covering only the logical design of classes.

chrisp451
+3  A: 

I can second the votes for the Effective C++ books, and for Modern C++ design. 2 others from the Addison Wesley C++ in depth series that I like are Essential C++ by Lippman, and C++ Common Knowledge by Dewhurst. In fact, I have not found a bad book in this whole series (not that I have read them all). I would recommend scanning the list of titles at the publisher's web site, or you book vendor of choice, and picking out the ones that suit you best.

http://www.informit.com/imprint/series_detail.aspx?st=61260

bobmcn
+1  A: 

A lot (not all, obviously) of the non-syntax-related problems end up being non-language-specific problems. Start with the classics like Code Complete, The Pragmatic Programmer, and GoF Design Patterns.

Adam Jaskiewicz