Full description not available
B**N
The most important C++ book in many years
Many years ago, I began to feel that the power of templates in C++ has not been fully exploited. In more recent years, the emergence of the STL has shown that templates can be used to great advantage for containers, allowing conceptually simple generic implementations to be reused in a wide variety of situations, with no run-time penalty. This advance only increased my sense that we haven't yet seen the full power of templates.Alexandrescue's remarkable work is, in my view, the most original and important advance in C++ since the STL. It has been an article of faith in the design patterns community that one can't implement a reusable design patterns library in any language, because each pattern has dozens of important variations, and an unlimited number of custom variations, all seemingly interdependent. Alexandrescue's work seriously challenges this assumption. He uses "policy classes" (explained in Chapter 1) together with many innovative template techniques to pull apart these interdependencies. The heart of the book describes in detail how he developed the "Loki" library containing many gang-of-four design pattern implementations. Loki's SmartPtr, one of the high points of the book, puts to shame the Standard C++ auto_ptr, which has been the state of the art until now.Even before Alexandrescue's work, templates provided C++ programmers with major advantages not available in "more modern" object-oriented languages such as Java and C#. Alexandrescue multiplies the existing advantages many times, facilitating dramatic increases in C++ programming productivity and quality. Isn't that what high-level language programming is all about?The only negative comment I have is not really a criticism of Alexandrescue's work, but of the deplorable state of C++ compiler implementations. Because many C++ compilers, especially the most popular ones, still do not fully support Standard C++, many of Alexandrescue's techniques cannot yet be used in many practical situations. I would like to think that the importance of supporting Alexandrescue's library will motivate compiler vendors to make the necessary, and long-overdue upgrades.
D**R
It's amazing what you can do with Meta Programming
I remember reading this book for the first time about 7 yeas ago and feeling my head turn inside out. Upon re-reading it recently I found it exciting and very understandable. The techniques outlined in this book solve problems that no other techniques can resolve. I find it amazing what can be done with classes and functions that never even get constructed.Definitely gives a good coverage for all aspects of Meta Programming I think one of the measures of respect by which this book is regarded is how many of these pioneering techniques have made It into the Boost library.Thoroughly recommended for the intermediate to advanced programmer to have in his library. Even if you don't use C++.
F**N
masterpiece
First of all, i don't understand why so many ppl complaining that the book talks too much about template. The title says generic programming; even you are so genius that you find other way to accomplish generic programming, I'm sure all the concept still apply.I'm really happy i read a review from Gamma's pattern (very good, but very dry, takes years to digest) book and pointed me to this book. It teaches you how to implement pattern using generic way. As an engineer(not computer science), I found the book answered a lot of question and probelm that I wasn't be able to deal with practically.Here are the list that you can learn from this book,1. ever wonder how to write library like boost.org, read this book2. ever wonder how can you create a object with the same type of another object(or some type) without knowing the type, read this book3. don't want to implement pattern yourself or don't want to hard code the pattern, ex. object factory, then just download the code. VC,BC&GCC are supportedMasterpiece.
A**R
Exceptional material
The material presented in this book is mainly for library writers and senior developers who are in charge of software design. Having said that, the material here is unlike you'll find in any other book. Author discusses design and implementation of reusable components like a (very sophisticated) singleton, visitor, generalized functors, smart pointers, etc. I found discussions on smart pointers and singleton to be particularly enlightening. Its amazing how a simple design pattern like singleton could have so many intricacies.But the chapter which blew me away was that of typelists, and what author achieves by using simple metaprogramming constructs (although I would be the first one to admit that a mere mortal software developer like myself would not be using typelists everyday, but its still fun to learn about them).This book is very different from whatever material I had read earlier on C++. Do read this book once you are familiar with topics like templates, common design patterns and smart pointers.
M**R
The best c++ design book out there
Never has a professional/technical book made such an impact on me.I've had this book for many years,but decided to write this review only now because after so many years the pearls of this beautiful masterpiece are unfolding to me. If I love C++ it is because of Andrei Alexandrescu and his amazing book. I only wish that he would write some more books like this. If you find this book to be scary at first and hard to understand, I would like to encourage you to keep on reading and trying. You'll get it eventually and once you do, there is no way back :)
T**R
Nothing to say, just love the book if your into C++
Nothing to say, just love the book if your into C++
K**R
Must read, reread and read again.
One of the best c++ book. Though its not suitable for begineers but if someone really want to know template, its for them. It require you have some idea on template, but you'll find yourself thinking in templates. Genious template tricks. If read carefully you'll learn design, best c++ practice, and patterns. Just get template idea before reading this book. Andrie is genious.
A**N
A modern development in the use of ISO C++ on how to produce more effective libraries.
1st Indian subcontinent 2007 edition, 2017 printing. For ISO C++98 standard so not compatible with MS Visual Studio/C++ 6 or 7.The author describes his free multi-threading library, Loki where the textual errors have been removed.This is a modern development of C++ by using templates and macros to improve the speed at runtime.The macro processor is a completely programmable Turing machine so the templates can be executed statically at compile saving the time to do this dynamically at runtime.These methods are only usable with ISO conformant C++ compilers so it is not much use for other languages except perhaps the D language.There is a description of how to implement singleton, command, object factories, Abstract Factory and Visitor design patterns using policies, traits and typelists.The author since about 2010 became a lead developer of the D language.
A**L
Didn’t expect much but Surprised by the Quality
I wanted some books to review my C++ skills and suddenly found out this deal. The price was in such a sweet spot that I couldn’t ignore it. To be honest, I was not expecting much. Anything readable would be acceptable for me. But I was amazed when I got it in my hands. The book was in a great condition for its price. I would love to buy again from them.
O**E
A must-read book!
You really have to read this book! It's much more than "modern C++ design".. . . . . .
Trustpilot
Hace 1 mes
Hace 1 día