Python Essays

In this directory I place short essays (anything from 500 to 5000 words) on various Python subjects. See also a collection of presentations I have given.

--Guido van Rossum

Table of contents (in mostly chronological order)

Unifying types and classes in Python 2.2
An introduction to the type/class unification effort in Python 2.2. Note that the unification work is officially labeled experimental and is subject to change in future releases of Python.

Foreword for "Programming Python" (1st ed.)
Written in 1996, this gives an overview of the early history and background of Python and some of my philosophy about software design and project management. See also my foreword to the 2nd edition.

Implementing Graphs
An elegant and perhaps not obvious way to represent graphs using Python's most fundamental and versatile data types, lists and dictionaries.

An Optimization Anecdote
Required reading if you find that your Python code runs too slow.

Python Style Guide
Part of my view on how the proper way to write Python code. This is an unfinished work; so far, it covers whitespace, indentation, comments, doc strings, naming conventions. (This version is no longer the ultimate reference; PEP 8 and PEP 257 have taken over that role, see the PEP index.)

Metaclass Programming in Python 1.5
Warning: reading this document may cause your brain to explode.

Built-in Package Support in Python 1.5
The most official documentation for the new package features in Python 1.5.

Standard Exception Classes in Python 1.5
The most official documentation for the new exception features in Python 1.5. (Updated for Python 1.5.2 by Barry Warsaw.)

Glue It All Together With Python
A position paper I wrote for and presented at the OMG-DARPA-MCC workshop on compositional software architectures in Monterey, California, January 6-8, 1998.

What Is Python? Executive Summary
A short (two paragraphs) high-level presentation of Python's virtues.

Comparing Python to Other Languages
Activist ammo or flame fodder? (Note: I received lots of feedback when I posted this to comp.lang.python. Unfortunately the feedback was diverted to a separate mailbox that I didn't know I had -- when I findally found it, I was a bit overwhelmed and so far have not yet found the time to update the article.)

Proposed Improvements to Module Cleanup
A revised version of the proposal I posted to comp.lang.python on Feb 6, 1998. This has been adopted in Python 1.5.1.

Open Source Summit Trip Report
My trip report of O'Reilly's Open Source Summit, essentially as posted on c.l.p. This version published in the Linux Gazette (it's an external link), in their May 1998 issue.

Debugging Reference Count Problems
An edited version of a posting to c.l.p on this subject, on May 27, 1998.

Computer Programming for Everybody (old)
A funding proposal that was accepted by DARPA in March 1999.

Computer Programming for Everybody
Revised, extended version of the previous proposal.

Interview in Linux Journal
Not quite an essay, but a stream of consciousness penned down by a journalist... More thoughts about CP4E.

Interview in by Frank Willison for "Frankly Speaking" column
Another stream of consciousness transcribed by a friendly listener... Not just on CP4E.

Foreword for "Programming Python" (2nd ed.)
The story continues...