The most popular programming languages in 2024: What does it mean for your learning journey?

David Matthews

Posts: 448   +89
Staff member
In brief: Learning a programming language can be tricky, especially for someone new to coding. However, knowing the most popular languages may help some make a critical decision. This choice could make the difference between landing a job or being left back.

Learning to code has been one of the more popular ways to gain a foothold in the tech space. Web development, data science, and especially artificial intelligence have driven interest in the software engineering field. However, while hundreds of programming languages exist, a few stand out as industry favorites.

ZDNet Senior Editor David Gewirtz attempted to aggregate data from nine sources to determine which programming languages are the most popular and, thus, likely to garner the most interest from newbies. His write-up is worth the read, but here's a brief overview of his methodology.

Gewirtz borrowed from political analysis by aggregating survey data from various rankings. Using data from just one or two sources could create bias, so he wanted to be fair. For example, only using data from the IEEE, an organization geared towards electrical engineers, can skew the output towards languages that favor that profession.

Another problem with devising a list of popular programming languages is determining what makes a language popular. Gewirtz outlined several factors, such as listings on Google Trends, the number of books on the language, and the number of job listings for the language. The latter, in particular, could be more compelling for someone learning how to code (or even experienced programmers who want to switch focus).

To make the ranking as fair as possible, Gewirtz used nine indexes from five organizations to source the data, then chose the top 20 languages from each index:

  • PYPL (PopularitY of Programming Language Index)
  • Tiobe
  • GitHub USage 2023
  • Stack Overflow Professional Developers
  • Stack Overflow Learning to Code
  • Stack Overflow Other Coders
  • IEEE Spectrum Index
  • IEEE Jobs Index
  • IEEE Trending

From there, he took the languages mentioned in at least five indexes and created the chart above. While it is helpful to see the popular languages at a glance for each index, Gewirtz noted that it doesn't provide any context for where to focus your learning efforts. To fix that, he did a simple data analysis and weighted each language based on the frequency and spot on each list in the chart. The output was the final popularity index below.

Gewirtz chart shows Python, JavaScript, and Java round out the top three, which makes sense considering the popularity of machine learning, data science, and web development. As a cybersecurity professional, I can also attest to the heavy use of Python in my field, particularly with penetration testing and exploit development.

One interesting thing to note is how far down the list mobile development is. Smartphones are arguably the most popular computers, yet Kotlin (Android), Dart (Android/iOS), and Swift (any Apple product) are some of the least popular languages. This ranking might have something to do with Meta's cross-platform mobile development framework, React Native, a prevalent mobile development platform that uses the more popular languages JavaScript and TypeScript.

While this experiment was enlightening, the programming language one learns depends on the task. While you could technically code an entire Windows application in Swift (like the Arc Browser), you'd probably be better off using C#. COBOL and Fortran are another option that Gewirtz didn't even consider. Although antiquated, these languages are still widely used in business applications, and programmers are rare but highly paid.

The best advice for picking a programming language is first to figure out what you want to do and then choose the language best suited for that occupation.

Permalink to story:

 
It’s a great way to use ChatGPT (or any AI) as they can really help you edit or even make completely new programs in virtually language…

“HEY ChatGPT, write me a python script that can…”
 
It’s a great way to use ChatGPT (or any AI) as they can really help you edit or even make completely new programs in virtually language…

“HEY ChatGPT, write me a python script that can…”
Just don't learn RUST. Python is great for people who don't want to waste tons of time learning programing. If you are serious about programing, learn C or be an Alpha Chad and learn how to program in straight machine code.
 
Just don't learn RUST. Python is great for people who don't want to waste tons of time learning programing. If you are serious about programing, learn C or be an Alpha Chad and learn how to program in straight machine code.
Why not learn Rust, since it's touted as more secure and not prone to buffer overloads? I'm not a coder. But, knowing Rust seems like a valuable tool.
 
Why not learn Rust, since it's touted as more secure and not prone to buffer overloads? I'm not a coder. But, knowing Rust seems like a valuable tool.
Rust as an idea is great. Rust, as it's being implemented is not. There isn't a single version of rust and it's lack of continuity is it's weakness
 
