Computerworld is undertaking a series of investigations into the most widely-used programming languages. Previously we have spoken to Alfred v. Aho of AWK fame, S. Tucker Taft on the Ada 1995 and 2005 revisions, Microsoft about its server-side script engine ASP, Chet Ramey about his experiences maintaining Bash, Bjarne Stroustrup of C++ fame and to Charles H. Moore about the design and development of Forth. We've also had a chat with the irreverent Don Woods about the development and uses of INTERCAL, as well as Stephen C. Johnson on YACC, Luca Cardelli on Modula-3, Walter Bright on D, and most recently, Brendan Eich on JavaScript.
This time we chat with Guido van Rossum, Monty Python and Hitchhikers Guide to the Galaxy fan. Van Rossum is best known as the author of Python, and currently works for Google, CA where he gets to spend at least half his time developing the language.
Please note that we are no longer following exact alphabetical order for this series, due to popular demand. If you'd like to submit any suggestions for programming languages or language authors that you'd like to see covered, please email naomi@computerworld.com.au.
What was the motivation behind the development of such a productive programming language?
Long ago, around 1989, at CWI in Amsterdam, I was part of a group developing a novel operating system. We found that we needed to write a lot of applications to support users, and that writing these in C our productivity was atrocious. This made me want to use something like ABC, a language I had help implemented (also at CWI) earlier that decade.
ABC had much higher productivity than C, at the cost of a runtime penalty that was often acceptable for the kind of support applications we wanted to write: things that run only occasionally, for a short period of time, but possibly using complex logic. However, ABC had failed to gain popularity, for a variety of reasons, and was no longer being maintained (although you can still download it from http://homepages.cwi.nl/~steven/abc/). It also wasn't directly usable for our purpose -- ABC had been designed more as a teaching and data manipulation language, and its capabilities for interacting with the operating system (which we needed) were limited to non-existent by design.
Being youthful at the time I figured I could design and implement a language "almost, but not quite, entirely unlike" ABC, improving upon ABC's deficiencies, and solve our support applications problem, so around Christmas 1989, I started hacking. For various reasons, soon after Python was complete enough to be used, that particular project was no longer as relevant, but Python proved useful to other projects at CWI, and in early 1991 (i.e. a little over a year after I started) we did the first open source release (well before the term open source had even been invented).
Was there a particular problem you were trying to solve?
Programmer productivity. My observation at the time was that computers were getting faster and cheaper at an incredible rate. Today this effect is of course known as Moore's law. At the same time, as long as the same programming languages were being used, the cost of the programmers to program them remained was not going down. So I set out to come up with a language that made programmers more productive, and if that meant that the programs would run a bit slower, well, that was an acceptable trade-off. Through my work on implementing ABC I had a lot of good ideas on how to do this.
Are you a Monty Python fan (given the name and other elements of the language derive from Monty Python's Flying Circus)?
Yes, this is where I took the language's name. The association with the snake of the same name was forced upon me by publishers who didn't want to license Monty-Python artwork for their book covers. I'm also into the Hitchhiker's Guide to the Galaxy, though I'm not into much other staples of geek culture (e.g. no sci-fi or fantasy, no role playing games, and definitely no computer gaming).
References
- The A-Z of Programming Languages: AWK
- The A-Z of Programming Languages: Ada
- The A-Z of Programming Languages: ASP
- The A-Z of Programming Languages: BASH/Bourne-Again Shell
- The A-Z of Programming Languages: C++
- The A-Z of Programming Languages: Forth
- The A-Z of Programming Languages: INTERCAL
- The A-Z of Programming Languages: YACC
- The A-Z of Programming Languages: Modula-3
- The A-Z of Programming Languages: D
- The A-Z of Programming Languages: JavaScript
Latest on Python
- Python 3.0 upgrade incompatible with earlier versions
- A future without programming
- Six Scripting Languages Your Developers Wish You'd Let Them Use
- Dynamic programming futures
- Nokia challenges developers to think outside the phone
- Aptana adds Python to Web 2.0 nest
- Hooking your apps into Amazon Web Services
- The A-Z of Programming Languages: Python
- Python backing eyed for NetBeans
- Google open-sources data exchange language
Development Essentials
- Top 10 wicked cool algorithms
- Facebook app verification fee draws criticism
- Microsoft's openness stressed
- Yahoo's developer platform to launch this week
- Microsoft starts new developer portal
- Google API allows creating apps that can track laptops
- PHP, JavaScript, Ruby, Perl, Python, and Tcl Today: The State of the Scripting Universe
- Analyst: In-house app development fraught with waste
- Is unit testing doomed?
- Open source still the best way to develop software
TechWorld Jobs (beta)
TechWorld Blogs
-

TalkingTech
The view from the top of IT with TechWorld Editor Rodney Gedda
-

Entrenched
Cooking up better code, IDG's developers reveal some of their secrets
-

Broadband Voice
Darren Pauli digs in from the front line of Australia's broadband battleground
Recent blog posts
- Telstra kicked out of NBN process
- Linux on the iPhone won’t change the world - yet
- A Novell approach to business
- An open storage stack? I like the sound of that
- The mobile clone wars: fighting for a better phone experience
- Stopping the "Clean Feed"
- Identifying web platforms
- Clean Feed ‘not technically possible’
- No Clean Feed - well duh!
- Conroy's content cops still on the cards
Recent comments
- video converter os x
10 hours 54 min ago - video converter os x
10 hours 59 min ago - video converter os x
11 hours 6 min ago - video converter os x
11 hours 7 min ago - video converter os x
11 hours 7 min ago - video converter os x
11 hours 8 min ago - video converter os x
11 hours 13 min ago - video converter os x
11 hours 15 min ago - video converter os x
11 hours 16 min ago - video converter os x
11 hours 18 min ago - video converter os x
11 hours 19 min ago - video converter os x
11 hours 21 min ago - video converter os x
11 hours 23 min ago - video converter os x
11 hours 25 min ago - video converter os x
11 hours 27 min ago - video converter os x
11 hours 28 min ago - video converter os x
11 hours 30 min ago - video converter os x
11 hours 31 min ago - video converter os x
11 hours 32 min ago - video converter os x
11 hours 32 min ago








Comments
video converter os x
video converter os x is currently the most powerful converter for mac os x users which allows you to convert video file between all popular video formats such as convert FLV to 3GP, DAT to 3GP, MOV to MPEG, AVI to MOV, WMV to MP4, H.264 video.Apart from that, this video converter os x allows you to set the destination ,the name of output files.The easy-to-use video converter os x lets you to enjoy your videos on all sorts of palyback including PSP, iPod, Mobile Phone, Zune, iPhone, Apple TV and MP4/MP3 player.video converter os x,3GP Converter OS X,AVI Converter OS X,DAT Converter OS X,FLV Converter OS X,M4V Converter OS X,MOV Converter OS X,MP4 Converter OS X,MPEG Converter OS X,VOB Converter OS X