1. How would you describe what you are doing in connection with design and programming?

GvR: 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?

GvR: 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 the
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.

6. 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 myself.
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 of design.

7. 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/.

8. What about the computer aesthetics? Do you attempt to reconcile the contrast between the natural and technological looks of your results? How?


9. 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 your results?

GvR: 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 interested…

GvR: 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).

11. Will you be developing your programming knowledge in your future practice? Do you have any plans in relation to the 'D + P' issues?

GvR: Yes. No.

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. :-)

Thank you!

Guido van Rossum, home page: www.python.org/~guido/