Commentary: The Python programming language continues to overcome the challenges of its growth. Here’s why you should expect this to continue.
There are several reasons why the Python programming language shouldn’t exist, and yet there are tens of millions of developers and data scientists who appreciate it. Python should have split into at least two different communities – it doesn’t. It should have required significant corporate funding like Go or Swift to grow and thrive – it doesn’t. And that probably should have been ignored in data science as people rushed to R – but it wasn’t.
Instead, Python continues to grow as one of the most dominant programming languages in the world. There are good reasons for this, and why it hasn’t fragmented or suffered from any of the issues mentioned above. Peter Wang, co-founder and CEO of Anaconda, told me about the sustained and “absolutely explosive” growth of Python, and why another programming language is unlikely to catch up.
SEE: Python is devouring the world: How a developer’s side project became the most popular programming language on the planet (PDF cover story)
There is something about Python
Python caters to a wide range of users, from the most discerning data scientists to beginning college students. That’s by design, said Wang, whose company has been at the heart of Python’s evolution as a first-class tool for data scientists:
There are two things Python does that are very different from all the other major languages. First, it has the pedigree of being a language of instruction. It’s easy to use, easy to learn, kids use it, non-programmers pick it up in a weekend. It is not accidental; it’s been a hardcore part of the design from the very beginning and quite intentional … The second thing that’s interesting about Python is that from the very beginning it’s been good as a glue language.
This is also how Python began to find its way into data science, which until then was the domain of R and other ‘built for data science’ languages / tools. But not necessarily through people who already knew R or were familiar with MATLAB, branching out into numerical computation. Rather, they were new to data science, Wang said, “This is the casual, non-developer person. The non-CSs. This is the VP of product, these are the marketers and sports analysis. That’s everyone. I mean, Python’s competitor is Excel. It’s not Java, or Ruby, or R, or Julia. ”
Python, in other words, democratized data science by opening it up to more people. As this has happened and the Python community has innovated to make language a top-notch option for data science, languages like R have declined, according to an analysis by Terence Shin covering more than 15,000 data scientist job offers.
Python’s strength in data science (and numerical computation, in general) owes a huge debt of gratitude to the early efforts of the pioneers of scientific computing. Even though the early developers of Python set it up to be a big competitor to Perl and other web development languages, Wang said, Guido van Rossum, the founder of Python, has remained friendly with the scientific computing community, encouraging them to improve Python for their needs. . This helped to minimize the need for the project to branch off.
SEE: Programming Languages: Why Python 4.0 May Never Happen, According To Its Creator (TechRepublic)
And so we end up with a programming language that does a lot of things well. According to Wang’s calculations, it’s unlikely that any other programming language could catch up with Python:
This doesn’t mean that Python is perfect.
Python growing pains
According to Wang, there have been problems with Python-like packaging for a long time. It’s fantastic that you can take existing libraries, C ++, Fortran, etc. and connect them using the Python glue mentioned above. However, you still have to figure out how to compile all of these libraries. A developer working with a web language like Ruby doesn’t really need to worry about this. It doesn’t affect native compiled libraries except maybe for SSL and encryption and maybe a few optimized data loaders, because for the most part everything is interpreted.
According to Wang, van Rossum didn’t want to clutter Python with this ability, so Anaconda took it over, creating their own packaging system for Python. The Anaconda distribution (much like what Red Hat did in Linux) makes it easy to take hard-to-compile things like Fortran and make them work seamlessly with Python. In addition, the community is increasingly focusing on improving the performance of Python.
SEE: Recruitment Kit: Python Developer (TechRepublic Premium)
And, of course, there is a long way to go. Fortunately, the popularity of Python means that there is a large and growing population of contributors keen to tackle any obstacle to its growth. According to Wang, “The sheer amount of users, legacy code, and valuable business issues creates a potential and lucrative market for people to solve those issues that the Python ecosystem will solve well. [any] obstacles. ”
Or, to misquote Linus’ Law, given enough Pythonists, all of Python’s problems are solvable. Which, of course, will just lead to even more growth and adoption of Python.
Disclosure: I work for AWS but the opinions expressed here are my own.