It all started with a question. Why do so many of the world's wealthiest economies tend to lean toward a stack of technology that the rest of the world does not? The answer would be long and complicated, but there are things we can analyze to start to break it down. One of the most striking differences can be found looking at the use of programming languages, particularly Python. Looking to countries with the highest GDPs, we see steady growth in the use of this popular and powerful programming language.
We weren't surprised to see that Python is still popular (we use it ourselves!), but what we didn't expect to see was the sharp increase in its use over the last five years. Considering the fact that Python was first released almost 30 years ago, we wondered what could trigger this sudden surge in Python use between 2012 and now, a surge which has made Python the fastest growing programming language in the world.
Show Me the Data
Reported statistics from StackOverflow focused on four high GDP countries for research: the U.S., England, Canada, and Germany. While we also see Python use growing in countries like China, Russia, and Brazil, there was no information released on these countries. We went back to data collection points dating back to 2011 and have measured results indicative of growth and use metrics for Python and comparable programming languages between then and now.
In June of this year, Python officially became the most visited tag on Stack Overflow in our four high GDP nations, and it ranked no lower than second place globally. That's remarkable, considering that in 2012, of the top five major programming languages, Python was dead last.
On the Rise
Principal consultant at ThoughtWorks, Zhamak Dehghani had this to say about Python's sudden rise to prominence, "Python is used for everything from building Raspberry Pi applications, configuring servers, and as a scripting language for large applications. What we see today is the convergence of these Python dependent technologies coming together to return this powerful programming language to prominence."
According to projections, Python is likely to stay in the lead if JAVA continues to falter. JAVA has a seasonal tendency to surge ahead in the Fall and Winter months (when it is being taught in college classes), which may give it a temporary boost until next Spring. But Python's steady growth in recent years, one could reasonably bet, is likely to overcome JAVA's seasonal advantage over the long haul.
Thinking Outside the Clicks
So when it comes to judging Python's popularity according to clicks, Python is doing well. But that's only one metric. Next, we decided to look at the year-over-year growth rate. With an impressive 27% growth rate in these terms, Python is the clear leader with one other large and growing programming language in the running- R.
We observed that web traffic going to other large programming language tags has remained consistently large with iOS, Android, and PHP on the wane. While the growth of languages like Swift and R remains strong, it's not hard to demonstrate rapid growth for a new language with a small tag. The reason Python's sudden and recent growth explosion is significant is the fact that- in terms of age- it's a dinosaur. That tells us that Python has something that the rest simply do not. If wide spread use of Python as a foundational language for large scale convergence applications and Blackberry Pi doesn't speak to the power of the language for practical uses- its sudden rediscovery by broad swaths of users might.
Comparing Apples and Oranges
Of course, it wouldn't be fair to say that these smaller, newer languages are in direct competition with Python- they're not. It's important to point out that the growth of Python and that of R and Swift are not in the same category. Python is a special case. Its size, its overwhelmingly vetted credentials, and proven power as a workhorse with massive accessibility make this legacy programming language a titan.
The power of a programming language cannot be measured by its popularity. Its use as a mainstay of the tech industry, however, does tell you something meaningful about the power and usability of a programming language- and Python bears those attributes in spades. What is interesting to note is that in recent years, as information sourcing has become increasingly democratized and decentralized- it seems fair to presume that increased freedom of information has lead people to rediscover Python on their own.
Learning is Fun
The insurgence of cheap and free online courses has been a major contributing factor in the rising popularity of Python. Major Internet-based colleges like Coursera have created a portal to college level training in the use of Python as well as direct access to employers willing to hire top students. Python's accessibility and flexibility make it the language of choice for adult learners and those who want to achieve true competency in a relatively short amount of time.
Outside of the nations with the highest GDPs, Python hasn't yet taken the lead- but it is securely among the fastest growing programming languages. Interestingly, the year-over-year growth of Python in South America, India and others outside the main four is still better than it is in first-world nations. And in low GDP nations, Python is growing slightly more rapidly than it is in the U.S., England, Germany and Canada. This supports the projections of Khan Academy and Coursera which report that their Python programming courses are raising many third-world people out of poverty by teaching them skills which enable them to access high-paying jobs in tech.
Software architect Neal Ford said, "Python is a great utilitarian language. It's a terrific general-purpose programming language. It's not excessively complex and is very good at solving big problems."
Today, Python is being used for a wide range of applications. Many programming languages fill a niche. Bash, for example, focuses on OS tasks, while Ruby is more oriented toward web development. But Python is used in all domains from web development, system operations, scientific modeling, deployment, and more. No other language is as versatile – and that's why it is one of the languages of choice for many of our OneCore Devs!
While developers often underestimate Python initially because it's so easy to learn and can perform all kinds of tasks, they are increasingly rediscovering its power and flexibility and are turning to it as a secondary or tertiary language.
One of Python's most important strengths is its unparalleled accessibility to newcomers- people learning to program for the first time- because it's easier to create a working line of code in Python and then iterate on it very quickly. On top of this, there is a massive community standing behind Python. That means newcomers can get their questions answered easily as they move from low to high competence- while at the same time- experts who underestimated it early on are finding that when it comes to choosing a language, sometimes less really is more. So next time you're on asking code questions on a forum, if you're talking Python, you just might get an answer from a OneCore Dev!