It may share a name with an animal that slithers on its belly, but recently Python has gained some real legs. In fact, according to Stack Overflow’s 2018 Developer Survey, Python has for the first time surpassed C# in popularity among developers.
That’s staggering, considering that Python is old enough in human years to have settled down and had a few kids. (By comparison, C# would just now be graduating high school.) More importantly, languages like C# and C++ have the weight of entire industry sectors behind them — so why the gain for Python right now? There are a few reasons.
Open Source, of Course
The most likely reason for the growth in the popularity of Python lies in its cost — or lack thereof. While languages like C# are technically free to use, they limit the toolsets available, and therefore lead to necessary costs. Using an open source-backed programming language not only saves money on tools, it also means you have access to more extensive — and likely free — libraries.
“We didn’t want to be on the Microsoft stack,” explains Adam D’Angelo, co-founder and programmer for Quora. “…we knew we’d need to integrate with lots of open source code that has only second-class support for .NET, if it supports it at all. Also, most of the best engineers these days are used to open source stuff.”
From that perspective, Python’s age is actually a boon rather than a curse, thanks to the familiarity and huge pool of interest within the programming community. Notes D’Angelo, “We also had a lot of confidence that Python would continue to evolve in a direction that would be good for the life of our codebase, having watched it evolve over the last 5 years.”
Easy to Learn and Understand
One of the most beautiful things about Python is that readability and simplicity are fundamental values. This makes the language easier to grasp for newbies. One reddit user observes that his university defaulted to Python for intro to programming courses. “This made it much easier for freshmen or people who maybe just wanted to ‘see what this whole programming thing is about’ to ramp up quickly and not spend hours [messing] around with make files, fighting the compiler, seg faults, etc.”
A Multipurpose Language
A mobile app developer may code in Objective-C or Swift; a data scientist, in R, and a web developer, in PHP. But Python is flexible and powerful enough for these use cases. Developers have access to hundreds of specialized packages and libraries for mathematical and scientific usage; as well as web, UI and graphics frameworks. The ready availability of the wide range of libraries makes it faster and easier to develop applications in Python.
Popular for Data Analytics
When analyzing traffic to Python-related questions on their site, Stack Overflow also took the time to note associated tags and subjects. Of these, the data analysis library pandas topped the list in terms of both overall visit volume and year-over-year growth.
Django came in at a steady second, indicating the continuing interest in Python as a web framework, but numbers three and four were numpy and matplotlib — both of which are used heavily in research, experimentation, modeling data analysis and other forms of research-based activities. Combine the availability of these libraries with Python’s minimal costs and the language’s ease-of-use for newcomers, and you have a recipe for widespread adoption among the research communities.
Languages like Java, C#, and C++ are here to stay, but the fact that Python has been enjoying so much renewed support is worth noting. Teams who want to develop in a thriving, accessible and open source-friendly language have more incentives than ever to adopt it for their applications.