Depends on who you ask, of course

Will Python dethrone Java this year? Programming language rankings say yes

Gabriela Motroc
© Shutterstock / Creative_Stockphoto

The saying “one man’s misfortune is another man’s fortune” has never been more true. It’s no news that Java has been on a slippery slope but we might know who the replacement is if the programming language rankings are right. Spoiler alert: it’s Python!

Java has been “in a heavy downward trend since the beginning of 2016,” according to the TIOBE Index for May 2017. Before we dive deeper into this discussion, we should address the elephant in the room: If Java is dying, it’s safe to say that death becomes it. We all know that Java has died and resurrected more times than we can count and it’s still here.

Java is not going away anytime soon but perhaps we’re looking at this situation wrong. Let’s analyze the facts:

  1. Python is growing
  2. Java is here to stay

Furthermore, if we look at the latest TIOBE index, Java has gained some power compared to last month’s numbers. What’s important is that Python is growing and if it manages to dethrone Java, that says something about its growing popularity and not about people’s lack of interest in Java. If you don’t believe me, I invite you to read the first part of JAXenter’s interview series with last year’s top Java influencers.

Java is still very popular and the upcoming improvements in project Valhalla, Graal and Truffle, and many others will ensure that Java will keep up with the state of the art.

– Lukas Eder


Python ascending

According to the latest TIOBE index, Python is currently in Top 5 but it might gain a foothold in the Top 3 soon and it might even “become the new number 1 in the long run.” If we look at the PYPL index for July 2018, the popularity transfer has already happened:  Python is the most popular language, followed by Java and JavaScript. 

PYPL is not the only index which shows that Python is the most popular language; IEEE has a more interactive ranking so you can choose between the languages used for developing websites an applications, the ones used for applications on mobile devices, the languages used for enterprise, desktop, and scientific applications and the ones used to program device controllers.

Source: IEEE – The Top Programming Languages 2018

The same goes for enterprise: Python is No.1, followed by C++ and Java.

If we look at RedMonk’s most recent report, we’ll see that JavaScript is the most popular language, followed by Java and Python. Although Python is not No.1, TIOBE’s predictions seem to have already come true.

And let’s not forget that GitHub’s State of the Octoverse 2017 showed that Python jumped past Java last year to the number two spot (JavaScript has been the most popular language for GitHubbers for the past four years). Pretty impressive, right?

SEE ALSO: Python tutorial: Best practices and common mistakes to avoid

Where does its growth come from, you ask? In case you haven’t noticed, Python is everywhere we turn, from DevOps to machine learning and data science. What’s more, David Robinson, Chief Data Scientist at DataCamp told us last year that one of the reasons why developers choose this language is because “Python is a safe choice for developers early in their career to learn thanks to its popularity and its use in growing fields.” The idea checks out; Sumanas Sarma and Rob Hinds said in an interview at last year’s JAX London that “machine learning tends to have a Python flavor because it’s more user-friendly than Java.”

All eyes are on Python now; not only because of its growing popularity but also because its creator has decided to step down, which means the throne is now up for grabs. Exciting times ahead!


Gabriela Motroc
Gabriela Motroc was editor of and JAX Magazine. Before working at Software & Support Media Group, she studied International Communication Management at the Hague University of Applied Sciences.

1 Comment
Inline Feedbacks
View all comments
Dale Moore
Dale Moore
3 years ago

I use Java EE and Python on a regular basis and enjoy both languages, but I find they each have their strengths. The Java code handles the enterprise tasks that run the system and provide a robust, scalable solution with object modeling, transaction handling, threading and multiuser session management. The Python code works very well as an integration test framework and a utility toolset.