We’re well into 2021, and the Python programming language is still widely recommended as the first skill young coders should learn. That’s for good reason, as it’s a human-readable language relied upon by many large organizations, including Reddit, Dropbox, Wikipedia and Google. In this article, we’ll examine the rise of Python and consider why it came to be the go-to language for companies across a variety of sectors.
The Early Days of Python
In the late 1980s, Dutch software engineer Guido van Rossum conceptualized what was to become the Python programming language. While a junior programmer at the Netherlands’ national research institute for mathematics and computer science (Centrum Wiskunde & Informatica), van Rossum created Python as a personal side project. Frustrated with the ABC programming language (also with origins in the Netherlands), van Rossum wanted a language that offered exception handling among other features that ABC lacked.
The first version of the Python programming language (Python 0.9.0) was officially released in 1991. From the get-go, Python included features important to object-oriented programming, such as classes with inheritance and a variety of data types. The language also included inbuilt functions that supported functional programming, such as map, filter and reduce. Python’s early catering to various programming paradigms, along with its simple syntax, set it up to become a general-purpose programming language to be favored by many enterprises.
Who were Python’s users in its first decade? In the 1990s, like van Rossum, many programmers had been frustrated by the lack of a high-level scripting language that was both easy to use and offered in-built functionality. These early internet developers found that balance in Python. They also found it robust enough for writing large applications, a feature that Python’s main competitor, Perl, had lacked.
Languages that did accommodate sizable codebases were less approachable than Python: van Rossum himself noted that Python’s initial users “appreciated that it was much less effort to write an application in Python than to write it in C, C++ or Java” (source).
In 1994, Python’s small user base formed comp.lang.python, a discussion group that led to increased language use. Over the remainder of the decade, Python garnered more attention from notable users like Michael McLay, then a senior developer at what is now the US National Institute for Standards and Technology (NIST). Meanwhile, everyday developers began to use it for different use cases, like web development and audio scripts.
The Zen of Python
In 1999, software engineer Tim Peters took to Python’s mailing list to send out 19 guiding principles for developing with the language. These principles, meant to aid developers in writing programs that would influence Python’s evolution, became known as the Zen of Python.
The Python Enhancement Proposal (PEP) process, responsible for the development of new features and the subsequent documentation, incorporated the Zen of Python as its 20th entry. The Zen of Python is therefore also known as PEP-20.
For the past 30-plus years, Python has stayed true to the principles outlined in the Zen of Python. For example, the early developers’ emphasis on simplicity and readability has resulted in Python having one of the lowest barriers to entry in terms of ease-of-use.
Python Becomes Mainstream
Python has clearly come a long way since the 1990s; it now boasts one of the most crowded developer communities and is the second most used language on GitHub. What happened in the 21st century to bring it to its current position as a leading language in backend web development, data analysis and scientific computing? Let’s take a look at what the last two decades have done for Python.
Maturation in the Early 2000s
A pivotal turning point for Python came in 2000, when version 2.0 was released. List comprehensions, a full garbage collector and Unicode support were new features that made big gains among the developer community.
Thanks to the rise of social media, many companies turned to Python to easily manage huge amounts of data. Java developers also began incorporating Python into parts of their apps due to it being interoperable with other languages. With the advent of the library NumPy in 2006, the scientific research community too began noticing Python.
By the mid-2000s, a few big-name companies took heed of the language. In 2005, van Rossum began working for Google, which subsequently developed an interest in programming with Python. Dropbox was the first company to fully adopt a Python codebase in 2007. Then, in 2008, the release of version 3.0 further pushed the Python programming language into the limelight.
The Rise of Big Data and Machine Learning
Following the 2007-08 financial crisis, the financial sector took up machine learning and data science in an effort to better target trading opportunities. Several enterprises, including Google, took up Python as their language of choice for their AI-driven missions, largely because it was the only choice for their productionizing and scaling efforts. This spurred the Python ecosystem and resulted in Python overtaking R by 2015 as the top language for machine learning.
With demand for AI, data analysis and automation came a need for libraries that would help manage Python’s forays into new fields. Between 2008 and 2015, Facebook, Google and Netflix pioneered new tooling, innovative algorithms and coding conventions that both popularized and contributed to the Python community.
Newer Releases Solidify Python’s Popularity
From the 2015 release of version 3.5.0 until now, Python has issued a series of releases that address key concerns with the language. Newer versions offer multiprocessing, multithreading and features that enhance memory usage. These updates, which are reflected not only in releases, but also in tooling and documentation, have solidified Python’s status as an extremely robust language.
Contributions from the developer community have also played a key role. Books such as “Fluent Python” by Luciano Ramalho (2015) and “Python Tricks: A Buffet of Awesome Python Features” by Dan Bader (2017) educate programmers on good coding practices, in addition to an uptick in knowledgeable blogs and video tutorials. Many middle and high schools in the US are now teaching Python as part of their curriculums. As you can see from the Google Trends data from 2004 to present, Python has overtaken most languages in popularity.
Python Tooling
Now we know why the Python programming language rose to prominence, let’s look at a few specific Python libraries and frameworks that today make it an easy choice for all kinds of projects.
Web Development
There’s a myriad of Python web frameworks to streamline the web development process, with Pyramid, Django and Flask being the most popular. These frameworks, along with micro-frameworks including Bottle and Cherrypy, offer robust configuration mechanisms that allow developers to build a web app in largely the same way as they’d build any other object-oriented program.
If you’re looking to publish content on the web through a Python content management system, you have options such as Plone and Django CMS. You likely won’t be working with internet protocols if you use such frameworks, but it’s useful to note that Python’s standard library does support HTML and XML, JSON, email processing and FTP, among others.
Artificial Intelligence
Despite Python being relatively late to the AI scene, it has overtaken most languages in the industry. Perhaps the best-known Python AI tooling is TensorFlow, a Google-initiated project that can train and run deep neural networks for use in AI applications. Scikit-learn, a tool built on foundational Python libraries, allows developers to use concepts like classification and regression to analyze data and build predictive algorithms.
Data Analysis
Python comes replete with libraries that enable data analysis and visualization. Pandas in particular was designed for data extraction and transformation. It’s thus outfitted with inbuilt functions to help you accomplish all your data analysis needs. When it comes to data visualization, however, Matplotlib is a one-stop-shop that helps you discern patterns in data and elegantly present your analyses.
A list of Python libraries for data analytics and machine learning wouldn’t be complete without mentions of SciPy and NumPy, which many higher-level libraries are built on top of. SciPy and NumPy are both collections of packages for mathematics, science and engineering applications and are foundational for scientific and numerical computing with the language.
Start Your Python Journey
Now that you have a better understanding of Python and its flexibility, you might have a newfound respect for the language’s power. But before you can contribute to Python’s incredible ecosystem, you’ll need to master the language yourself. To kickstart your career as a Python programmer, check out our professionally-taught Intro to Programming Nanodegree.