What is Python?
Python is an agile programming language.
There, I said it, so now everyone can stop using terms like scripting and interpreted or high-level that either have negative connotations or don't really get across why Python is so great. Just say Python is an agile programming language. Note that Java and C# are not agile languages, but that Ruby probably is based on what I know about Ruby. If you use Jython with Java that also counts as agile.
Ward Cunningham and I came up with the idea of calling Python an agile language during an evening get-together on March 14th, 2003 with Brian Ingerson. We tried using the term all evening and it seemed to work. Since then, I've brought it up with people at PyCon and other events and everyone seems to like the term. It looks like we have a winner.
Here's the working list for what I'm calling agile programming languages.
- excellent for beginners, yet superb for experts
- highly scalable, suitable for large projects as well as small ones
- rapid development
- portable, cross-platform
- embeddable
- easily extensible
- object-oriented
- you can get the job done
- simple yet elegant
- stable and mature
- powerful standard libs
- wealth of 3rd party packages
And don't forget that with Python, programming is fun again!
What is sort of interesting is that while I think Python is an excellent programming language to use with Agile Development Methods I wasn't trying to just ride on that bandwagon. It is precisely because Python is an agile language that it is applicable to agile development methods, quick one-off programs normally thought of as scripts, and traditional software development done by solo programmers or teams. Most of the programming world still hasn't embraced the tenets of the agile methodology, but despite the programming style or type of program you're writing, Python will be applicable to the problem you're trying to solve.
Why Python?
Wingware provides some great information pages discussing the benefits of the Python programming language:
"Python is an open-source object-oriented programming language that offers two to ten fold programmer productivity increases over languages like C, C++, Java, C#, Visual Basic (VB), and Perl."
- Python Overview
- Python Success Stories
- The benefits of Python
- Evaluating Python for your project
- Open Source in Business
- Resources for evaluators
Eric Raymond explains Why Python? in a LinuxJournal article.
Paul Prescod has his own reasons for why he promotes Python.
Dozens of categorized Python Success Stories on the Python.org site.
Watch a 15 minute movie Introducing Python (68 MB) by some of its creators and users.
$Revision: 1.2 $ : $Author: kasplat $ : Last updated $Date: 2007/07/30 14:31:12 $