Burn In 5: Guido van Rossum

This is the sixth entry in the O’Reilly Radar series about how alpha geeks got into computers. Guido van Rossum is the creator of Python, one of the most popular of the dynamic scripting languages.

Guido van Rossum’s Story

There were no computers in my life until at went to University. In
fact, until the age of 18 I had no idea what a computer was and didn’t
really care, either. (Though things changed rather quickly
afterwards.)

I was a born nerd kid, and for the longest time Lego was my favorite
toy. I was probably of the first generation of Lego kids, and Lego was
different then; all bricks were rectangular, and pretty much the only
moving parts were wheels.

Around the age of 10 I got a Philips (one ell please!) “EE”
electronics kit, which required no soldering; you used springs to
connect components and pieces of copper wire. My first kit had two
transistors; enough to build early semi-digital electronics like a
blinking light or a siren, or a simple radio.

Then Philips made a master move: they invented a “ME” mechanical kit,
which was compatible with the EE electronics kit. The ME kit was as
innovative as the soldering-free EE kit — unlike Meccano and other
traditional erector kits, there were no nuts and bolts, but unique
plastic connectors used to link metal bars to plastic plates and
wheels. There was also an electromotor, and various switches and a
light sensor, pulleys, etc. (I’m guessing that today this niche is
filled by Lego Technic, which didn’t exist then.) This quickly
replaced my Legos, and I used it to construct ever more complicated
models until computers took over my interests.

In middle and high school (which are combined in the Netherlands, or
at least were at the time) I also dabbled in digital electronics,
saving my pocket money to buy 7400 quad-nand-gates and their more
complex kin (like 10-counters). At some point my goal was to build my
own digital calculator; I had a design of my own invention ready
(undoubtedly inspired by what I read in the Dutch popular electronics
press) but never acquired sufficient hardware for the project. Also,
my soldering skills were abominable, and any project that involved
even the faintest knowledge of analog eletronics was doomed. (About
the only successful analog project I ever completed was the power
supply I used to power all those digital projects; and a digital clock
with 1/100 second precision that my physics teacher used long after I
graduated in classroom demonstrations.)

Then I went to the University of Amsterdam to study mathematics (the
Dutch state-run University system encourages students to choose their
major as they enter). One of the optional courses was computer
programming using Pascal, but somehow (I don’t recall all the details
here) I first taught myself Algol-60. This was all using a large CDC
mainframe that was located in a different part of town, shared by both
Universities in Amsterdam and the Mathematical Center (later CWI,
where I created Python).

I could reminisce forever about card punches, account numbers, and my
eventual transition to interactive terminals. It’s clear that I was a
natural for programming and had found my true calling: soon I had
abandoned all the electronics projects for good, and quickly the math
studies were suffering too: in the back of the linear algebra
classroom I would be poring over program listings, between classes I
would run down to the basement to submit my corrected batch job, and
my favored acquisition was an early copy of Knuth, Vol. 3.

In my third year I applied for and got a part-time job as a programmer
in the University computer center, which ran the mainframe that had
been my only computer so far. There I had infinite access to
computers, which soon included a UNIX system running on a spare
PDP-11/45 and even an Apple-II (for which I never wrote code, but
which was popular because of the Space Invaders game). Another thing
that was clear very quickly, I was mostly interested in programming
for programming’s sake — end-user applications never interested me
that much. Some projects I worked on early on exemplify this: I wrote
a text editor that was a complete emulation of the system’s text
editor (but mine was more stable!); as a term project I wrote a Pascal
Parser and semantic analyzer which would point out functions with
side-effects; and I wrote a very popular file archiver which helped
users manage their disk space quota more efficiently.