A few weeks back, Derek Sivers, of CD Baby fame, wrote about his experience with learning JavaScript.

He said:

I wanted to really learn JavaScript – not shortcuts, quick tricks, or meta-tools that keep me from having to learn JavaScript. I want to learn it, get it, read it, understand it, and memorize it, so that I can understand all the other cool things written in JavaScript for years to come.

In his post he mentions how someone wanting to learn JavaScript might get Douglas Crockford’s JavaScript: The Good Parts and call it a day.

Much like Derek, I drank that kool-aid too. I mean I really tried to that book with the full intent of learning JavaScript. Like Derek, I want to learn it, get it, read it, understand it, and memorize it, so that I can understand all the other cool things written in JavaScript for years to come. As you might expect, a couple chapters in I was scratching my head trying to hang on for dear life. I’m sure it’s a great book, but it’s certainly not for beginners. It teaches you about the good parts of JavaScript (obviously), not how to program in JavaScript. Big difference.

Instead, Derek suggests starting with Eloquent JavaScript – by Marijn Haverbeke. More specifically, he suggests that you read the online version so you can test and experiment with what you’re learning directly in your browser as you read. You can checkout the source for the book on GitHub too.

After a few chapters of Eloquent JavaScript, Derek suggests switching to Professional JavaScript for Web Developers, 3rd Edition – by Nicholas Zakas saying “THAT is the ultimate tutorial.”

It takes the time to explain everything thoroughly, and it covers pretty much everything. Put aside a few hours per chapter, and by the time you’re done with this one book, you’ll know as much as most people who call themselves JavaScript programmers.

Nicholas shares the code examples from the book on GitHub too. I added an issue asking about 3rd edition examples.

My plan is to follow Derek’s advice and really learn JavaScript this year.


Have comments? Send a tweet to @TheChangelog on Twitter.

Subscribe to The Changelog Weekly – our weekly email covering everything that hits our open source radar.