It’s a great way to use ChatGPT (or any AI) as they can really help you edit or even make completely new programs in virtually language…

“HEY ChatGPT, write me a python script that can…”

A few days ago I saw something interesting with ChatGPT. I described some machine instructions from an old architecture (from a techno-historical research I'm doing) and asked chatgpt to write the code for the addition of two numbers. It returned some code and clarified that it had included an additional instruction (a memory read). I told it that this instruction didn't exist, but with one I gave it earlier (register & memory), it could do it. It replied that it was true and gave me a new code.
I checked its answers by asking it for several other operations. The better I described the instructions, in a clearer and more explicit way, the better the results.
Now I will try with those from a programming language, the first one created in my country back in 1970, and I will verify its answers with a few examples that I have.
 
Last edited:
I perceive coding and programming as different things. Once you know programming, you can learn to code in a language in a matter of days/moths depending on the complexity of the language and the task. It is also important to note that a lot of jobs require more than a programming language. As for the best programming language to use when you learn programming I think it needs to be a strong typed object-oriented modern programming language. Some of the names mentioned are not really programming languages. While python is a nice, easy to learn scripting language, I don't think it is the best way to learn programming because it is too lax so a beginner could pick a lot of bad habits :), on the other hand C++ might be a bit too hard to learn for a beginner.
 
I perceive coding and programming as different things. Once you know programming, you can learn to code in a language in a matter of days/moths depending on the complexity of the language and the task.

Generally, yes, with the notable downside that you won't use some of the more powerful features of each language. But once you've done enough coding, it doesn't take that long to figure out the base syntax for a language. Google also helps.

It is also important to note that a lot of jobs require more than a programming language.

True.

As for the best programming language to use when you learn programming I think it needs to be a strong typed object-oriented modern programming language.

Object oriented is fine when it makes sense, but I've seen too many programs over the years use OO when they don't need to, to their detriment. Functional programming is *fine* when used correctly.

And yes, strongly typed languages give you the most solid foundation.

Some of the names mentioned are not really programming languages. While python is a nice, easy to learn scripting language, I don't think it is the best way to learn programming because it is too lax so a beginner could pick a lot of bad habits :), on the other hand C++ might be a bit too hard to learn for a beginner.

Python has it's own headaches in regards to the environment; just spent a day at work fixing mine when an update to a single library set off a cascade of other updates that broke literally everything in the environment. C/C++ have the headaches of their syntax and the vast amount of ways to accomplish a task (some more "correct" then others). And so on.

I continue to hold that initial learning of core concepts should be done on a language with very little syntax to make sure the concepts stick (BASIC works very well for this), before moving up to something with a bit more power and a bit more modern (Pascal is a decent choice despite it's age). But at some point, you have to get taught C/C++, and it's important you get taught "well".
 
. Some of the names mentioned are not really programming languages.

In the original article, Gewirtz mentioned that fact. He was trying to decide whether to add "languages" like SQL or HTML that aren't necessarily considered proper programming languages.
 
I do C, C++ and C# for my work, I have also used X86/64 asm, I have dabbled in Rust, Kotlin and a few others. So it seems I am doing ok in terms of appropriate skills.

The way I see it though, To learn programming pick a language you like or is very popular with lots of tutorials and learn on that first, Once you have one in the bag it's not that hard to pick up others, The trick is to learn how YOU learn best.

One take away for me is that Rust isn't as popular as the noise online about it would have you believe.
 
I perceive coding and programming as different things. Once you know programming, you can learn to code in a language in a matter of days/moths depending on the complexity of the language and the task.
I agree. The complexity comes in the technology you are attempting to interact with, the gotchas in how a task can be performed, the (often huge theses days) libraries that sit alongside the language itself, coping with user interactions and handling errors, coping with different devices, handling UI and UX, unit testing etc etc
 
Customer: your software ask me to install snake and I dont like snakes
Support: sir, phyton is a software platform used by many apps, you need it to run our software
Customer: no, I dont need snakes (clik)
 
Back