How it all started? - History of Python
Python is one of the most known and popular languages, its concise, modular approach, and easy-to-use helped it with becoming one of the five most popular programming languages according to the TIOBE index. Python is a high-level, interpreted, interactive, and object-oriented scripting language with dynamic semantics, used for general-purpose programming. It is known for its simplicity, high readability, ease of use, and modular approach, since the beginning Python has grabbed a lot of attention. Last week we wrote a little bit more about the History of React, this week we spent some time digging into the history of Python, here comes the results.
The early history of Python
The development of Python was started in the late 1980s in the Netherlands by Guido van Rossum where he was a member of the National Research Institute of Mathematics and Computer Science, yup, he is also a Dutch programmer. In 1982, Guido received a master’s degree in mathematics and computer science from the University of Amsterdam. Even if he can be regarded as a mathematician, he enjoyed informatics even more. In his early life, he had a chance to use languages such as Pascal, C, Fortran, etc. This experience helped him when developing rules for Python.
Initially, Python was designed as a response to the ABC programming language. Guido looked for a language that can fully call the computer’s functional interfaces like C language, and at the same moment can be easily programmed like a shell. ABC was developed by CWI (Centrum Wiskunde & Informatica) in the Netherlands. Guido worked at CWI and had an occasion to participate in the development of the new language. Unlike most languages at the time, the purpose of the ABC language was to “make users feel better.”, and help with learning programming. Despite having good readability and ease of use, the ABC language did not become popular in the end. At that time, it required a relatively high-end computer to run, so that didn’t help with getting popularity.
In 1989, Van Rossum was working on Amoeba, a microkernel-based distributed system, he was responsible for developing system utilities. In order to pass the Christmas holiday, Guido began to write a compiler/interpreter for the Python language. He had taken the syntax of ABC, and some of its good features. To be honest, it came with a lot of complaints too, so one of the firsts steps was to fix it. One of the major problems with ABC is that it was very difficult to spread quickly, the compiler was so large that it needed to be stored on tape. Another big issue was that ABC language is not modular, if you want to add features to the ABC, such as graphical support, it would require a lot of work.
Why Python is Python, and what are the goals behind it?
Let’s start with the name, why Python is named “Python”? While you may know the python as a large snake, the name of the Python programming language comes from an old BBC television comedy sketch series called Monty Python’s Flying Circus - BBC 1960s-70s indoor sitcoms, based on British life at the time. 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 fits in the tradition of naming languages after famous people, like Pascal, Ada, and Eiffel.”
Guido van Rossum wrote in 1996 about the origin of the name of his programming language -
Over six years ago, in December 1989, I was looking for a 'hobby' programming project that would keep me occupied during the week around Christmas. My office ... would be closed, but I had a home computer and not much else on my hands. I decided to write an interpreter for the new scripting language I had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers. I chose Python as a working title for the project, being in a slightly irreverent mood (and also a big fan of Monty Python's Flying Circus).
He was also the “Benevolent dictator for life” (BDFL) until he stepped down from the position as the leader on 12th July 2018. For quite some time he used to work for Google, but currently, he is working at Dropbox.
Goals behind Python
In 1999, Guido van Rossum defined his goals for Python:
Easy and intuitive language- Python is a great language for beginner-level programmers and it is used for the development of a wide range of applications.
Open-source- Anyone can contribute to Python development.
Readability- Code is understandable almost as easy as plain English.
Suitable for everyday tasks- it won’t require vast knowledge to start work with it.
About 20 years later, it is clear that all these intentions have been fulfilled and Python became one of the most popular programming languages among Java and C.
The First Release
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 quite normal nowadays, back then, it was still unclear what would be the business model of developing the languages.
Python 0.9.0 with the first Python compiler/interpreter was released in 1991. It was implemented in the C language and can call the C library (.so file). From its birth, Python has classes, functions, exception handling, and core data types including lists and dictionaries. The original Python logo was designed by Guido’s brother - Just von Rossum. It’s worth mentioning that a lot of Python syntax comes from C, but the strong influence by the ABC language is visible. Some regulations from the ABC language are still controversial today, such as mandatory indentation.
Python 1.0, Python 2.0, and 3.0
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. Six years later in 2000 Python 2.0 was released. It was more like an open-source project from members of the National Research Institute of Mathematics and Computer Science. This version of Python included list comprehensions, a full garbage collector, and it supported Unicode. At the end of the following year, Python 2.2 brought unification of the language’s types and classes under one hierarchy, allowing Python’s object model to be purely and consistently object-oriented. You can see that creators were building the language towards its future as a reliable language with a comfortable development experience.
Python 3.0 was released in December of 2008, even though Python 2 and 3 are similar there are subtle differences. Perhaps most noticeably is the way the print statement works, as in Python 3.0 the print statement has been replaced with a print () function. Python 3 was released with no backward compatibility. That decision was pretty controversial at the time, developers did not realize how much Python was used and how much of the Python code out in the wild depended on other Python libraries. On the other hand, people were not happy especially with the great emphasis put on removing duplicative constructs and modules. The aim was to ensure that in Python 3 there was one – and only one – obvious way of doing things. 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.
Slow start and the rise of Machine Learning and AI
From the 2000s, we can observe an exponential increase in the amount of data that companies store, track, and manage. The popularity of Social Media from 2005 growing constantly, we all know names like Facebook, Instagram, YouTube, and Twitter. By 2019, 74% of adults in the US were using at least one social media platform.
The amount of data resulted in many B2B and B2C applications developed in the start-up world during this time. With data rapidly multiplying in both the financial and start-up worlds, machine learning and data science soon became a great new way of career for programmers.
Between 2010 and 2015, Python was competing with R in the field of machine learning and data science, with a lot more statisticians using R for analysis and visualization. The key aspect of Python was that its ecosystem grew quickly and out of necessity. As a programming language, it was a lot more robust than R, and this may help it become what it is today.
Large technology companies such as Google, Netflix, or Facebook became the pioneers in the field of machine learning and data science. Tools, coding conventions, best practices, algorithms, and scaled-up solutions were developed by these companies using Python, including TensorFlow a project that enables better data visualization in the data science and machine learning workflow as well as Seaborn which is used for data visualization in the scientific computing community, that helped Python with becoming what it is today.
The history of Python is a history of the great potential that was utilized in a specific gap of the growing IT industry. Python has come a long way to become one of the most popular coding languages in the world. Even if Python has just turned 30, it still has a bright future up ahead. It’s used extensively to implement complex Internet services like search engines, cloud storage and tools, social media, and so on. More and more everyday use applications are being written in Python and lots of scientists have abandoned expensive proprietary tools and decided to go with Python.
If you want to discuss your next project, feel free to contact us