Python is continually growing, and last year, according to a popular language ranking service, the language was reported to have overtaken Java and C––the first time any language has done so in 20 years. With this growth, many people are asking, “Why Python?” The truth is, the explanation for Python’s ascendancy is multifaceted.
In its early years, Python was one of many so-called “scripting languages,” such as Perl and Ruby. These were very popular amongst Unix programmers and the open-source internet community because they were more convenient for scripting common system tasks than more formal programming languages like C or C++. However, Python distinguished itself from the others by having a strong design ethos around ease of use. Where other languages often prided themselves on complexity or terseness, Python had maxims such as “there should be one obvious way to do it” and “simple is better than complex.” These idioms permeated the design of the language and its early ecosystem of add-on open-source packages and eventually became codified as the “Zen of Python.”
This ease of use not only earned it a devoted and loyal fan base, but Python also started attracting a different crowd of users: scientists and engineers.
Grassroots Adoption Within Scientific Computing
A significant reason for Python’s popularity is its adoption in data science, machine learning, and data processing. But how did a “scripting language” overtake major professional programming languages like C++, C#, and Java?
For several decades, the field of “numerical computing” had been neglected by mainstream technology companies, which focused on selling into the lucrative business computing, databases, and IT infrastructure markets. Although numerical computing is critical to advancing science and human civilization, it was mostly relegated to a niche discipline, and scientists would have to write much of their own software, despite not being professional software engineers. While many eventually learned some amount of C++ or even Java, neither language made it easy to express mathematical ideas. Often, their abstractions and syntax imposed conceptual overhead that is irrelevant or even harmful for writing good numerical software.
Starting in the late 1990s, scientists and engineers began finding Python and falling in love with its ease of use and extensibility. Over the following decade, many vital projects emerged: Numpy, Scipy, Matplotlib, IPython (now Jupyter), Pandas, scikit-learn, and countless others. Due to Python’s friendly syntax, practitioners pieced together their own tools to fit their work. Scientists have to deal with extensive datasets and demand extreme performance, so the open-source scientific Python ecosystem rapidly became an accessible, diverse collection of potent and performant tools.
Big Data to AI and Beyond
With the advent of “big data,” cloud computing, and the Internet of Things in the late 2000s, large amounts of consumer data started flooding into businesses. Traditional SQL-based analytics and data warehouses struggle to keep up with the sheer volume of data. In addition, business-oriented analytics tools could not do the types of advanced modeling needed to gain insight from big data. As a result, advanced business analysts started turning to open-source tools––and increasingly, from the Python ecosystem––to perform flexible data processing, integration, exploration, and modeling. Beginning around 2015, the technique of “deep learning” ushered in a renaissance in AI, and Python has become the de facto language of that field.
The popularity of Python for data science and analytics continues to grow. In our 2021 State of Data Science report, 63% of respondents said they use Python frequently or always, making it the most popular language included in this year’s survey.
Python Has Something for Everyone
When compared to other programming languages, Python is widely applicable and versatile. It’s taught to schoolchildren as a “beginner’s language,” yet advanced researchers also use it on the fastest supercomputers in the world. It also quietly powers the complex financial modeling at the world’s largest investment banks.
People use Python in many industries such as finance and healthcare. It’s used to process images from space telescopes and build the AIs that power everyday apps, such as Lyft, Uber, Instacart, Netflix, Dropbox, and Instagram. Python is used all over Hollywood—the creators of your favorite blockbuster with amazing 3D graphics almost certainly used Python at many steps in their graphics processing pipeline. Even the landing of the Perseverance rover on Mars wouldn’t have been possible without Python.
Python As Glue
The final advantage of Python might seem counterintuitive at first. However, we observe that while Python isn’t always the best choice for any given job, it’s almost always the second––or third-best choice. Moreover, this unique ability to “do many things reasonably well” means that individuals choose Python when they need to bring two or more different computing workflows together. The real-world consequence is that Python frequently becomes the “connective tissue” between many competing technology “stacks” within an organization.
Learn Python Today!
For those who aren’t programmers, you can quickly learn Python in a weekend to execute simple analytics and projects. Python also serves as a great teaching language for machine learning and AI. By understanding the basics of programming with Python, users can learn the foundational blocks before moving on to more complex ML/AI projects.
Over the past two years, Anaconda has seen a 14% increase in Python package downloads during the August to September back-to-school timeframe, attributed to professors requiring Python in their lessons. In addition, 100% of Ivy League schools teach using Anaconda in their curriculum.
Python has a use case for you, whether you’re a data scientist, a student, or a hobbyist. With its accessibility and usability, the programming language has positioned itself as a connector for all levels of experience, use cases, and technology stacks. Python has built up a formidable moat. When asked why we are such champions for Python, we look at all of the factors that have taken it from a language predominantly used for scientific computing to a language that anyone can use and ask, why not?