0%

What Python Actually Is

Why Python Was Created

Guido van Rossum had a language he liked and could not do enough with.

He was working at CWI, a research institute in Amsterdam, on a teaching language called ABC. ABC cared a great deal about clear programs, which he valued and kept. It was also hard to extend, awkward to connect to the systems around it, and too slow for some of the work he wanted to do. Unix is a family of that shaped modern ones such as and . An operating system is the software that manages a computer and lets programs reach its files and .

ABC also expected you to use its own built-in editor. That made it pleasant on its own terms and difficult to combine with the tools programmers already had on their machines.

So over the Christmas holidays of December 1989, he started building something else as a hobby project.

The detail is charming and slightly misleading. December 1989 is where a decade of work began, most of it done by other people.

What he was trying to fix

He wanted a descendant of ABC that would appeal to programmers who already lived in Unix and . C is an older language used for operating systems and other software that works closely with the machine. Programs should be easier for a person to read and write, without being cut off from everything else on the computer.

Three of Python’s decisions make far more sense read as answers to ABC.

ABC was hard to extend, so Python was built to be extended and to call code written in C. You met the modern version of that in the last lesson, in packages that reach down into faster languages. The ecosystem is vastly larger than anyone could have planned for in 1989, but the instinct to connect outward rather than seal itself off was there from the start.

ABC was too slow for some real work, so Python aimed at being quick enough for ordinary jobs while letting C carry the heavy loads. That is a tradeoff rather than a trick, and we will look at it honestly later. The intent was that Python should survive in practical systems rather than remain a teaching experiment.

ABC insisted on its own editor, so Python worked with the files, editors, and system tools people already had. A language is much easier to adopt when you can fit it into the rest of your day.

Not the snake

The name has nothing to do with the snake. It comes from Monty Python’s Flying Circus, a British comedy series first broadcast in 1969 and made of short, cheerfully absurd sketches. Van Rossum was a fan, and he wanted a name that was short and slightly mysterious.

You do not need to have seen a minute of it, because you have already met it. The Spam sketch is set in a café where nearly every dish turns out to contain spam, the tinned meat, repeated until the word buries the conversation. That is where the spam in your email folder got its name.

It is also why Python’s own documentation reaches for spam and eggs whenever an example needs a word that means nothing in particular. Other languages use foo and bar. You will meet Python’s version in official documentation for as long as you use the language.

And it is why the assistant on this site is called Monty.

Readability you can actually see

One of those decisions is visible in every Python program ever written. Compare two ways of showing that a pair of actions belongs to a condition:

If the report is ready:
    send it
    record the time
If the report is ready { send it; record the time; }

The first uses position. The second uses punctuation. Python made the first one a rule of the language rather than a matter of taste. Indentation means the space at the start of a line, and in Python it is not decoration. It is how the language knows what belongs to what.

Van Rossum’s argument was that this removes visual clutter, and that giving people less freedom to arrange it differently makes programs by different authors look more alike.

Which is not a promise that every Python program is readable. Bad names, sprawling sections, and unexplained assumptions will defeat any language. The rule buys you consistent shape. The rest is still work.

Choices, not magic

I like this origin story because there is nothing mystical in it. Van Rossum took a language he respected, kept what he valued, changed what got in his way, and made sure the result could talk to everything around it.

None of it was inevitable, and that first version was nothing you would recognize today. What happened next is that other people got hold of it, which is a different kind of story entirely.

Go deeper

Guido van Rossum’s foreword on Python’s origins is a first-person account published in 1996, valuable both for his own explanation and for showing the moment he wrote it in. Optional reading.