1. How would you describe
what you are doing in connection with design and programming?
As the creator of Python, an object-oriented programming language with
a wide following and many application areas, most of the time these days
I seem to be mentoring others who are designing subsystems of Python.
I still am in firm control of Python's evolution, and I have
recently spent a lot of time working on an important set of changes to
Python's basic object-oriented nature.
2. Did you study this specialisation? If so, where? Did your school prepare
you for this specialisation or did you study on your own?
I don't think I was trained to be a programming language designer - I
started out by studying math, and quickly changed my direction to computer
science (although I remained in the math department). I did
have a vivid interest in programming languages, and started collecting
language descriptions early on. My first job after completing my study
was probably what propelled me in this direction: I ended up
working for a group of language designers as an implementation aide, and
here I participated in the many lively debates about what makes a good
language (especially from the point of view of a non-expert user).
3. I'm collecting examples of studios/ projects where programming is used
in cooperation with design. Examples: John Maeda @ Media Laboratory of
the MIT, his students, Letterror, Typerware, etc. Is anyone else dealing
with the issues that are important/influential for you? If so, why do
you admire them?
GvR: Sorry, I can't help you. I don't know anything about this beyond
names you already mentioned.
4. How did you start
with programming, and what was the main motivation to learn it? Which
language did you choose and why?
GvR: I started programming in Algol-60 in my first
year at the University of Amsterdam. My motivation was to find out more
about computers; this was my first opportunity to use one (a large mainfraime
was made available to math students) and Algol-60 was the language recommended
by the math professors. This was probably because of the proximity of
the inventors of the language. I also learned Fortran (recommended by
the physics professors) but I quickly settled on Pascal (also
recommended by the math professors; it helped that the Pascal compiler
for this particular mainframe wasvery fast). I was totally fascinated
by programming and soaked up anything I could learn about it.
5. In your opinion
is it necessary to become a programmer if the concept of the project requires
writing a programme? What are your experiences?
GvR: I can't really judge that - since I *am* a programmer I don't know
what it's like to write a program without being a programmer. I expect
it would be painful though, and the code I've seen that was
written by non-programmers is often very painful: a programmer with proper
training could have accomplished the same thing more efficiently and/or
in a way that would be easier to maintain in the future.
How do you see yourself, more a designer or programmer? As a designer,
do you feel some restrictions/limits of software you are using and can
you give me some examples? If you are a programmer, how do you collaborate
with designers? Does it influence your work in some specific way?
GvR: If by designer you mean graphic designer, I am 100% a programmer.
The websites I have designed are butt-ugly. I can sometimes recognize
good design and criticize bad design, but I am not good at such design
Of course, within the field of programming I feel I am a designer (of
software), in particular a language designer. But that's a different kind
Self-made programs seem to bring a 'game' aspect to graphic design life?
How did you use programming knowledge in both 'for fun' and commissioned
projects? Are your projects published on the internet? If so, where? (URL)
GvR: Not applicable. I'm not a graphic designer. Judge for yourself at
the website I created for my son: www.python.org/~guido/orlijn/.
What about the computer aesthetics? Do you attempt to reconcile the contrast
between the natural and technological looks of your results? How?
Are you attracted to exploit the programming in order to help the computer
become more 'human' or 'emotional' (to simulate our 5 senses)? What are
No, I don't like it if the computer tries to pretend to be something it's
not. With the current state of the art at least, computers are incredibly
boring conversation partners if they are trying to pretend to be intelligent.
It's best if they do what they are good at: tool, search engine, etc.
10. Can everyone learn how to create a programme?
python.org gives the programming language and manuals for free for anyone
I don't know about *everyone* - it seems to require a certain set of intellectual
and mathematical/logical skills - but I do think that programming can
be taught to most children of ages 13 and up, and possibly (with proper
materials) even to much earlier ages (maybe from 8-9).
Will you be developing your programming knowledge in your future practice?
Do you have any plans in relation to the 'D + P' issues?
12. I have one supplementary question popping up; in the process of creating
Phyton, did you think who will be the main user and what kind of application
it will have? Is programmer also working for a certain audience?
GvR: The original intended audience for Python was pure programmers: people
who write code all day long and need a variety of languages in their toolkit;
Python would be the powerful-but-easy-to-use tool. But Python descends
from a language (ABC - the project in my first job
that I alluded to) that had quite a different intended audience: it was
designed to be a language to teach programming concepts, as well as a
programming language to be used by people who weren't professional programmers,
for the occasional programming task occurring as part of their work. Example:
a chemists who needs to carry out complex calculations. Or a graphics
designers who wants to experiment with mathematics. :-)
Guido van Rossum, home page: www.python.org/~guido/