The numbers don't lie, and Python is creeping up on the heels of Java. As one can see from our skills watch, Java is still asked for in more job openings than Python. But, the pace of that request has stagnated. Meanwhile, Python has been on a fairly smooth growth trajectory, increasing by about 30% over the course of the last 18 months. If this trend continues, it appears that Python could pass Java as the most requested language in the next six months.
The obvious question is, why is Python growing while Java is just maintaining? A very good question that has no clear cut answer, but one can always speculate why this trend is occurring.
LicensingSince this is a FLOSS specific site, licensing always finds itself at the forefront. Python is licensed under the GNU General Public License. Hence, the ease in which it can be adopted. There are essentially no hurdles for any developers to utilize it. Meanwhile, Java is a little more complex, because there are two licenses in which it falls under. First, you have OpenJDK, which is an open source based derivative of the Java platform. Therefore, much like Python, adoption is easy. However, there is also a proprietary version, Oracle Java. As with most things that are proprietary, there is a cost. This cost might hinder corporations from making it part of its infrastructure. It has been well noted that there are a number of companies that have been asked to pay Oracle close to six figures for breaching its Java SE agreement. This conundrum may cause a company to look in another direction.
VersatilityIt is a chameleon of sorts. Its usage is vast throughout the technological landscape. From administrators to web developers to cloud based engineers, the ways in which Python is being utilized are broad. However, just because it is used in multiple ways, that does not mean that it is the leader in each category. Specifically in regards to web development frameworks, our numbers suggest that Java, for the most part, maintains its numbers over the course of time. Meanwhile, Python based frameworks have been in decline over the same period.
Based on the above data, then what is the most logical reasoning for the growth in Python versus Java? After all, even with licensing being a potential issue, it appears it has not had a meaningful impact on the overall numbers. And, Java is holding its own in the web application framework race. Ultimately, Python appears to be gaining its momentum in other areas of development; specifically cloud, automation and monitoring.
CloudIt is always about the cloud; we hear it time and time again. And, in this case, a big benefactor of this movement is Python. Based on the data that we mine, there is a very close correlation between the growth of job descriptions that contain the keyword “cloud” , and the ones that contain the keyword “Python”.
AutomationAutomation has grown tremendously over the years, as the movement of engineers adapting DevOps best practices continues to gain momentum. We detailed the growth in this specific area in a previous article on this site. Ansible has seen immense growth over the last couple years, and with it being Python derived, it is fair to consider this as a logical contributor to the overall growth in Python.
I am sure there are other areas where one can speculate the growth is coming from. Nonetheless, the trends are in Python's favor. Python has been around for awhile (1990), but it appears that it is really finding its sweet spot based on the direction of the technological landscape. The strong growth is within the cloud and artificial intelligence arenas, and Python finds itself immersed in both of these movements. With that being said, it appears fairly certain that it is only a matter of time that Python will supersede Java. A thought that would never been given much consideration just a couple of years ago.