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).
The state of Middleware
Data grids and service-oriented architecture
Gaining Competitive Advantage Through Enterprise Planning
Email Archiving Implementation: Five Costly Mistakes to Avoid
How to improve employee productivity in small and medium businesses
IT Service Management Needs and Adoption Trends: An Analysis of a Global Survey of IT Executives
Taking On Demand CRM Integration to the Next Level
Controlling storage costs with Oracle database 11g
Discover how SOA can create smarter outcomes for your business.
Attend and learn:
- How SOA is helping leading companies to become more agile
- Where you should be applying SOA processes in your company
- The top SOA implementation mistakes to avoid
Click here for more information.
- +
Computerworld Live Podcast #98: The Future of Datacentre IP 18/12/2008 10:33:00
CW Live speaks withLin Nease, Director of Emerging Business for HP ProCurve, to discuss the future of networks, including the effect of IP-based storage on datacentres, new capacity requirements generated by the use of 10Gb Ethernet, and how an efficient network design can slash energy and cooling costs, and help enterprises build a "green" image. - +
Computerworld Live Podcast #97: The Future of Enterprise Networking 25/07/2008 09:45:36
This week CW Live chats with Mark Thompson, global sales and marketing manager for HP ProCurve, on the future of the enterprise networking. Mark discusses the trends we can expect to see in the near future and how the right infrastructure can ensure your enterprise network is secure. - +
Computerworld Live Podcast #96: Security at the Edge 11/06/2008 09:22:22
CW Live speaks with Amol Mitra, HP ProCurve Director of Marketing for Asia Pacific and Japan. Today's topic: how enterprises are starting to shift away from simply controlling security via server logins, firewalls and moving to more adaptive security frameworks. - +
Data Management Edition #10: Multi-Petascale Systems 02/05/2008 09:12:33
This week we look at sustainability and the development of multicore technologies to build multi-petascale systems. - +
IT Security Edition #11: How to poison the Storm botnet 01/05/2008 08:51:55
This week CW Live presents a case study on how to poison the notorious Storm botnet . Plus we take a look at Cisco's plans for Ironport.
Informatica Selected as the Data Integration Platform for BNP Paribas Assurance 2008-12-24 10:20:00+11
Informatica Announces Data Transformation Accelerator for Improving Operational Efficiency and Business Agility 2008-12-24 10:17:00+11
S3 Graphics and CyberLink® Combine to Deliver Cutting-Edge Hi-Def™ Playback on PowerDVD 8 2008-12-24 07:46:00+11
Dimension Data Establishes the Steve Ross Scholarship 2008-12-19 12:45:00+11
VIA Trinity Platform Brings Hi-Def to Small Spaces 2008-12-19 09:45:00+11
Email Archiving 101—Customer Case Study
Join Lee Benjamin, a Microsoft Exchange MVP and Ryan Shipkowski, network administrator for Matthews, to discuss the process and ROI of implementing an email archiving solution, with emphasis on a case study from Matthews International.
Comments
Bonjour~ts converter for
Bonjour~ts converter for mac@asf converter for mac@mpeg converter for mac@rm converter for mac@divx converter for mac@avi converter for mac@mov converter for mac@flv converter for mac@3g2 converter for mac@m4v converter for mac@mkv converter for mac@mp4 converter for mac@wmv converter for mac
Bonjour~video converter for mac==rmvb converter for mac#mpg converter for mac#mod converter for mac#xvid converter for mac#vob converter for mac#3gp converter for mac#mts converter for mac#dvr ms converter for mac#m2ts converter for mac#h264 converter for mac