Udacity


We’ve recently discussed how developed countries that are defined by the World Bank as high-income tend to have very different choices about what type of technology to use than the rest of the world. One of the biggest examples of such differences is the Python programming language. If you look only at high income countries, the growth in Python over the years far exceeds the growth of global software development tools like the StackOverflow Trends tool.


Today, we’ll dig into the details of the explosive growth of the Python programming language over the last five years, mainly in terms of StackOverflow traffic generated by users in high-income countries. Of course, it’s hard to define a term like “fastest growing,” but we do find conclusive evidence that Python is the fastest growing major programming language in recent years.



Unless otherwise indicated, all data discussed below are for high-income countries only; These traffic mainly comes from developed countries such as the US, UK, Germany, and Canada, accounting for about 64% of StackOverflow visits; Other countries, such as India, Brazil, Russia, and China, have certainly made significant contributions to the global software development ecosystem, which we won’t discuss in detail in this article, but we can see Python growing in these countries as well.


It is important to note that the number of users of a language is not a measure of the quality of a language: we are simply describing how developers use programming languages, not making any judgments about them.



The growth of Python in high-income countries


From the StackOverflow trends tool, we can see that Python has been growing very fast in recent years. But what about high-income countries alone? We measured the number of readings per question, not the number of responses — although the results were similar, the monthly interference was smaller, especially for smaller labels.


The statistics available for StackOverflow problem readings are from the end of 2011 to the present. In this context, we compare Python with the other five major programming languages. (Note: This is a smaller range than the trend Tool analysis, which uses data from 2008 to the present.) These programming languages are now six of the top 10 most-visited tabs on StackOverflow in high-income countries — the other four not included in the comparison are CSS, HTML, Android, and JQuery.



Statistically speaking, Python overtook Javascript as the most read tag on StackOverflow for the first time in June 2017. Python is the most read language in the United States and the United Kingdom, and a distant second to Java or Javascript in several other high-income countries. This is a remarkable achievement, considering that in 2012 it was lower than any of the other five programming languages, and it has increased 2.5 times in just a few years. Of course, this is partly due to the seasonal pattern of Java access: Since Java is such a large portion of college courses, Java reading peaks in the middle and end of each semester, and then falls off during the summer. Is it possible that Java will overtake Python again by the end of this year? We use a trend analysis model “STL” to integrate quarterly changes with the overall growth trend and forecast the growth trend of the next two years:



According to the model, Python may continue to lead, or it may be temporarily overtaken by Java this fall (all within the range of expected changes in the model), but it is clear that Python will be the no. 1 read label in 2018. The STL model also speculates that Java and Javascript will continue to be at a relatively similar level, as they have been for the last two years.


Which label is growing fastest overall?


All of this data is limited to the six most-accessed programming languages. But with so many technologies blossoming, who is the fastest-growing technology in high-income countries today?


We decided to look at the 2016 and 2017 reading growth rates for major programming languages (Java, Python, etc.) and platforms (iOS, Android, Windows, Linux, etc.), But it doesn’t include frameworks like Angular or tools like Tensor Flow (though many of them are doing well, maybe we’ll talk about that later).


Due to the differences in volume and volume of growth, mere growth figures are not comparable. Therefore, we used an average difference plot to compare the total amount and growth rate of each tag.



As the chart shows, Python leads the pack with an annual growth rate of 27% : the fastest growth in tags with large bases, and the largest total growth in tags with fast growth. Similar to its growth rate, the second largest language in total volume is R. In high-income countries, traffic for most of the larger tabs has remained relatively stable, with the exception of Android, iOS and PHP, where traffic has declined slightly. Objective-c, Perl, and Ruby, which we discussed earlier, all have significant downsizing. Of the functional programming languages, Scala had the biggest and best growth, while F# and Clojure had low and declining numbers, and only Haskell remained stable in the middle.


However, there is one special member in the figure above that can’t be shown: Typescript. The number of questions read about it has increased by 142% in the last year to the point where it’s not on the chart. At the same time, you can see a number of relatively small languages growing at the same or higher rate as Python (R, Go, Rust), while Swift and Scala are showing impressive growth. So how does their total reading compare to Python?



Languages like R and Swift have grown at a phenomenal rate, and TypeScript has more than doubled in that short period of time. Almost all of these smaller programming languages have come from total obscurity to now occupy a significant share of the software ecosystem. But as you can see from this chart, it’s relatively easy to scale faster for languages with relatively small volumes.


Note that we’re not comparing these languages to Python, but just trying to explain how fast these languages are growing relative to their volume — all of them have a lot of future. But in the current statistics, Python really stands out: it is both the most read of these languages and one of the fastest growing. (In fact, it’s accelerating! The average growth rate has increased every year since 2013.)


Around the world


So far, we have analyzed trends related to Python in high-income countries. Is Python seeing similar growth in other countries around the world, such as India, Brazil, Russia, and China?


The answer is yes.



Python remains the fastest growing major programming language in the rest of the world, and it has remained relatively low in the past, with rapid growth starting two years later than in high-income countries (2014). In fact, the annual growth rate of reading Python-related tags among users in non-high-income countries is even slightly higher than in high-income countries. Although not shown in the chart above, visits to another programming language with a positive correlation between usage and GDP are also on the rise in these countries: R.


Many of the conclusions in this article about the rise and fall in the number of question labels read (as opposed to absolute rankings) are based on data from high-income countries, but hold true for other countries and regions. The Spearman correlation coefficient of the growth rate data between the two different regions is 0.979. In some cases — such as the growth of Python — you can see something like a “lag” : a year or two after a technology becomes widely available in high-income countries, it gradually expands globally.


Next research direction


We didn’t write this article to start a war. The number of users of a particular language is not an indication of its quality, and it certainly doesn’t tell you which language is better for a particular situation. With this in mind, we believe that similar studies can help us understand what languages make up the current software development ecosystem and predict where the industry as a whole is going to change.