Python History

On a cold, foggy night in December 1987, a Dutch scientist called Guido van Rossum woke up in the middle of the night. He just had a profound dream, and although he didn’t know at the time, it would turn out to be a dream that changed his life and the lives of many others. So he got out of bed and slipped into his pantofles. After throwing some wood in the almost smothered fireplace, he started jotting down as much of this dream as he could remember. A new programing language was born: Python, and this is Python’s history.

The inception of Python

The only truth from the above story is the name and date, probably. However, Python does have a long and interesting history.

In 1987, Guido worked on a big distributed operating system at the CWI, a national research institute for mathematics and computer science in the Netherlands.

Within that project, he had some freedom to work on side-projects. So, armed with the knowledge and experience he had built up in the years before, working on a computer language called ABC, he started writing the Python programming language.

Extensible

In a 2003 interview with Bill Venners, Guido mentioned what was probably the biggest innovation in the new language:

I think my most innovative contribution to Python’s success was making it easy to extend. That also came out of my frustration with ABC. ABC was a very monolithic design. There was a language design team, and they were God. They designed every language detail and there was no way to add to it. You could write your own programs, but you couldn’t easily add low-level stuff.

Guido van Rossum

He decided that you should be able to extend the language in two ways: by writing Python modules, or by writing a module entirely in C. It turned out to be a success because immediately his CWI colleagues, the users, and Guido himself started writing their own extension modules. The extension modules let you do all sorts of things. Just a small selection of modules that exist today:

  • graphics libraries,
  • data processing and data science libraries,
  • libraries to work with all sorts of file formats (like JSON, YAML),
  • communicate over the network
  • build websites and website backend
  • … and so on

Since its inception, Guido has been actively involved in Python’s development until this day. After a short retirement, he returned to work. Microsoft currently employs him and his main focus now lies in improving Python’s speed.

Python history: a timeline

Let’s dive into some Python history! The following figure shows a global timeline of Python’s historical and most defining releases:

A graphical timeline of Python's history
The history of Python

Python 2 vs Python 3

As you can see from the Python history timeline, Python 2 and 3 have been developed and maintained side by side for an extended period. The primary reason is that Python 3 code is not entirely backward compatible with Python 2 code. This incompatibility caused a prolonged adoption rate. Many people were happy with version 2 and didn’t see much reason to upgrade. On top of that, Python 3 was initially slower than Python 2. As Python 3 kept improving and receiving new features, eventually, it started to take off.

This guide focuses entirely on Python 3 since it is now the default and only supported version. In the real world, you may encounter Python 2 code. I shared some tips on migrating from such code in the chapter Migrating from Python 2 to 3.

About Erik van Baaren

Erik is the owner of Python Land and the author of many of the articles and tutorials on this website. He's been working as a professional software developer for 25 years, and he holds a Master of Science degree in computer science. His favorite language of choice: Python! Writing good articles takes time and effort. Did you like this tutorial? You can buy him a coffee to show your appreciation.