Is There A Python 1?


Is There A Python 1?

You’ve probably heard a lot about the controversy regarding Python 2 and 3. You might’ve also come across some speculations about Python 4. But is there a Python 1? What was the first released version of Python?

Python 1 was released in January 1994, but it was not the first public release. The reason you do not hear much about Python 1, is that the language started to gain popularity only in the late 1990s - early 2000s, with the release of version 2.

In this article we’ll have a quick look at the early history of Python.

Python 0.9.0 - The First Public Release

The first public version of Python was 0.9.0. It was released in early 1991 by Guido van Rossum. This version had fully functional OOP capabilities (classes with inheritance), and already had most of the basic data structures implemented. The source code was released to a usenet group, so it is not available in the Python CVS repo. The earliest version available is Python 0.9.1, which was scraped from the Usenet archives by Andrew Dalke.

Apparently, you can still run Python 0.9.1, and play around with it. Quoting Dalke’s cool experiment:

And very primitive it is too. No copyright message when it starts up. Bad error reporting. Class delaration requires a () even when there are no parents. There’s no __init__ special method, so the convention is to call ‘Create()’ yourself. Uses ‘self’ and ‘this’ and other terms instead of only ‘self’. Only understands ‘single quote strings’ and not “double quotes.”

Python 1

Python 1.0 was released in January 1994, by this time it grew beyond being a one-man project, and gained some popularity on Usenet. New features developed under this major version number include keyword arguments, complex numbers and functional programming tools.

The earliest version available in the Python Archives is version 1.0.1

The final release of Python 1 was version 1.6.1 in September 2000.

Python 1 is not supported and is not widely used in production anymore, as it has been overtaken by Python 2 and later Python 3.

Python 2

Python 2.0 was first released in October 2000. Python 2 was the version where the popularity of the language really started to grow. It’s key features are list and dictionary comprehensions, generators and a reference counting garbage collector.

The last release major version under the Python 2.x series was Python 2.7. It was released in June 2009.

Even though it does not have official support or updates since January 2020, unfortunately it is still widely used in legacy systems.

Python 3

Python 3.0 was released in December 2008. With Python 2 reaching its end-of-life, Python 3 is the current version of Python. It introduced some breaking changes, but overall the language is very similar to Python 2.

Along with many new features (many of which has been backported to Python 2) the main changes are native unicode handling and the move towards using iterators instead of lists.

Python 2 vs 3

Python 2 and 3 was developed in parallel for more than a decade, so the transition to Python 3 was extremely slow. Python 2 received patches and official support for an extended period of time. Also, most new features have been backported to Python 2, and many 3rd party packages were made with backward compatibility in mind.

That made deprecating Python 2 a rather tedious process, even though converting existing codebases to Python 3 is not overly complicated.

So it is justified to ask the question: will we have to go trough this again with Python 4 in the future?

Will there be a Python 4?

As of now there is no Python version 4, also no plans of releasing it.

As Guido van Rossum, the creator of Python tweeted:

Python 4 FAQ.

  1. The version after 3.9 is 3.10; in fact it already exists (in github master).
  2. If there ever is a version 4, the transition from 3 to 4 will be more like that from 1 to 2 rather than 2 to 3.

Summary

Python 1 is not in use anymore and while the source code is accessible it is not trivial to spin it up. Also this version of the program is probably not suitable for real life projects anymore.