Is Python poised to overtake Java in popularity?

Programming languages serve as the connective tissue of applications and operating systems, and as such, they ultimately make or break the functionality of an organization's overall IT infrastructure in numerous ways. If these codes are open source, they are open to use by all developers and can be incredibly flexible in terms of what can be created with them and how they can proliferate. At the same time, various security concerns surround apps constructed with these codes due to their very openness – especially with Java, which has been the No. 1 open-source language for much of its existence.

However, there have recently been some indications that Python, the open-source code first developed 30 years ago but truly surging in popularity during the mid-to-late 2010s, may actually be on track to surpass Java in 2020 and beyond, according to TechRepublic. This development could be majorly important for those who want the versatility of new open-source code for legacy application modernization and other development purposes but are worried about the security implications of Java.

Climbing the RedMonk and TIOBE rankings

The software development industry analysis firm RedMonk has ranked the most popular programming languages – open source and otherwise – on a biannual basis since 2010. To determine levels of code usage, RedMonk looks at data from GitHub and Stack Overflow, examining usage information from the former and the frequency of discussion in the latter. According to the most recent RedMonk analysis – first released Feb. 28, 2020 – Python was tied with Java for the second-place spot. (Both were behind JavaScript, which is not open source and represents a significant share of the internet's overall global infrastructure.)

Is Python poised to overtake Java in popularity?
Python is now neck-and-neck with Java in terms of popularity – and its future looks quite bright.

The movement of Python on the RedMonk rankings is significant because the code had been in something of a holding pattern during the final years of the 2010s – always growing in its use but never at a high enough rate to move anywhere beyond third or fourth place. (It reached the third-place spot in early 2017 and stayed there until the most recent rankings.)

Ease of use stands out as one of the key reasons behind Python's popularity – both in the most recent years of its surge among developers, and over its long history – along with its versatility and accessibility. As such, its acclaim extends beyond one organization's ranking system: On the index of programming languages maintained by software quality firm TIOBE, Python has generally been somewhere in the top five spots for much of the last several years, rising from fourth to third place year-over-year between April 2019 and 2020. (Currently, only Java and C hold the spots ahead of Python on TIOBE's index, in that order.)

The new gateway for development?

In an interview with TechRepublic, Stephen O'Grady, an analyst with RedMonk, summarized the key drivers of Python's latest popularity surge.

"Python isn't necessarily the best language in a given area – say, data science – but it's good at a lot of things," O'Grady said to the news provider. "Combine that with a syntax that's easy to learn, and it's not hard to understand why the language is growing." 

Kelly Fitzpatrick, one of O'Grady's fellow analysts, expressed similar sentiments: "If Python is where a critical mass of early-career programmers are comfortable, that will shape how they look for other types of learning resources, how they interact with public projects, the types of questions they are asking in forums, [et cetera]."

Java was once the first code learned by engineers and developers, and its own relative ease of use is what helped drive popularity during its heyday in the 2000s. But the fact that Python is even easier for novices to use while serving many of the same purposes at about the same level of efficacy makes the slow but steady encroachment on Java all but inevitable.

The security factor

Proponents of Java have argued – both recently and in the past – that the reason for the open-source language's plethora of vulnerabilities is its near-ubiquitous usage in so many types of application development. UpGuard noted in a Feb. 20 blog post that this did not equate to a full-on lack of security, because the majority of those common vulnerabilities and exposures were quickly patched. This is true to some extent – but on the other hand, the Equifax breach, based around a Java-based vulnerability in Apache Struts, isn't far in the past. Major Java vulnerabilities still exist in frameworks including JUnit, Jenkins, Maven, Tomcat and Spring.

By contrast, while Python will not ever be as secure as a non-public code like JavaScript, it features secure frameworks like Django in its foundations, as pointed out by Hackr. Also, while Java probably was more secure than Python just a few years ago, the latter's pace of development means that flaws are being patched more quickly than they are with the former. Python should not be the only code you use to modernize apps and other parts of your IT infrastructure, but it can be a safer tool when used alongside JavaScript and HTML. 

Here at the Inventu Corporation, we equip organizations of all sizes with a revolutionary terminal emulation tool called the Flynet Viewer. This solution allows developers to craft reliable and safe software using clean HTML and JavaScript hosted on secure Windows servers. All in all, the Flynet Viewer supports streamlined IT modernization and meets employer and staff expectations in a way that feels both familiar and simple. Contact us today or review our extensive product catalog to see how Inventu can help you rid your servers of unsafe Java.