Practical Solutions for Real-Life Programming

Home Reviews Errata Links Blog Contact


Updated: 8th November 2009
A few crazy souls have been kind enough to say some nice things about Imperfect C++, including: Click through to
  • Robert D said "Thank you for a great book that goes beyond teaching mere C++ programming"

  • Martin M said "Reading about programming and (mostly) the C++ language and using C++ for ca. 15 years keeps being highly interesting. I very much like to read your articles and the book, including your (strong) personal views. In continual search for good quality. Many thanks for your magnificent book with both theoretical and very practical themes."

  • Julian R said "Imperfect C++ is probably my favourite C++ book ;-)"

  • Eduardo B said "Imperfect C++ is one of my favorite books together with some books from Herb and Scott. It's the kind of book that I find myself always reading again and again. A real gem of useful information and insight. ... I have learned a LOT from Imperfect C++ and I can't thank you enough. I have been programming C++ since I was 20 years old, now I'm 43 and every time I think I know something I come to the conclusion that I have much to learn. And thanks to people like you I can still follow my learning path."

  • Pongba L said "Imperfect C++ was an amazing surprise to me when I read it a year ago, it was the first time I knew that there're so many imperfections in C++, a language I thought I knew quite well before; and it was the first time I knew that nearly all those imperfections could be circumvented, and circumvented pretty well. ... Among all the books I've read about C++, I think your book fills the right gap, that is, most of the C++ books focus on isolated tricks and techniques which, while interesting, often don't take real world constraints in consideration (such as performance, compile-time enforcements, flexibility)."

  • Andrew F said "Excellent book, it was one of those rare C++ books that I couldn't just skim to learn everything I wanted to know. ... Thank you for your work in creating the book."

  • Miguel R said "What can I say you? good book, I really like it."

  • Adi S said "I finished Imperfect C++ last night, and it's definitely my "Book of the Month". It is clearly written, and your hard won experience definitely shines through. Perhaps, what impressed me the most was the way you took common problems or ideas to their maximum logical consequences and implications. It is not common to actually think through all the possible implications of a particular design in terms of (mis-)use, efficiency, robustness and portability. Usually, one does what time permits and what works for the current project. Rarely, are the solutions so well thought out and robust to abuse. Keep up the excellent work."

  • Bob D said "A lot of the C++ books cover the same basic stuff, and I am ready for more in depth material. I know I have shortcomings in my field and books like yours really help out ... Thank you for a great book that goes beyond teaching mere C++ programming."

  • Dries K said "I'm currently reading your book Imperfect C++, and I'm really enjoying it!"

  • Joe L said "Thanks for writting such a great book, it has helped me immensly both with the planning of new products and the shoe-horning of old ones into new roles."

    Thanks, Joe. As I'm midway through the next marathon - Extended STL - this kind of response really helps keep my motivation levels up. :-)

  • Ed Ball has done a review on his Ed at Work blog. Among the many nice things he says are "Imperfect C++ .... is an outstanding book", "It presents a wide variety of useful material that I haven't found in any other book on C++", "There was no shortage of interesting items", and "If it's not clear already, I highly recommend this book to anyone using C++ to write 'real-life' programs",

  • Martin M said "Reading about programming and (mostly) the C++ language and using C++ for [about] 15 years keeps being highly interesting. I very much like to read your articles and the book, including your (strong) personal views. In continual search for good quality. Many thanks for your magnificent book with both theoretical and very practical themes".

    Thanks, Martin. This kind of feedback really makes it worthwhile.

  • Peter B said "I've been reading your Imperfect C++ book. I already think it is a fantastic bit of work and I'm only on page 8 so far!".

    Seems like a common theme. In my next book I'm going to put a recommendation in the preface that people stop reading as soon as they get a warm feeling.

  • Will T said "I like the way you state opinions (and back them up)".

  • Pablo A said "I like the way the book feels like a conversation, more than a lecture".

  • Serge K wrote to me with the rather humbling feedback: I've just bought "Imperfect C++" today, so I'm up to the Chapter 2 at the moment; well, what can I say? So far it has been a breathtaking read; while reading the first chapter, flashes of inspiration came to my mind and stopped me from reading and forced me to dive into the deep and muddy waters of our large-scaled project; I've spotted myriads of lines of the code for improvements and (I believe) this is just a beginning! Thanks for doing such a splendid job!

    The imp in me cannot suppress a "well, maybe he won't think quite so highly of it once he hits Part 3!". But seriously, feedback like this is what makes the months and months of self-doubt and hair-tearing worthwhile. As any fellow authors will know, writing a book is not done for the money (LOL!), and it's not for the glory (though it might be were there any glory to be had <g>). Rather, it's a personal challenge, and a hard one at that, and getting feedback from people whom you've actually helped is just a marvellous filip. (It's also good to share with the wife, it helps to ease her reasonable "why-the-hell-are-you-doing-another-one-?" qualms.)

  • Rajanikanth J. Wrote in with a typo, and said "Excellent book...I am planning to buy it soon.". And then later with a couple more, saying: "Please do not take my corrigendums as a bad sign, I am only trying to make your book more perfect :-). Except for two C++ Indepth series books, I bought all other "good" C++ books. And your book reflects that "good" sense. ... Your book reflects your sincerity, just keep it up and see ur book sales rise :-). Thanks for the very good work.

    Thanks, Raj. Hey, maybe buy two: one for home, one for the office. ;)

  • Jonation S wrote with some errata, and said "I'm a little way through your new book, and have to say I think its pretty good."

    All I can say is: stop reading now! :-)

  • Mike Gunderloy's review for Application Development Tools ( states "this book is an excellent work". That sounds great, and one would not wish to demur, but he also says that "Matthew Wilson is ... fearsomely knowledgeable about C++", which we just know ain't so. :-)

  • Danny Kalev lists Imperfect C++ in his all-time top 10 C++ books. This is so gratifying, I am stumped for a witty/sarcastic comment for it. Many thanks Danny.

  • Gary Pennington wrote me up in his blog, saying "If you are unfortunate enough to have to work with C++ source for any reason, then I can only recommend that you go out and buy this book. ... Although his book is brilliant and certainly does show many techniques which can be applied to make C++ more usable; most readers are likely to be deterred from consideration of the language due to the complexity of the techniques required.". Hmmm. Well it seems that Gary thinks that C++ stinks, but Imperfect C++ doesn't. I guess that's nice.

    FTR, I think C++ does stink, but, like democracy, capitalism and political correctness, all the alternatives stink more.

  • Jonathon R wrote to me and said, simply: "Thank YOU for such a great book!". Well, thank you, Jon, for being nice enough to make the effort to say so.

  • Roland P wrote and said, "What I like most about Imperfect C++ is that it is written by someone who is both C++ practitioner and proficient in new language trends. This combination rarely applies to other C++ book authors.". Roland also quotes some wise words from Kevlin Henney - "each additional template parameter will decrease the number of users by half", which is decidedly on point, given that my next book, on which I'm currently working, Extended STL, will have more than a soupcon of templates.

  • currently sports 19 reviews (16 x 5 stars!, 2 x 4 stars!, 1 x 4 stars!) by a disparate group of geniuses and gnomic legends. Among the comments are:
    • "[It] fills a hole left open by many other (more theoretical) books" - B.K.
    • "If you are a hardcore programmer, the chances are good that you already know several of the limitations he describes. But perhaps not all. That is the merit of his book. He certainly does not claim to have been the first to discover these. But by him compiling them under one cover, you can potentially save time in studying his workarounds for limitations you are struggling with." - W.B.
    • "If I had six stars I would [them] give [to] him, because he [has] been brave enough to look at issues that other famous authors have never dealt [with]." - V.K.
    • "It's hard to find a book with so many crucial solutions for production development. No ivory tower drivel here - this book has industrial-strength techniques that will keep you on target. And this is more than just practical C++; this is a usable catalog of powerful software design tactics from someone who really knows." - C.A.
    • "I expected something more inline with the 'gotchas' and 'let-my-ego-show-you-what-you-did-wrong' pattern of books. I was fortunately surprised. The book is one of those excellent reads (and many re-reads, trust me) that must sit on that messy desk (as placement upon the bookshelf, rather, would cause frequent visits). " - G.P.
    • "This book is a must-have for anyone wishing to expand their vocabulary of incredibly useful C++ programming techniques and patterns." - N.L.

    Of course, I have to come clean and admit that two of these reviewers were also reviewers of the book itself, and a third is a friend with whom I collaborate in writing a column (Smart Pointers, with Bjorn Karlsson, for The C++ Source). But that still leaves three thoroughly unbiased souls whose insights bear witness to the unalloyed truth. ;)

