Python is a language that’s focused on simplicity and ease of use. It’s multiparadigm, allowing programmers to write code in object-oriented, structural, or functional programming styles.
Today, it’s widely used in multiple fields, such as machine learning (frameworks like TensorFlow and Keras) and web development. After JavaScript, it is the most used programming language in the world.
Like today’s most popular languages such as C and Java, Python has a long history behind it.
A new language between Bash and C
The main person accompanying us on our journey will be Guido van Rossum.
Guido is the main creator of the language. Until 2018, he also served as the BDFL (benevolent dictator for life) of Python, impacting decisions made to the language changes and updates.
In 1989, Van Rossum was working on Amoeba, a microkernel-based distributed system, for which he was developing system utilities. While working on them, Guido realized that developing in C takes too much time. He decided to spend his free time building a language that would help him accomplish his work faster.
He had an idea of a scripting language that would be somewhere between C and a shell script: interpreted, but much more easily programmable and readable than shell scripts.
As you probably have guessed, that language turned out to be Python. A fun fact: Python is not named after the snake species, but after the British surreal comedy troupe Monty Python.
According to the words of Guido: “The reference felt suitably irreverent for what was essentially a “skunkworks project”. The word “Python” was also catchy, a bit edgy, and at the same time, it fit in the tradition of naming languages after famous people, like Pascal, Ada, and Eiffel.”
The first release
After the language was well received at CWI, the institute Guido was working at the moment, he managed to agree with his manager to publish it open-source.
In February 1991, Van Rossum published the source code of Python’s interpreter to alt.sources, a Usenet group for open-source code. While this may seem to be a regular thing—nowadays, basically all the programming languages are open-source and on GitHub—back then, it was still unclear what would be the business model of people developing the languages.
For example, there were proprietary languages, but it was hard for those to become popular. Guido has said that open-sourcing Python was one of the things that significantly helped it succeed at that time.
At that time, there were some difficulties involved in sharing open-source code. The source code for the Python interpreter had to be split into 21 uuencoded messages to share it on the newsgroup, but it was still better than carrying around a physical version of the source code like you would do before Usenet.
The first release (0.9.0) had features such as classes, exception handling, functions, and the core datatypes like list, dict, str, and so on. It was heavily inspired by ABC, a language that Guido spent some time implementing at CWI. While creating Python, his goal was to take the good parts of ABC while fixing the rest.
In January 1994, version 1.0 was released, and a separate Usenet group for it was created, marking a milestone in the history of Python.
Around that time, multiple other dynamically typed and interpreted languages similar to Python were created, such as Perl and Ruby, which shows that the need for such a language was definitely in the air.
The slow growth in popularity
In 1994, Guido was invited to the USA by NIST, the US National Institute for Standards and Technology.
NIST was interested in using Python for several standards-related projects and needed somebody to boost their Python skills. Obviously, the creator of language was a great choice.
With NIST support, Guido was able to run workshops and participate in conferences, spreading Python and attracting key contributors that would later be very important for the future of the language.
This resulted in a job offer to Guido by CNRI, a non-profit research lab. This position helped Guido create a team of Python enthusiasts and have support for releasing Python versions 1.3-1.6 and building infrastructure like Python’s website and mailing list.
You can see the commit history visualization of Python codebase in this video:
The language was shaping up nicely, with a clear set of principles and priorities.
A good example of Python’s principles is the Zen of Python, a set of aphorisms from the software engineer Tom Peters. In 20 lines such as “Beautiful is better than ugly.”, the Zen contains the core philosophy of Python.
In 1996, the language was already used to build products like Microsoft Merchant Server, a part of Windows NT.
Python 2.0, released in October 2000, introduced list comprehensions, a commonly used Python feature that was then present in functional programming languages like Haskell. It also added other features, such as unicode support and a full garbage collector. All in all, Python was building towards its future as a reliable language with a comfortable development experience.
Python 3.0
Starting from 2000, core developers started thinking about Python 3.0. They wanted to streamline the language, cutting unnecessary language constructs and functions that Python had accrued in its almost 20 years of existence. As the Zen of Python says: “There should be one—and preferably only one—obvious way to do it.”
Their efforts resulted in Python 3.0, a backward-incompatible version of the Python language that was released in December 2008. Unfortunately, the release brought some complications.
The developers hadn’t realized how much Python was used and how much of the Python code out in the wild depended on other Python libraries. Therefore, while it was easy to move one's scripts to Python 3, it was much harder to move programs that relied on third-party libraries since they didn’t upgrade that fast.
This led to a switch that was rather clunky and painful for some but greatly improved the language. Python 2 was finally retired in 2020.
Sudden growth
While Python was steadily growing basically its whole existence, from around 2010, it started on a growth trajectory that soon enabled it to rival other top programming languages, such as Java and JavaScript.
With the growth of fields like machine learning, big data, and most importantly, the increase in the number of developers out there (Python is a popular choice for the first programming language), Python’s popularity skyrocketed.
In particular, Python’s machine learning journey reached an inflection point at around September 2016, according to Google Trends. This is a year after the release of TensorFlow, Google’s ML library based on deep learning, and mirrors a similar rise in the global interest in machine learning.
The future of Python
So where is Python going?
There are a couple of areas where Python is strong at right now:
Web development
With frameworks like Django and Flask, it’s a great option for quick and simple web development.
Machine learning
Python has the best support for ML across all programming languages because of heavyweight libraries like TensorFlow and Keras. Furthermore, Python’s easy syntax and simplicity makes it the programming language of choice for ML experts and data scientists.
Data science
Python has wonderful tools for data analysis and visualization, making it a reasonable choice at any point in a data pipeline.
One of the best things about Python is that it enables specialists in other domains to quickly start programming. Its popularity is continually growing, and that is because it is versatile and widely applicable to all the fields that are just now getting boosted with automation, machine learning, and big data.
For these reasons, it is nearly the most popular programming language in the world.
PYPL ranks Python as the most searched programming language, counting searches for programming language tutorials. Meanwhile, it’s in second place in RedMonk rankings and fourth in Stack Overflow most popular technology list, its biggest competitor being JavaScript. Being at the top, it still shows one of the largest increases in user count.
WIth all that in mind, it seems that Python will continue to be a solid choice for a programming language, especially in the areas mentioned above. If you’re planning to learn Python or use it for your project, history will not prove you wrong.