One of the most popular questions that I get asked is “How do I learn to program? Where do I start?”. This actually takes one of many forms:
- What resource should I use to learn how to program?
- How did you learn X?
- Which language should I learn first?
- Is it worth learning Y?
The best answer I have is not an answer to any of those questions at all:
Find a problem to solve, then solve it using the most appropriate tool(s).
That’s the first step. If you don’t have a concrete problem to solve, you’ll never have the patience nor tenacity to learn enough to solve it.