Selected Product: | Modern C++ Design: Generic Programming and Design Patterns Applied Paperback Edition: 1st Author: Andrei Alexandrescu Publisher: Addison-Wesley Professional Release Date: 2001-02-13 ISBN-10: 0201704315 ISBN-13: 0978342704316 List Price: $54.99 Average Customer Rating: | | Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) (Addison-Wesley Professional Computing Series) ISBN-10: 0321334876 ISBN-13: 9780321334879 List Price:$49.99 Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library ISBN-10: 0201749629 ISBN-13: 0785342749625 List Price:$49.99 Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions ISBN-10: 0201615622 ISBN-13: 0785342615623 List Price:$44.99 C++ Coding Standards: 101 Rules, Guidelines, and Best Practices (C++ In-Depth Series) ISBN-10: 0321113586 ISBN-13: 9780321113580 List Price:$44.99 C++ Templates: The Complete Guide ISBN-10: 0201734842 ISBN-13: 0785342734843 List Price:$65.99 C++ Coding Standards: 101 Rules, Guidelines, and Best Practices (C++ In-Depth Series) ISBN-10: 0321113586 ISBN-13: 0076092018117 List Price:$39.99 C++ Templates: The Complete Guide ISBN-10: 0201734842 ISBN-13: 9780201734843 List Price:$74.99 Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library (Addison-Wesley Professional Computing Series) ISBN-10: 0201749629 ISBN-13: 9780201749625 List Price:$49.99 Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions (C++ In-Depth Series) ISBN-10: 0201615622 ISBN-13: 9780201615623 List Price:$44.99 |
To use our price comparison to get the cheapest price, please click on the "Find the Cheapest Price" button located above for Modern C++ Design: Generic Programming and Design Patterns Applied by Andrei Alexandrescu (ISBN-10: 0201704315, ISBN-13: 0978342704316). At this time we have not yet written a review for Modern C++ Design: Generic Programming and Design Patterns Applied by Andrei Alexandrescu (ISBN-10: 0201704315, ISBN-13: 0978342704316). Please continue to keep checking back to this page as we are constantly adding reviews. Summaries and Customer Reviews are supplied by Amazon.com In Modern C++ Design, Andrei Alexandrescu opens new vistas for C++ programmers. Displaying extraordinary creativity and virtuosity, Alexandrescu offers a cutting-edge approach to software design that unites design patterns, generic programming, and C++, enabling programmers to achieve expressive, flexible, and highly reusable code. The book introduces the concept of generic components, reusable design templates that enable an easier and more seamless transition from design to application code, generate code that better expresses the original design intention, and support the reuse of design structures with minimal recoding. The author then shows how to apply this approach to recurring, real-world issues that C++ programmers face in their day-to-day activity. All code is available on the Web, along with Alexandrescu's downloadable Loki C++ library, which provides powerful out-of-the-box functionality for virtually any C++ project. For experienced C++ programmers who have at least some familiarity with the Standard Template Library (STL). Seminal book | Customer Rating: | | I do not know what to call this magnificent work. An work of art or excellence by Mr Alexandrescu. It is great book, only for typelists chapter, it is worthed to buy. I have no hesitation to recommend to the one who want to learn modern C++ techniques. | Enter the World of Metaprogramming | Customer Rating: | Although this book is now six-plus years old, compilers have finally caught up with the implementation allowing the techniques outlined in the book to be used in production code. Alexandrescu infuses what could be a dry topic with humor, and does a great job of explaining fairly esoteric ideas with enough grounding in concrete implementation to be approachable by a wide range of readers.
The book does a great job of outlining factory classes, which are often given a hand-waving description with no explanation of how to deal with the 'start up' problem of populating the factory with the set of classes it should be creating. This usually leads to lots of boiler-plate, hard-coded linkage between different pieces of the system, but Alexandrescu outlines techniques to automate this process.
If you have been chafing at some of the restrictions imposed by the C++ standard after being exposed to more dynamics languages like Objective C, Ruby, etc., you may find a few tricks that will enable you to achieve your goals. | Great book with an important caveat | Customer Rating: | That caveat being: the book is not of immediate _practical_ value to most C++ programmers (other than as a brain teaser or inspiration, both of which are of course very important). Let me explain. The book is 5-star material but its audience is rather specific. Most of the techniques described in it are useful to _template libraries_ designers only. For others these techniques would fall into the "vastly overly clever" category. In real life such cleverness is a serious impediment and a maintenance nightmare as every manager knows. A template library programmer, however, can benefit tremendously from this book since template libraries must be very clever and tricky indeed. One more note: earlier printings of this book had many mistakes in it (including the code) so I'd recommend buying a new printing - or else arm yourself with a pen and plenty of time to hand-insert all the errata from the book's web site. | Interesting; over-complex | Customer Rating: | | This book is mostly about what you COULD do with templates, but IMO probably wouldn't want to. The Loki library that it describes provides some uber-generic components using a lot of template meta-programming, but it's unclear if that's a good trade-off. You gain a small amount of code reuse (you don't have to write a singleton yourself, for example), but God help you if anything goes wrong, and you have to debug these things. | Great techniques, not for the normal programmer | Customer Rating: | Finally I picked up "modern C++ design". It was on my list for a long time. Last years I've been diving more in Java, Groovy, Ruby and other languages. So, this book was back to C++ for me.
I found the book well written, even almost funny at times. The code was clear and it was all easy to understand for me. So, well done since it's always difficult to explain fairly advanced concepts in simple language.
The book consists of 2 parts. The first part describes concepts like policy-based design and typelists. I liked the concept parts and this was my first encounter with typelists, thus I was quite amazed.
The second part of the book describes how to design generic patterns. I liked them, however, I felt that making some of these patterns generic is not really worth it. The amount of duplicate code removed, is not very high. The complexity added by the generic implementation, however is high.
An example is chapter 7, smart pointers. I've designed some libraries in the past and as library designer we agreed on 3 different types of smart pointers. We write three different classes and that's it. Is it worth making a generic implementation which can cover all of these three types. In my opinion, no. However, as an exercise of what you can all do with templates in C++, it was very interesting!
I'm now and then working with developers who develop in C++. They already struggle with the complexity of the language, the environment and the tools. Giving them generic programming in C++, would probably increase their struggle and wouldn't really gain much. Maybe a new language need to be created with better generic programming support instead?
Anyways, for any C++ fanatic or programming fanatic, this is a fantastic book. For "the normal developer" it's probably overkill. |
|