Skip to content

Book Review : JavaScript: The Good Parts

JavaScript: The Good Parts

Help you to learn and think in JavaScript, possibly liking it!

JavaScript : The Good Parts

Douglas Crockford

scrapes away these bad features to reveal a subset of JavaScript that’s more reliable, readable, and maintainable than the language as a whole

Buy Now

Why I Read this book

I have to be honest, in all my time as a software developer, there are very few development tutorial textbooks which I would recommend. I have purchased many over the years and so many of them have failed to deliver. All suffering from the same issues of poor code samples, failing examples and in the majority of cases just a load of geek waffle.

Many of these books are always in the arena of 800 - 1000 pages of which at most you'd read 50-70 of the pages in total. If you're lucky there will be 1 or 2 chapters which will really provide you real value. For the most part, these books end up gathering dust on your bookshelf and help to convince friends and family that what you do for a living truly is rocket science and that you must be really clever to have read all those thick books!

In many ways this is what makes Javascript the good parts so refreshing! In total the book is only 172 pages cover to cover and for the most part, it is extremely interesting. I literally read this book cover to cover on a lazy hot summer afternoon while drinking a couple of cold ones!

Honestly, not the typical scenario I'd associate with technical textbooks, but it is also a testament to how easy and comparatively enjoyable reading this book is. Take into consideration, that not only is this is a technical book but also technical book about JavaScript!

What I like about this book

Like most software developers who have done any amount of Web-based development, I have always just viewed and used JavaScript as a necessary evil just to get a job done. Ideal for doing client side validation or making things fly around the screen. I never really treated it with the respect it deserved, even when JQuery became the thing that everyone used to write JavaScript, it always just the thing you had to use, but never really enjoyed.

All that changed for me, in 2013/2014, the nodeJS hype cycle had cooled down and JavaScript actually become a thing people had started to refer to as a proper programming language, I found myself on my first Full Stack JavaScript project! Taking over the maintenance and enhancement support for a project which had been developed by a team of apparently JavaScript experts.

I remember opening up the project and initially reading the code I had this sense I had no real idea what was going on! The code layout and approach were things I had never come across previously! I had this sense of panic and imposter syndrome most developers experience, and I rushed to the Amazon website and thought I need some books fast!

Browsing the JavaScript Books I came across the 3 titles that Amazon Recommended as a bundle :

I bought all three books, as part of the Amazon Bundle offer. I have to say it's probably the wiseset impulse purchase I have ever made! The books really helped to gain a deeper understanding of JavaScript and to actually appreciate it for what it is, a very eloquent programming language - Once you get over all of its quirks. This is exactly where JavaScript: The Good Parts comes in!

In the Preface, Douglas Crockford describes what JavaScript: The Good Parts covers. He states,

My goal here is to help you learn to think in JavaScript. JavaScript: The Good Parts is not a book for beginners, is not a reference book, is not exhaustive about the language and its quirks, is not a book for dummies, and is dense.

What I learned from this book

JavaScript: The Good Parts deserves the praise heaped upon it; it is a great book and I cannot think of a JavaScript book that I've read that has done as much for my understanding of this unconventional language as JavaScript: The Good Parts.

Most programming based textbooks, generally always rave about the programming language or software framework as if its the best thing since sliced bread, I haven't read - up until JavaScript: The Good Parts - one that tells just how bad the language is, and what you can do and know about how to make it better! It is such a refreshing approach!

Crockford's writing makes it obvious that there are many aspects of JavaScript he likes and finds expressive, but that he also recognizes its downsides. His book is an attempt to teach how to mostly use only good parts of JavaScript and mostly avoid the use of the bad parts of JavaScript. In a way, this actually helps the reader to appreciate JavaScript's positives rather than mostly seeing its negatives.

JavaScript: The Good Parts is an easy read and generally approachable book. The tone and language of the book is clear and well-written. The conciseness is impressive, especially considering that some of the book's most important points are made multiple times in different contexts and the entire book has fewer than 150 main pages.

Chapter 4 on functions. May need to be re-read a couple of times - I know I did - but it is also the chapter that bring the most insight when understood.

One reason that JavaScript: The Good Parts can be as concise as it is has to do with it providing so little introduction. Those who have never coded before or have no JavaScript coding experience will likely be better off reading a more introductory book or online resource first.

JavaScript has some extradordinarily good parts. In JavaScript, there is a beautiful, elegant, highly expressive language that is buried under a steaming pile of of good intentions and blunders.

Douglas Crockford

Who should read this book

is a relatively rare technical books. It helps the reader to understand how to use the best parts of JavaScript and avoid or reduce exposure to the bad parts of JavaScript.

In the process of doing this, it does help the reader to do exactly what the author is trying to accomplish: to think in JavaScript. JavaScript: The Good Parts condenses significant low-level details and important high-level language design discussion into fewer than 150 pages.

Gary Woodfine
Latest posts by Gary Woodfine (see all)