Given that the language was developed in the 1980s, what made you publish it in 1991?
I actually didn't start until the very end of 1989. It took just a bit over a year to reach a publishable stage.
Were there any particularly difficult or frustrating problems you had to overcome in the development of the language?
I can't remember anything particularly frustrating or difficult, certainly not during the first few years. Even management (usually the killer of all really interesting-but-out-of-left-field projects) indulged my spending an inordinary amount of my time on what was considered mostly a hobby project at the time.
Would you do anything differently if you had the chance?
Perhaps I would pay more attention to quality of the standard library modules. Python has an amazingly rich and powerful standard library, containing modules or packages that handle such diverse tasks as downloading web pages, using low-level Internet protocols, accessing databases, or writing graphical user interfaces. But there are also a lot of modules that aren't particularly well thought-out, or serve only a very small specialized audience, or don't work well with other modules.
We're cleaning up the worst excesses in Python 3.0, but for many reasons it's much harder to remove modules than to add new ones -- there's always *someone* who will miss it. I probably should have set the bar for standard library modules higher than I did (especially in the early days, when I accepted pretty much anything anyone was willing to contribute).
A lot of current software is about writing for the web, and there are many frameworks such as Django and Zope. What do you think about current web frameworks based on Python?
For a few years there were definitely way too many web frameworks. While new web frameworks still occasionally crop up, the bar has been set much higher now, and many of the lesser-known frameworks are disappearing. There's also the merger between TurboGears and Pylons.
No matter what people say, Django is still my favorite -- not only is it a pretty darn good web framework that matches my style of developing, it is also an exemplary example of a good open source project, run by people who really understand community involvement.
What do you think about Ruby on Rails?
I've never used it. Obviously it's a very successful web framework, but I believe (based on what users have told me) that Django is a close match.
We've all heard about how Python is heavily used by Google currently. How do you feel about this? Has this exceeded your expectations for the language?
I never had any specific expectations for Python, I've just always been happy to see the user community grow slowly but steadily. It's been a great ride.
Why has the language not been formally specified?
Very few open source languages have been formally specified. Formal language specifications seem to be particularly attractive when there is a company that wants to exercise control over the a language (such as for Java and JavaScript), or when there are competing companies that worry about incompatible implementations (such as for C++ or SQL).
What's the most interesting program you've seen written with Python?
In terms of creative use of the language in a new environment, I think that would be MobilLenin, an art projects for Nokia phones written by Jurgen Scheible.
Have you ever seen the language used in a way that wasn't originally intended?
Well, *originally* I had a pretty narrow view on Python's niche, and a lot of what people were doing with it was completely unexpected. I hadn't expected it to be used for writing expert systems, for example, and yet one of the early large examples was an expert system. I hadn't planned for it to be used to write high-volume network applications like Bittorrent either, and a few years back someone wrote a VOIP client in Python.
I also hadn't foreseen features like dynamic loading of extension modules, or using Python as an embedded programming language. And while ABC was designed in part as the teaching language, that was not a goal for Python's design, and I was initially surprised at Python's success in this area -- though looking back I really should have expected that.
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
- ActiveState prepares Python for databases
- Open source Ruby, Python hit rocky ground at Microsoft
- Microsoft sponsors first Aussie Python conference
- Fedora 13 beta looks to streamline Linux
- Open source StarCluster shines on Amazon cloud
- 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
Development Essentials
- Security experts name top 25 programming screw-ups
- 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?
- WebSphere Solution Design (S20) - CBD, contract role3/09/2010
Other
I.T. & T
WebSphere Solution Design (S20) - CBD, contract role - Solution Architect - Web Application Architecture Project!3/09/2010
Other
I.T. & T
Solution Architect to provide strategic and operational consulting for the end-to-end Web Application System project! Experienced with J2EE or .NET?! - Principal Consultant - ITIL2/09/2010
Other
I.T. & T
Excellent opportunity for an experienced ITIL Principal Consultant to join an innovative leading IT Service management consultancy. Attractive packag - Mainframe Developer - COBOL - 12 Month Contract2/09/2010
Other
I.T. & T
Mainframe Developer - COBOL - 12 Month Contract - Business Systems Analyst2/09/2010
Other
I.T. & T
Perm CBD based role for an experienced Business Systems Analyst - Senior SAP Project Manager2/09/2010
Other
I.T. & T
Senior SAP Project Manager - SAP FICO Consultant - 6 week contract - West Sydney2/09/2010
Other
I.T. & T
SAP FICO Consultant - 6 week contract - West Sydney
Whitepapers
TechWorld Blogs
Recent blog posts
- Windows Phone 7: how big can it get?
- NBN gets a turn at political football
- Internet filter gets caught up in politics
- TechWorld Forums goes live
- Selective sourcing the hybrid of cloud services
- Social networks catch more business attention
- RIP Kin
- Telstra’s copper and NBN’s fibre: will the two ends meet?
- RIP Windows 2000, XP lives on
- Does the world need another iPhone? Why not
Recent comments
- java development
11 hours 46 min ago - When mine called they
12 hours 29 min ago - 3D TV cannot fall - no way! Why?
15 hours 43 min ago - Thanks for taking the time to
1 day 4 hours ago - Windows scam
1 day 11 hours ago - My only anti fraud method is
2 days 6 hours ago - Private Cloud Taxonomies
2 days 6 hours ago - ...however...
2 days 15 hours ago - This Guy
2 days 15 hours ago - Glasses Free technology
2 days 16 hours ago - FOSS community
2 days 23 hours ago - i have dv6000 with nvidia
3 days 48 min ago - i have dv6000 and suddenly
3 days 52 min ago - This is an awesome comment.
3 days 4 hours ago - Real Estate
3 days 6 hours ago - Scam - eventvwr scammers
3 days 11 hours ago - Well I never...
5 days 1 hour ago - Too bad Microsoft was mentioned
5 days 3 hours ago - Phone card is a better option to make calls at a lower rate
5 days 7 hours ago - In other words: "Developers,
5 days 13 hours ago










Comments
No question about the GIL and concurrency?
Very good, a great perspective next to the other languages in this set of interviews. Would have wished to see some questions asked about the GIL and achieving concurrency in the language.
A side by side analysis of how Java, Python and Erlang are gearing up for the future would be nice, but that's another story.
Post new comment