A series of articles on the history of the Python programming language and its community.

Tuesday, January 20, 2009

A Brief Timeline of Python

The development of Python occurred at a time when many other dynamic (and open-source) programming languages such as Tcl, Perl, and (much later) Ruby were also being actively developed and gaining popularity. To help put Python in its proper historical perspective, the following list shows the release history of Python. The earliest dates are approximate as I didn't consistently record all events:

I've added hyperlinks to the releases that are still being advertised on python.org at this time. Note that many releases were followed by several micro-releases, e.g. 2.0.1; I haven't bothered to include these in the table as otherwise it would become too long. Source tarball of very old releases are also still accessible, here: http://www.python.org/ftp/python/src/. Various ancient binary releases and other historical artefacts can still be found by going one level up from there.

a) how long did it take you to realize the "range" function is using huge amounts of memory when used in a for loop ? Did you not envison people needing more than a few iterations ? If there should only be one way to do something, why have both range and xrange ?

b) When are you going to add File.open ?

c) how many more special reserved words are you going to use for "built-in" functions, and are there going to be any "free" names left for people to use in their programs without fear of conflict ?

d) how many more upgy underscore methods are you going to hack into the "language" ?

e) why is everything about this "language" so hacky and provide a million different ways to do the same thing (get/getattr/hasattr/has_key/in/etc) ?

f) Is the motivation behind the "property" function/decorator/object? to win the most stupid syntax ever ?