5 Facts About Python
As Python continues to enjoy growing uptake, DZone Zone Leader Jo Stichbury looks at some of the reasons behind its success.
Join the DZone community and get the full member experience.Join For Free
I was idly browsing through The Economist the other day, and found an excellent primer to the Python programming language. I thought I’d pick out and elaborate on some of the points that made it such an interesting read, and present you with some extra numbers to back up the article.
The Python Population Is Exploding
The survey also reports Python to be the sixth most loved language (behind Rust, Smalltalk, TypeScript, Swift, and Go), and I think it’s interesting to note that Python is the top language that is both used and loved (the other languages that are loved are mostly aspirational, for example, TypeScript is used by just 9.5% of people, while Rust and Smalltalk aren’t even on the scale).
On Stack Overflow, the Python tag has 990k questions and over 600K followers. The team published a blog post in September 2017 that analyzed Python’s popularity, which is also well worth a read. Take a look at this graph from the post, showing the growth of Python relative to five other major programming languages.
There’s a Python Package for Everything
There are more than 147,000 packages in the package repository (colloquially known as the Cheese Shop), which are what make it so versatile, and so popular. You can use Python for everything from web development, to data science and data visualisation, to games development, and DevOps, without having to start at ground zero and implement your own code for everything.
If you want to know why it's called the Cheese Shop, watch this Monty Python sketch.
It's a similar story over on GitHub, where there are over half a million public repos using Python. In 2017, it replaced Java as the second most-popular language on GitHub, with over 1M pull requests. Over on the GitHub Trends site, you can see the most popular repos for Python, and it is a good place to observe the sheer diversity of projects built upon Python.
Python Is Powering AI and Data Science
With so many packages available, we are seeing, in particular, a huge uptake in those used for AI and data science projects.
Python has become the language of choice for AI researchers. Google’s TensorFlow is the most forked project over on GitHub. Along with other libraries such as scikit-learn and Keras, it provides a solid basis for AI development, offering flexibility and ease of use to anyone who knows Python. The availability of these libraries is key because they allow developers to focus on extending them and building a useful project rather than reinventing the wheel.
It’s a similar story in data science - Stack Overflow reports the pandas project to be the fastest-growing Python-related tag on their site. Along with NumPy, SciPy, and other scientific computing packages, it was created in Python because the language is relatively simple and consistent (compared to C++), making it accessible to those who want to use a tool but are not trained, or in training, to be software engineers. An additional, but extremely compelling, reason for using Python is the availability of tools like Jupyter (IPython) notebooks that allow for sharing and collaborative iteration.
Python Is Aspirational
The Economist article notes that 40% of American schools now offer lessons in Python, up from 10% in 2013. In the UK in 2015, it was reportedthat Python has overtaken French as the most popular language taught in primary schools, with 6 out of 10 parents preferring their children to learn it instead of French. Perhaps unsurprisingly, 75% of primary school children said they would rather learn how to program a robot than learn French.
Python Breaks the Internet
Python turns 30 at the end of next year, but still has “it,” whatever “it” is. This year, Google users in the US have consistently searched for Python more often than they have searched for Kim Kardashian, and Python searches regularly even outstrip searches for Donald Trump (by the way, I apologize for the use of strip and Donald Trump in the same sentence).
Do you have any feedback on Python? What are you using it for, and what’s your favorite package? Please let me a note in the comments!
Opinions expressed by DZone contributors are their own.