It’s not a secret that Python is among the most popular programming languages. However, as teams, technologists, and CTOs think about the near future, they may be wondering whether Python is worthwhile money.
Let’s examine Python’s decade of exponential growth, the present issues and common issues users face with the language and ways Python can evolve to become more accessible to new users.
How Python gained popularity
My involvement with Python has increased from the time I first started using it to research my projects in graduate school to continue being able to incorporate it into my work as I’ve moved from my job position and project over 20 years. Today, it’s developed to the point that most of my projects use pure Python, meaning I’ve been privy to witnessing it grow into a fantastic language.
If I take a larger perspective than my own experience of the language, it’s fascinating to see the progression of Python’s popularity in both popularity and proficiency beginning in 2012.
The chart below shows the percentage of StackOverflow queries on popular programming languages as of 2009. It’s clear that Python stood at or near the low end at the beginning of 2010 and then took a dramatic increase which turned into a rabid climb towards the close of the decade, a trend that hasn’t stopped.
One possible conclusion from this graph is that the increase in Python’s queries is due to it being a language that makes people inquire a lot about it. But I don’t believe this is the case. As someone with a great deal of experience in C++ experience as well, I’d consider C++ to be more challenging to understand and even more ambiguous. However, it has experienced a further increase in Stack Overflow queries.
To provide additional information to provide further insight, this chart displays the amount of Python Enhancement Proposals (or PEPs) from 2000. A PEP is a process by which an individual in the Python community advocates for a change to features or the standard library of Python or how the language works generally, and the proposed change is discussed, then debated, and voted on to decide whether it should be implemented. Because there is a lot of discussion and debate, the number of PEPs could serve as a rough measure of how involved the Python language is.
Looking back, you will see the presence of PEPs at the beginning of 2000, when the language was evolving into the Python we use today. Then there were a lot of valleys and peaks in 2012, at which point the number of PEPs increased to a record and steady amount of activity until 2019.
Each chart shows increased Python community involvement and popularity since 2012, the year Python 3.3 came out. When Python switched to Python 3–going all-in with the version that wasn’t backward compatible with Python 2, it was a lengthy project and a risk that resulted in a positive outcome. From my experience, Python 3.3 was when the language started to function effectively and efficiently without the need for additional engineering and could be used confidently in projects with the confidence that the components you required were present.
All of this helps to make happy programmers. Happy programmers are eager to feedback on the language, create the libraries of their choice, write proposals, and help keep the ecosystem flourishing. Once that occurs, the language continues to grow, and the rest is history.
Four key facts about Python today
With a clear picture of what Python was like yesterday, you may be thinking, what can you do now? Do I need to learn Python? Should I invest my time in it? Do I have a chance to bet on it being well-supported and having an established developer pool for the duration?
When I looked at the two charts I previously posted, some facts about Python were clear to me. I think these realities could help to answer a few of these questions.
Python is extremely popular: It may seem unnecessary to repeat this. However, we need to acknowledge the significance the popularity of a language plays in its longevity. It will be a dead language if people are not using it. Many people are using (and taking pleasure in using) Python.
Python’s popularity is self-sustaining. With this huge popularity comes the concept of autonomous technology; Python will likely continue to enjoy widespread use due to its already in use. It’s extremely difficult to replace the current popularity.
Python’s accessibility makes it appealing. The fundamental characteristics of Python, its interface, and how it functions and feels will continue to draw developers to it and, possibly more importantly, non-developers as well. Python has been so successful because those who don’t have a CS degree or who do not want to learn about type systems or other obscure software can learn Python very easily since it’s a pleasant language to work with.
Python has a vibrant developer base that is bringing in fresh concepts: With so many contributors to PEPs and committed to the library standard and the ecosystem, Python is ready and can draw in external ideas for the future so that it will continue to enhance the functionality of the language. The strong developer base forms the basis of the continued growth of Python.
Python is a language that has some lingering issues but also huge opportunities
In the end, I’m anticipating a Python shortly that is more contemporary and elegant yet still has a sense of community involvement and developer involvement. However, it may not be as frantic and raunchy as previously (those who were through painful changes to Python 2 and 3 might know what I’m talking about.)
I believe we’ll see several issues resolved meaningfully to reach the next phase of Python’s life cycle. I use the word “potential” with intention since I believe that all the issues I’ll bring up have equal opportunity, the same way as a few pain points.