How do you manage to learn several languages?
When I sent the first email newsletter where I announced the new SwiftUI series, I got this question: “How do you manage to learn several languages?”
Good question!
In the past I learned Pascal, C, Java, PHP, JavaScript, Objective-C, Go, Python, Swift. I think I listed all the languages I used.
Not all languages are created equal. Some are more equal than others (cit.)
In particular I think all the above languages are very similar. Once you learn one, it’s very simple to go to another one. Variables, functions, loops, objects.
Sure, different languages have unique quirks, like Go’s coroutines or C being very low level. But the underlying fundamentals are the same.
Some languages are very, very different. Take Haskell or Elixir or Lisp. I’d like to learn them one day, but so far I haven’t had the chance to do it.
And nowadays I try to focus on beginner-friendly languages that are popular, for a good reason. The reason is that you’re not going to start your career with Haskell. When you go learn that, you’re already an expert programmer and you don’t need me to teach something to you.
Anyway, I’m digressing.
“How do you manage to learn several languages?”
I pick one new language and I focus on it for a long period of time.
I build things using it.
I keep practicing with a beginner’s mind, curious and open to how the language is supposed to work.
Some languages are boring. Some are very exciting. It all depends on what you need to do. If you dream about machine learning, Python might be incredibly exciting to you. If your dream is to build an iOS app that’s used by millions of people around the world, Swift is your go-to language.
I think you don’t just learn a single programming language in your career. Except in rare cases, things keep changing.
There’s no way I’ll keep using JavaScript 20 years from now. JavaScript will either be completely different from now (like when you compare current JavaScript with 10 years ago JavaScript), or it will be an ancient language.
That’s why I don’t label myself a “JavaScript developer” or anything like that. I’m a developer, that’s all.
Languages are just tools.
And learning a new language is not a destination. It’s the start of an adventure.
→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter
→ JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025