The interest in Python among software developers and IT companies grew rapidly during three years and peaked in 2017 when its growth rate has gone even beyond the expectations of the community. We waited for a while to make sure that the fuss around Python is not just a fad. Now there can no longer be any doubt that this programming language is about to outrun such heavyweights in the software development industry as Java, JavaScript, C++, PHP, and C#. Let’s jump right in relevant statistics and track down the current trends.
Python vs. 5 Major Programming Languages
We used Stack Overflow Trends data as a basis for our review. This tool allows tracking how many queries each programming language (or whatever else asked on the website) receives every day. The most relevant tags on Stack Overflow fully reflect worldwide trends because of the overwhelming popularity of this resource among coders. Stack Overflow Trends tool has been operating since 2009, so we can see the dynamics for the period 2009-2018. Take a look at the picture below:
Python had remained fairly stable in 2009-2012 and lagged behind all these tags showed in the picture, whereas in 2012 it started its incredible rise accelerating in 2017. At the current moment, only JavaScript is still ahead of other languages, although it hasn’t demonstrated any significant growth since 2014.
Meanwhile, Python is ranked second and apparently is not going to stop. According to the Stack Overflow research, it has already left behind Java and JavaScript if consider question views from only World Bank high-income countries.
When it comes to other major languages, the stats can be summed up as follows:
- Java and JavaScript (especially Java) are highly prone to seasonal fluctuations. JavaScript holds its ground for now when Java’s popularity tends to fall;
- being in high demand earlier in the decade, C# slowly but surely yields its positions;
- the same applies to PHP: now it is 4th on the list and will continue to fall;
- C++ has become the least popular tag since 2012.
A mass Python fever in developed countries is a fact, but what about non-high-income nations? And why Python is still not the most popular language in the overall charts?
Well, that is where the answer lies. Countries with a large population such as China, India, Brazil, and Indonesia also make the huge contribution to the Stack Overflow Trends. The current trends of developed Western countries extend to those regions with 1-2 years of delay. Here Python started to rise in 2014 instead of 2012 and has not yet reached such a growth rate as it is in developed countries.
3 Reasons for the Python Growth
What triggered such a spike of interest in Python? We found three key reasons why it could happen:
1. Expansion of Data Science & Machine Learning Domains.
According to IBM, the demand for data scientists will increase by approximately 30% by 2020. Moreover, data science positions ranked 2nd in the list of top emerging roles at LinkedIn. Machine learning engineers hold the first position.
These two industries are rapidly expanding, so there is a significant demand not only for specialists but also for technologies that can be successfully applied in these domains. Python is associated with them due to its following advantages:
- numerous libraries (like NumPy, ScikitLearn, SciPy, PyBrain, etc.) can be used in machine learning right out-of-the-box;
- a variety of machine learning algorithms on the resources such as Scikit-Learn and TensorFlow are available for Python and may be applied immediately;
- Python comes with pandas – a data analytics software library recognized as a powerful tool for data scientists.
It’s worth noting, pandas is the fastest growing tag related to Python on Stack Overflow. The other rising “Python” tags are NumPy and matplotlib.
2. Versatility & Simplicity of the Language.
Python is multifaceted. Apart from machine learning and data science, it is widely used in software development, artificial intelligence, web and mobile applications’ programming, scientific modeling, etc.
The other beneficial feature is a simple syntactical character of Python’s code, which makes it easy to learn from scratch. Some developers even joke naming it “readable pseudocode.” An important event in this regard was the release of Python 3. This version can boast of fixed performance bugs and new features simplifying the learning process even more.
3. Applicability for Business & Non-Technical Purposes.
Two previous points flow smoothly into the third one. Those who run any business (even in the non-technical field) also need to work with data but don’t want to go into the finer points of programming. As a simple language to learn, Python becomes a perfect choice for entrepreneurs and their assistants – marketers, financial analysts, and project managers.
It’s hard to say in which tech field Python is the most efficient. As its growth is evenly spread across domains, we may conclude that it is a must-have for each IT specialist regardless of his/her narrower specialization.
Python Community in Ukraine
In Ukraine, both companies and specialists have just caught the overall trend. Python is growing in Ukraine as well as in other regions, but it is still not in the highest demand.
We went to the leading Ukrainian job-seeking website, Work.ua, to check this claim. Using search by query we got:
- 86 “Python”;
- 524 “PHP”;
- 176 “Java”;
- 204 “JavaScript”;
- 85 “C++”;
- and 90 “C#” job postings in the past 30 days.
This trivial research shows that demands of the Ukrainian labor market do not reflect the worldwide trends so far. Still, the strong Python community is already represented by Kyiv Python User Group, Lviv Python User Group, and some others. These organizations constantly arrange PyCon Ukraine, a non-profit conference with more than 500 participants. Edgica participated in the PyCon 2017 in Lviv last year. The upcoming event will be held in Kharkiv on April 28-29, 2018.
Looking further ahead, Python will continue to rise and highly likely overtake Java and JavaScript. Now it is considered to be the fastest growing major programming language, although there are some technologies like R, Swift, Go and Rust which are developing extremely quickly. However, they can’t compete with Python due to much lesser relevance. This way, if you were wondering whether you can benefit from learning Python, now you know the unambiguous answer. Yes, you definitely should give it a try.