I’ve been programming since I’m 15. I’ve been programming professionally as a software engineer for almost 10 years.
Here is my complete and honest review about this book. If you’re in a hurry (who’s not nowadays?), you can jump right into the conclusion.
This is definitely not a book for beginners or dummies. There is a lot of material packed into it. Don’t be discouraged if it takes multiple readings to get it. Your efforts will be rewarded.
The Book Review
The Good Parts
What’s clear is that Douglas loves the language but is honest about the bad parts. And he doesn’t mince his words. It’s a real pleasure to read an honest review of the language by such an expert.
Reading this book will clearly makes you write better code. The bonus thing is that, each time he gives an advice, he describes why you should write things this way. And that really helps you learn how to sharpen your skills on what architecture to pick for your code.
You’ll learn tons of useful tips like memoization, using an object specifier (to allow a function to take arguments in any order) and how to organize and architecture your code efficiently.
Douglas uses examples that start from previous ones reducing the number of lines of code of each snippet, that’s brilliant. Everything is straight to the point, no fluff, no small talk. Each line of each paragraph brings you value, it’s thorough and dense (~150 pages).
Last but not least, he talks about why styling is important and give great advice on how to style your own code for maximum readability and to avoid producing error-prone code.
At the end you’ll also read a quick overview of the JSON syntax he created.
The Bad Parts
You’ll learn also so many good practices and so much good stuff to write better code that you should not skip this book. Reading that book will make you a better developer!
You can purchase this book on Amazon here: The Good Parts.
If you want the essence of the book for free without having to read the whole book (even if it’s very concise and I enjoyed reading it) you can use these notes on GitHub.