Stack Overflow is the most popular website that programmers across the world visit for code examples and solution to common programming problems. Stack Overflow works as questions and answers website, where every question is tagged to one or more programming languages. Python is the fastest-growing major programming language the most visited tag on Stack Overflow.
A question naturally follows why Python is growing so fast. I know Python can be used for many purposes—Python web development to mobile app development to data science to DevOps. So can be Java, Perl, Ruby, etc. What sets Python apart for other languages. What is driving the growth?
An initial analysis suggests two major reasons:
- There is a sudden rise of Python usage in web development
- Something else is driving this growth. It could be its application in data science, DevOps or something else entirely.
A versatile language, Python
Python is a multipurpose language used for various tasks, such as web development and data science. How could we unravel Python’s current growth across these fields?
We could examine the growth in traffic from notable Python packages. We could compare the web frameworks Django and Flask to the data science packages NumPy, matplotlib, and pandas. I have used Stack Overflow Trends here.
The new Python trends
Stack Overflow clearly indicates pandas is clearly the fastest growing Python package. It was introduced only in 2011 but now is responsible for 1% of Stack Overflow question views.
Questions about the data science packages, numpy and matplotlib, have grown considerable over the years while traffic to Django questions has remained steady during that time. Although Flask is growing, it’s growth is nowhere near those of data science packages of Python.
It is clear the rise of data science is a major driver in the growth of Python as a programming language. But we cannot say for sure if it has beaten Web Development in that metrics.
Libraries & packages driving Python usage
Before, I move any further and establish the reason behind the phenomenal rise of Python. I would like to introduce you to some of the packages, libraries and frameworks I took in account in the section above.
Data Science Libraries:
These three powerful libraries enable
pandas: pandas is a software library written for the Python programming language for data manipulation and analysis. In particular, it offers data structures and operations for manipulating numerical tables and time series. It is free software released under the three-clause BSD license. pandas assumes general familiarity with NumPy.
NumPy: NumPy is a library for the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays. pandas is built on top of NumPy and is intended to integrate well within a scientific computing environment with many other 3rd party libraries.
Matplotlib: Matplotlib is a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. Matplotlib can be used in Python scripts, the Python and IPython shell, the jupyter notebook, web application servers, and four graphical user interface toolkits.
Read more: Unique C# platform for cross platform apps
Web Development Frameworks
Django: jango is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Flask:Flask is a Python web framework built with a small core and easy-to-extend philosophy. Flask is considered more Pythonic than Django because Flask web application code is in most cases more explicit. Flask is easy to get started with as a beginner because there is little boilerplate code for getting a simple app up and running.
Industries that are driving the growth
As per another Stack Overflow trend, the industry with the highest amount of Python traffic (by a substantial margin) is academic world, comprised of schools and universities. Is this because Python is often imparted in UG programs?
Partially, if not completely. Java is also taught to UG students in computer science and related discipline. Python traffic from universities is usual in the summer, not just in the autumn and spring. The same goes for Java. So why is the difference in their periodic trends.
The traffic to Java falls sharply around the time summer while in the case of Python, the fall is more balanced and evident. Java, in fact, is a comparatively a more common subject in UG courses than Python is. Yet, Python takes a larger share of summer traffic. This points to one thing. Research goes on a university round the year, not just Summer, Spring and fall.
Academic researchers make up a majority of the high traffic to Python from universities. They work around the year. According to a question on Quora: What are currently the hot topics in computer science research? answered by Igor Markov, Michigan EECS Prof, who works at Google. Abundant-data applications, algorithms, and architectures is biggest topic of research in computer science.
The other industries
As for the other industries, we’ve saw that Python is prevalent in public sector. It is also the programming language of choice in the electronics and manufacturing industries. I’m less acquainted with those industries and they make me wonder–why the language hasn’t emerged much in retail or finance sector.
Is Python traffic growing more quickly in some industries than others?
The rise of Python as a programming in the last year has been consistently spread out across industries, at least in the UK and US.
In many of these industries, Java remains the most-used language, but Python is making immense progress. For example, Python second most popular language in finance after Java. An year ago it was nowhere to be seen.
In any case, data science is an exhilarating, rising field, and there’s ample room for numerous languages to prosper. My foremost inference is to cheer developers early in their career to start building skills in data science. Python is the fastest growing programming language and data science is the fastest growing field in computer science.