Most programmers will agree! Polyglot programmers are the ones who are actually in-demand.
The term polyglot programmer refers to someone who is capable of programming in multiple languages. Programmers who know multiple programming languages generally pick the right programming language for the job, rather than just using the single one that they know.
When polyglot programmers face problems for which their current programming language isn’t a good fit, they’ll choose and learn how to use a new one. And no programmer can argue that “using the right tool for the job” isn’t a good idea.
Programming languages themselves are actually remarkably easy to learn. What’s more difficult is achieving the mindset of a programmer: understanding how to deconstruct problems into sequences of steps that can be done by a computer.
The first programming language you pick up will be the most challenging. Next languages will be a lot easier – and most programming languages share concepts. Nearly all programming languages have support for:
- If statements
and a ton of other concepts. Although the specific letters and symbols are different, the ideas and concepts remain the same.
This is why it’s incredibly common to hire a programmer with zero experience programming in the language the company uses. This means the potential job market for polyglot programmers = all programming jobs, regardless of the language or framework.
Programmers who refuse to learn anything besides one language have a much narrower segment of the job market to work with.
So learn, dabble, and work with many different programming languages. Zed Shaw, an important open-source programmer and experienced code educator suggests everyone work with at least 4. Going in with the mindset, “I’m only going to learn one and I refuse to try anything else,” will only set you up for failure.
All programming languages contain a lot of mechanisms that work together to break down and solve complex problems. Each language has certain strengths and certain weaknesses that lend themselves to being useful for tackling certain types of problems.
In general, once you understand all the components of a programming language and master each nuance, you’ll have a rich toolbox and elegant solution at your disposal.
With most programming languages, the more of the language you learn, the better the code you’ll be able to write.
Even good developers who appreciate the nuances of the language will avoid them, because when other people read their code, it will be pretty unclear whether they chose these nuances out of appreciation, or out of ignorance of the actual implications of their code.
- Was written by a super good developer writing code in the best and concise way, or
- Has major problems that are not obvious.
This makes it an incredibly hard language to master the craft of programming with. If you’re a good developer with a different programming language, you’ll be able to wrap your head around the nuances a lot better, because you’ll already understand the big picture concepts.
Why does a programming language with so many flaws exist?
Let’s take a look at how long it took to ship the first versions of different programming languages:
- Ruby: 3 years
- Python: 2 years
- Lisp: 2 years
Here’s a graph showing how many days programming language creators put into crafting a good programming language before launching it to the world:
Since the programming language initially only ran inside web browsers, different browsers (think: Internet Explorer, Netscape, Firefox, Safari) initially all had slightly different implementations of the language and quirks to them.
“This is the only programming language people feel like they don’t need to learn before they start using it.”
The language took everything that was learned over the past 20 years of use of the old version, kept the good parts of the language, and removed the bad parts.
Did this article make you think of someone who refuses to learn more than one language? Share this with them!