
Many are apprehensive about switching programming languages. It is OK to have preferences—I am heavily biased towards statically typed languages with great tooling support—but being dogmatic is not something one should aim for.
What could be the downsides of switching programming languages? I am disregarding the psychological aversion to change and sticking to hard facts.
1. One will lose syntax fluency.
This is a non-issue; the syntax is similar to muscle memory; one will get it back in a day or two. This is akin to swimming or driving after an extended break; one naturally gets it back.
2. One will forget the way of doing things.
Every language has a culture and a community-accepted way of getting things done. Regaining this might not be as easy as syntax retrieval, but one should be able to recoup with some effort and thought.
3. One will not be up to date with the language.
Languages keep evolving, core ideas and philosophy remain the same. The standard library might become more expansive, VM might become faster, some earlier prescribed way of doing things might be an anathema now, but the foundational principles remain intact.
4. There is no demand for this language.
As long as your fundamentals are excellent, this should not be a concern. Some roles require deep language know-how, but these are far and few. In fact, it is the opposite—the more the languages in your kitty, the more the opportunities.
The most significant upside to learning a new language is the exposure to novel ideas and thought processes. Any new language immensely expands one’s horizon. For example, the way Java approaches concurrency is different from Go’s way of handling concurrency. Having this sort of diverse exposure helps one build robust systems and mental models.
Programming languages should be viewed as a means to an end, not an end in itself. There are cases where programming languages make a difference. Otherwise, there would not be so many around. But, you are doing a disservice to yourself by restricting yourself to a few programming languages.
Follow @abhyrama
Cant agree more . Well summarised 👍
Thanks Mayur.
Excellent writeup
Thanks Dhananjay.