Reasons to learn
A few reasons it's a good choice for your first or next programming language:
- Trajectory: Becoming more and more popular, used for more and more things.
I suggest learning HTML first, and perhaps CSS as well.
How to learn
If you read and understand this one book, you will have a very respectable foundation for programming, especially programming for the web. It's not that long.
Out of all possible learning materials, I chose this one because:
- It's written in a playful way that show the author's love for the topic. Not boring or dry.
- It includes little tutorial projects. It's important to balance theory with *doing*.
- It's available for free online. I enjoy my paper copy, and buying one is a way of signalling your commitment to yourself and others, but if you want you can just read it for free online.
- The online version actually gives you little windows that you can type and run code in, which you may want to use even if you have a paper copy.
- I have personally read this book. I read it after hacking away for years, having no idea what I was doing. I wish I would have read this book earlier.
You can use freeCodeCamp and Codecademy to reinforce what you've learned or just jump into making your own website or app.
Hat tip to Derek Sivers who inspired much of this recipe. His suggestions are slightly different and he has more ideas on how to make the new knowledge stick.