Sunday, April 28, 2013

Effective C++

Title: Effective C++ Third Edition
Author: Scott Meyers
Genre: Non-fiction
Published: 2005
Rating: 9/10

Review: It's been a couple month since I last posted here. I am sad to admit that in all this time, I have read exactly one book -- Effective C++. I generally tend to be a slow reader when it comes to non-fiction, but apparently programming books go even slower for me.

I knew that if I let myself read other books simultaneously, this one would just never get finished, so I concentrated all my reading time on this. However, reading something to learn just requires much more dedication than reading a novel for fun, therefore there were fewer occasions before bedtime when I felt up to picking up the book and turning my brain back on to read this.

Getting back to the actual book, notwithstanding my slowness in reading it, I did find it quite interesting. I am new to C++ as a whole, having only done C in college but this book worked really well for me. I found the writing and explanations really engaging and accessible. There's a wide variety of topics covered and many important ideas introduced. I would recommend it both to novice and intermediate C++ users looking for some basic overview of techniques and syntax.

The book is split up into 9 chapters covering topics from good coding practices to good design choices to basics of template programming and various miscellany. Some things I learned about C++ just blew my mind. For example, function call parameters are not guaranteed to be evaluated in any particular order! Coming from languages like Java and Python that just amazes me. Or the fact that creating a new polymorphic method in a subclass hides all the superclass variants. Shocking! But really good to know.

All-in-all, a book well worth reading for those not already up on their C++ use. Well chosen topics and well-explained. I really liked it!


  1. I think this book becomes much more interesting once you've actually done a little bit of C++ programming. I also read it when I started at Google and haven't done any real C++ programming before, found it interesting but forgot most of it very quickly. Then I read it a couple of years later and it was much more interesting then. Unfortunately C++ has quite a few quirks that are completely unintuitive and need to be explained :)

    1. Well, I am anticipating having to do some C++ shortly, so perhaps it'll come handy before I forget everything I just read.