8+ programming languages that will keep you in demand7 min read
Because programmers need to specialize, they have to choose a language to concentrate on. If your choice becomes the darling of enterprise managers, demand for it will grow, and it will be easier to ride the wave of popularity to the top of your career.
Choose one that falls behind, however, and all of that arcane knowledge of syntax and APIs becomes relatively worthless. As the hiring slots slowly disappear, you’ll be playing a game of musical chairs with other developers who know that language.
As Yogi Berra once said, predictions are hard, especially about the future. We don’t know which languages will grow, but we can tell which ones are popular now. The ones that are growing are probably going to keep growing, at least in the next few years. Enterprise development teams move slowly, and changing programming languages is like steering a supertanker.
One of the most popular measures of a programming language’s popularity is the TIOBE index, a single number measuring popularity that’s compiled from watching search engine queries and other indicators. The creators note that it doesn’t try to count the number of lines written in a language or identify which ones are “best,” whatever that might mean. It’s just a basic indicator of interest.
Another measure is to count the number of postings on job websites. These do a better job of indicating just how many companies are willing to pay for expertise—not just talk about it online.
Here are nine different opportunities to jump on bandwagons that could carry you for many years.
Three of the top five languages on the July 2021 TIOBE index are C, C++, and C#. Further down the list are Objective C and D, the latter being a descendant of C and C++. They all add up to a dominant fraction of the list.
The languages tend to serve different markets. Objective C is for Apple programmers, but it’s being slowly replaced by Swift. C# is for those in orbit around Microsoft. C++ and C have much broader appeal, often in the world of Linux and other operating systems.
They’re not the same language by any means, but the names indicate that they’ve got a similar foundation and a shared stylistic approach. Switching between them isn’t simple, but it’s easier than learning something entirely new. Their general similarities and huge following make it all but certain that there will be a long-term demand for C programming.
This language is everywhere. It started as the lingua franca for HTML documents, the dominant way to interact with humans on client machines. Then some clever developers invented Node.js and made it possible for developers to write so-called isomorphic code that runs on both the server and the browser. Within a few years, the language grew to dominate many of the servers out there, too.
The language is pretty flexible, and that’s encouraged developers to create cousins with slightly different syntax and some extra features. Some, such as CoffeeScript and LiveScript, simplify the syntax for developers who don’t want to stress their pinky fingers hitting the quote key or the semicolon. Others, such as TypeScript, add extra structure such as type checking that may stop some errors.
This started as another scripting language to let server jockeys write more complicated scripts, but then it found a calling as a simplified language for scientists. When some clever coders created some great libraries for data analysis (SciPy, NumPy), its use around science labs exploded.
Hard-core developers may have some horror stories about trying to keep the various versions straight, but it’s a great language for people who need to write a few hundred lines of code to manipulate some data and produce a graph.
Python remains one of the fastest-growing languages as more scientists take it up to get their work done and universities start targeting them with courses aimed at the language.
Python has done very well on the TIOBE index and it won “programming language of the year” in 2020. Its popularity continues to slowly grow, unlike many of the other once-dominant languages. Also, many programming classes are switching over to Python. As they say in Hollywood, “Nothing succeeds like success.” This should apply to Python for many years to come.
Java has been around for decades. It never became as dominant as some expected, but it continues to be the foundation for huge platforms such as Android and some TV platforms such as Blu-Ray. Many embedded systems run Java.
The language was the king of the TIOBE ratings for more than a decade, but lately it has slipped into the second spot. There’s still plenty of demand from job listings, though, and a quick skim of the jobs site Indeed.com showed 94,382 open positions. Python, though, is pulling ahead, and there are easily 20% more jobs with that keyword.
Yes, you read that right. COBOL is always the punchline that programmers turn to when they want to invoke a language from the distant past, but a quick search at hiring boards reveals plenty of demand. There are 337 listings on Dice.com and 1,357 on Indeed.com as of this writing.
A quick skim shows that mainframe computing isn’t dying; many of these jobs are about tending venerable stacks that were first written years ago. When your code is large and mission-critical, it can be much more stressful to recode it than to search the world for COBOL developers.
The Rust language was invented to add some strong type safety and other structure to system programming. In other words, it was intended to keep straight the various threads that are always starting, stopping, and merging deep in operating systems. Reports from converts suggest that it’s a strong contender.
More and more organizations are embracing Rust for the kind of low-level system code that used to be done in C.
This interest is showing up in the TIOBE index and the language charted at number 27 in July 2021. It’s not a major contender yet, but if anything is going to disrupt C, it might be Rust.
It’s not a new language, but PHP continues to find plenty of demand in the world of WordPress and Drupal. Some of its other main proponents, such as Facebook, have helped nurture the newest versions with sophisticated features such as better syntax and a fast just-in-time compiler that makes server-side performance pretty competitive.
The TIOBE rankings reflect this renewed interest, and the language went from ninth on the list in 2020 to eighth in July 2021. Unlike some major languages such as C or Java, its rating is moving up.
The ninth language on the TIOBE list is not a language at all. Still, it’s not exactly fair to say that “assembly code” is not a language. It has branching and operations like the rest. Creating good assembly code is often harder than writing in other, “official” languages. Think of it as a very stripped-down version of C.
Long ago, most programmers learned enough assembly code to get by. Now it’s rare to find someone who even knows what a register or a program stack might be. As with niche languages, rarity can pay off. Good assembly coders build fast machines and deliver lag-free interactions. Sure, squeezing the bugs out is a bit harder, but the reward is the smile on the users’ faces when your code doesn’t halt for garbage collection.
A niche language that fits your market
It may seem counterintuitive, but there can be a long-term career waiting in some obscure language. There are easily more than 50 languages with a significant following, in addition to COBOL.
In the marketplace, absolute popularity doesn’t really matter, because salary is determined by both supply and demand. A language may be in demand, but if there is an equal or greater supply of programmers, wages aren’t going anywhere.
There are dozens of interesting languages that may catch the eye of some development manager, often because they offer a great set of features for that particular corner of the market. Some system developers love functional languages such as OCaml or Haskell. Scientific managers love Julia or Fortran.
There are dozens of niches like this, and it’s much easier to be the best in the world if there’s less competition. Think about it: An ad for a C programmer may collect dozens of resumes, but you may be the only one responding to one for a niche language.
How to choose
All of these languages have staying power. If COBOL job listings continue to appear decades after its birth, the same will probably be true for major languages such as C and Python. From that perspective, all of these languages are good bets.
An important factor in deciding which you should invest your time in learning is how much you enjoy the niche where each language dominates. C may remain king in the world of operating systems, but if you don’t like mucking around in printer drivers and OS threads, it won’t be pleasant no matter how much demand flourishes. Similarly with Python: Much of Python work will probably continue to be in labs, which means interacting with scientists. Is that what you enjoy?
Don’t just choose the language; look at the world where it lives. The best possible combination is a well-supported and growing language in a realm that you enjoy.