Of course, not all the roses in the garden of good and evil are so sweet. Here're a couple of less friendly comments. (And I am not skewing the figures. These are the only -ve comments, so far at least)
  • Mark wrote: "I read the description of your book on Amazon, and it really appealed to me. In particular this sentence: 'He shows you how to tame C++'s complexity, cut through its vast array of paradigms, take back control over your code-and get far better results.' That appealed to me because I very much agree that that is necessary when using C++. However, then I went to your website and read the sample chapter 34 and was appalled by the utter dogs breakfast of programming that is displayed there. You are not taming C++'s complexity, rather you are encouraging it. I suppose I should have known ... considering that the only real way to tame C++'s complexity and cut through its crap and take back control of [one's] code is to... not use most of the C++ features at all. Most of C++ is quite unnecessary, and unnecessary complexity is evil. Many C++ programmers fail to realize that plain C is quite capable of object oriented programming."

    Obviously not a fan of my particular pedagogical bent. I wrote back and thanked him for his comments, and suggested that were he to read the chapters in Part 2 he'd be much better pleased, but I fear we've lost him for good. :-(

  • I'm also on the receiving end of a regular stream of 'feedback' from a famous C++ personality and author, who opines "WHAT THE HELL WERE YOU THINKING?", "Yech!", "Shame on you!", and even the splenetic "Drek!", along with other such pearls. The funny thing is, we're on quite good terms and I think, underneath it all, he likes my book; I know of at least one person to whom he recommended its purchase. So, Dr. X., I still loves yah, albeit its a tough love!!

Click through to
Valid XHTML 1.0! Imperfect C++ content copyright Addison-Wesley | Additional content copyright Synesis Software Pty Ltd and Greg Peet
Website designed by Greg Peet. Thanks Greg!