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!