As the old saying goes, few things in life are worse than bringing a knife to a gunfight. As an experienced developer, I can tell you this is 100% true for the programming world as well. You have to stay relevant in an industry that’s changing faster than I’m writing this article. Also, you have so many different tasks to do. So, after years of surviving in this environment, I always keep my favorite toys close and loaded. For a silent and precise job, there’s my trustful C++. If I want to make a big data bang, I choose R, somewhat extravagant, but convincingly powerful. But if things get really messy, I take my JavaScript off the wall: it kept me alive in the past and it can still take some more abuse. No language is good or bad for everyone. It depends on you and the job you have to do. So let’s discuss whether you should always keep up with the fashion or stick to the good old stuff. This question is a bit trickier than it seems…
Given the innovative nature of tech, discussing whether to learn another language may sound silly altogether. Indeed, if the world stood still, we would still be using clay tablets and abacuses. Thankfully, the desire to innovate leads to continuous advancements, necessitating constant skill upgrades. For instance, in the 1960s, communicating with computers involved punching holes in paper and feeding it into a machine. Today, computers fit in our pockets, and the only holes we encounter are in our budgets after buying them. Imagine the most advanced developer from the '60s trying to stay relevant without evolving their skills.
Programming languages evolve faster than their creators. New requirements, ideas, and tools that radically change traditional approaches and practices emerge at a remarkable pace. Specialists who ignore this fact become as outdated as the languages they cling to. A prime example is COBOL, which, despite being popular in the '60s for business applications, has become nearly obsolete with technological advancements.
Another reason to learn a new programming language is career prospects. Understanding that greater knowledge of the latest technologies increases their chances of landing high-paying jobs, some specialists enthusiastically study new languages. This effort is justified: knowing new technologies undoubtedly broadens job opportunities. Sometimes, new technologies are necessary even if the language itself remains relevant but the company changes its tech stack. In such cases, employees must either adapt or find new jobs. Typically, they choose to learn the new technology.
Learning new languages is beneficial not only for practical reasons but also for creativity. It can offer new approaches to familiar tasks, expanding perspectives and potential. For instance, Symfony, a popular PHP framework, was inspired by the Java-based Spring framework. Many open-source library developers have taken ideas from libraries implemented in other languages, and you could be the next innovator.
But for the sake of truth let’s look the other way round at all the things we discussed in the previous chapter. Do you know when punch cards were last used? Just take a guess… And unless you cheated by googling the answer right now, your guess would probably be wrong. The right answer is 2014. That year, the last punch cards
What are the odds of a programming language that you know or are going to learn, becoming obsolete and useless anytime soon? There is no real answer to that, only guesses. Some authors estimate the average lifecycle of a programming language to lie anywhere
In other words, languages that have been out there long enough will probably stay with us for some more decades. On the contrary, there is a chance that fancy new stuff may become obsolete quite soon – but that remains to be seen. Each year of a language being in active service adds to its chances of surviving longer.
So what should we do? Learn a language? A new one or an old one? Well, learning itself is always good. Research shows that nearly half of all developers consider learning a new language. According to JetBrains' "
For instance, the majority of COBOL programmers were
If you prefer the vibrant life of startups or the power of tech giants, you should choose something more modern and promising. Seeing what others are doing may give you a clue: for instance, check the up-to-date rankings of programming languages by
Knowledge gained without practical application quickly becomes outdated. Therefore, learning a new language just for ticking a box is pointless. Instead, consider how you can use it in your current job. If your company already uses the technology, it can be a great incentive to learn. Simply ask your manager or team lead to assign you tasks related to it, allowing you to solidify your knowledge through practice. If your work uses a fixed tech stack and there's no opportunity to learn something new, you can always create your own side project to explore new boundaries independently. Just make sure not to violate your employment contract while doing so.
Even if you're just starting your way in development, the strategy remains the same: choose a technology you can use in real life (at work or in a side project). Pick a language with a bright future, not one the developer community shuns. Since you're just beginning your journey and not burdened by high salaries and expectations as a specialist, you can easily and quickly change your tech stack if the second language you learn appeals to you more than the first. You have greater flexibility in your choice, and it's worth taking advantage of this benefit. Just don't overdo it: too frequent changes in your tech stack and an overwhelming flow of knowledge can be detrimental. Find a balance between what you want and what you can manage, and you will surely achieve success.
For some developers, especially those with many years of experience, my advice may seem obvious. But as the saying goes, "Repetition is the mother of learning," and no one has ever disproved the truth of these wise words. I hope my article will encourage those who have long wanted to but were too lazy to take action and motivate eager novices. I hope my advice proves useful and perhaps even inspires further professional growth.