Home > Archive > VC Language > January 2006 > Where I learned C++ OOD
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Where I learned C++ OOD
|
|
| Victor Bazarov 2006-01-24, 7:07 pm |
| I was recently asked to recommend sources for learning to design
interfaces. While I don't know of any good web sites that would teach
C++ software design, I would like to recommend a couple of books.
One (my first) book is called "Advanced C++: Programming Styles and
Idioms" by James Coplien. It's an older book, (c) 1992. James Coplien
later released "Multi-Paradigm Design for C++", also worthwhile. Of
course, the very first one was "The C++ Programming Language" by Bjarne
Stroustrup, and while it's not about _design_ per se, paying attention
to the examples in it could help you acquire good habits, even when it
comes to design of interfaces.
A more complicated book (more difficult to read, anyway) is "Modern C++
Design" by A. Alexandrescu. If you can handle it, get yourself a copy,
you won't regret it. It's not as general and not as basic as Coplien's
1992 "AC++:PSI", and its focus is on templates, but it's good.
I am posting this to stimulate a discussion on the sources to learn
Object-Oriented Design, especially as it applies to C++. Feel free
to comment.
V
--
Please remove capital As from my address when replying by mail
Sorry, I do not respond to top-posted replies, please don't ask
| |
| Carl Daniel [VC++ MVP] 2006-01-24, 7:07 pm |
| Victor Bazarov wrote:
> I was recently asked to recommend sources for learning to design
> interfaces. While I don't know of any good web sites that would teach
> C++ software design, I would like to recommend a couple of books.
>
> One (my first) book is called "Advanced C++: Programming Styles and
> Idioms" by James Coplien. It's an older book, (c) 1992. James
> Coplien later released "Multi-Paradigm Design for C++", also
> worthwhile. Of course, the very first one was "The C++ Programming
> Language" by Bjarne Stroustrup, and while it's not about _design_ per
> se, paying attention to the examples in it could help you acquire
> good habits, even when it comes to design of interfaces.
>
> A more complicated book (more difficult to read, anyway) is "Modern
> C++ Design" by A. Alexandrescu. If you can handle it, get yourself a
> copy, you won't regret it. It's not as general and not as basic as
> Coplien's 1992 "AC++:PSI", and its focus is on templates, but it's
> good.
> I am posting this to stimulate a discussion on the sources to learn
> Object-Oriented Design, especially as it applies to C++. Feel free
> to comment.
All great books - all on my bookshelf.
For pure OOD, I was always a fan of Booch 2nd Edition
(http://www.amazon.com/gp/product/0805353402). Apparently there's going to
be a 3rd Ed. some day.. The original "Gang of Four" book Design Patterns
(Erich Gamma, et al) is also a classic and belongs on any OO worker's
bookshelf.
"Generic Programming and the STL" by Matt Austern is a gentler introduction
to the STL and a good precursor to Alexandrescu. Once you've got Austern
under your belt, Vandevoorde & Josuttis's "C++ Templates", along with
Josuttis' "The C++ Standard Library" will find a place next to Stroustrup as
your standard C++ references.
For C++ idioms - not so much OOD - I'd definitely recommend all of Herb
Sutter's books as well as all of Scott Meyers' books.
-cd
|
|
|
|
|