History of python
Python was designed by Guido van Rossum while he was working at
the CWI (the Centrum voor Wiskunke and Informatica; literally “center for
wisdom and informatics”) a world-class research lab in the Netherlands. The CWI
group he was associated with designed a programming language called ABC.
ABC was clearly intended as a pedagogical tool for teaching programming,
and a great deal of work went into developing both the language and associated
teaching material.1 The language ABC had a number of features that were
impressive for the time: a tightly integrated development environment,
interactive execution, high level data types (lists, dictionaries, tuples and
strings), dynamic memory management, strong typing without declaration
statements and more.
The idea to use indentation for nesting, and
eliminate the brackets or BEGIN/END keywords found in most other languages, was
taken directly from ABC. So was the idea of dynamic typing. Software
development in ABC was both rapid and enjoyable, and totally unlike almost any
other competing language. (The one exception might be Smalltalk, which was just
becoming well known in 1985. Indeed, during my time at the CWI I was writing a
book on Smalltalk, and part of the work I performed during that year was to
explain to my colleagues in the ABC group the basic ideas of Object-Oriented
programming, which I myself was only just beginning to understand)
Guido started designing Python around 1990. For those
familiar with the earlier language the heritage of ABC in Python is clear.
Guido discarded some of the annoying features of ABC, and kept all the
best ideas, recasting them in the form of a more general-purpose language.
By then the mechanisms of object-oriented programming were
well understood, and the language included all the latest features. He
added a number of features not found in ABC, such as a system for
modularization and including libraries of useful utilities. Python was released
to the world in 1991, and very quickly attracted a loyal following.
Python’s design turned out to be general
enough to address a much wider range of applications than ABC. (To be
fair, the designers of ABC were focused on teaching, and never intended
the language to be general-purpose). The features that programmers
appreciated in 1990 are still the same today: ease of use, rapid
software development, the right set of data types that help to quickly
address most common programming problems.
Python Monty:
The name, by the way, owes nothing to the reptile and
everything to the 1970’s BBC comedy
series Monty Python’s Flying Circus. Many die-hard Python programmers
enjoy making sly references
to this series in their examples. You don’t need to have seen Monty Python’s Life of Brian, The Meaning of
Life, And Now for something Completely Different,
or Monty Python and the Holy Grail or even Spamalot in order to become a Python programmer, but it can’t hurt,
either.
No comments:
Post a Comment