I started to learn a new language, and you probably should too.
I read some of my goals from previous years. At one point, I planned to become familiar with 2 programming languages per year. Maybe that was unrealistic, but nevertheless, I definitely fell far from this goal. I haven’t really learned a new language in recent years, and I don’t even practice Dart anymore.
I don’t think I gave deeper thoughts to this, but my shallow excuse have been to invest more time in learning C++. Learning the new (and existing) features of C++ better is fine, but it’s not a reason to stop discovering other languages.
I think it’s worth investing time in other languages for several reasons. You might
- discover another language you become passionate about
- explore approaches to solve the same problems
- get better in your primary language by learning another
Discover another language you become passionate about
You might find a(nother) language like that! Who knows. Maybe it won’t be the first one, maybe it will only be the fifth or sixth one. Maybe it will be life-changing, maybe not. But it definitely won’t hurt your employability if you know other languages.
At the bare minimum, at an interview, you can discuss languages you tried in your free time and how you used them. I’m not saying that this will be a game-changer, but it might give you the leading edge in the end.
Let’s say you are looking for a C++ engineer for backend services, and your main product is some mobile apps using those services. Who will you choose? A great C++ engineer who has no interest outside of C++ whatsoever or someone who is also a great C++ engineer but also tried some languages for mobile development in his/her free time?
Explore different approaches to solve the same problems
Regardless of the language, there are - sadly - many people who consider their primary language superior to all others. They are all wrong, no matter the language. A language is just a tool and the language of choice should depend on the actual problem.
It doesn’t mean that you cannot use all the time the same language. But if you do so, it should mean that you are specialized in certain types of problems.
It also means that different tools are used in different ways and they solve problems in different ways. It’s undoubtedly useful for you as a developer to understand and appreciate these different approaches.
After all, it might help you…
… getting better in your primary language
Learning another language can help you in different ways to become better in your primary language.
While you concentrate on one language only, you do things the way you are taught. Probably you don’t give much thought to it. But if you learn or already learnt other languages, you might start asking yourself or others while certain things are done in one way or another. This doesn’t necessarily mean that they are done the bad way. Each language is based on different design decisions influencing its strengths and how things should be done. But if you see the differences, you might start to appreciate them more and actually learn more about the internals of your main language, influencing its modus operandi.
This can go even further. Do you think that later standardized libraries like {fmt}
, or other new headers such as <expected>
are the results of divine intervention?
Maybe! But in that case, the intervention was about exposing the authors to other languages such as Python or Haskell, from where they borrowed ideas to enrich their primary language, C++. Studying other languages can lead to eventually to enhancing your main one.
After all, the engine of progress is ideas having sex with each other. By exposing you to other languages, you become a matchmaker.
Conclusion
I think we should all learn different programming languages over time and not stick to only one language. You might find something that will be a game-changer for you! But even if that doesn’t happen you’ll explore different approaches to how things are designed and solved. That’s definitely something that will make you a better engineer.
You might even learn your primary language better or if your passion leads there, maybe you’ll even contribute to making your language better!
What’s going to be your new language?
Connect deeper
If you liked this article, please
- hit on the like button,
- subscribe to my newsletter