Select Page

This is a good news bad news post. If you want, you can skip ahead to the good news.

The Bad News

If you happen to be a JavaScript newbie scouring the web for a good free JavaScript tutorial, you’re pretty much out of luck. It’s amazing how many of the basic JavaScript tutorials are terrible.

How can you tell if a tutorial is good or bad? Easy. If the first thing you learn to code is document.write, it’s a bad tutorial. Plain and simple.

I’m looking at you, w3schools, TutorialsPoint, EchoEcho and WebMonkey. Even JavaScript Kit, which has some interesting advanced tutorials, uses document.write in their Primer tutorial. It’s unfortunate that so many of the other top Google search results for “javascript tutorial” are bad tutorials. Being first, or even popular, doesn’t make them better. The web would be better and healthier without document.write JavaScript tutorials. I wonder what it would take for these sites to take them down or – at the very least – improve them.

It would be a totally different issue if they taught document.write in a later chapter, or if they clearly recommended not to use it except in the rarest places, or even if they just explained what happens when you use document.write so students can make their own informed decisions.

The Good News

But there is hope. There are some good tutorials out there. Here’s my really short list. I’ll try to keep it updated if I find more.

  • Codecademy’s JavaScript Tutorial is interactive and modern. I give it 5 stars. It starts with the most rudimentary JavaScript principles and works up from there.
  • Mozilla’s Getting Started JavaScript Tutorial isn’t the best tutorial, but it’s also not the worst. It takes a different approach by focusing on code that interacts with the user via the mouse, keyboard and touch. Might be worth a shot.
  • The Eloquent JavaScript (2nd edition) is an amazing online book/tutorial by Marijn Haverbeke. You can actually edit the JavaScript samples when you read it online to help you learn and experiment. And Marijn is collaboratively writing/building the book on github. Keep in mind that it’s much more in depth than the other tutorials.

Let me know if there are other good ones out there, or if you disagree.