What is it?
Python is an interpreted, interactive, object-oriented programming language which is available free for most platforms.
Although it has a wider range of applications, it is often compared with other open source scripting languages such as Perl or Tcl. Python enthusiasts say it can be used in place of Java and C++, that it is much easier to learn and quicker to code with.
Where did it originate?
Python was created in 1990 by Guido van Rossum, who wanted to fill an idle week in his Christmas holiday. Van Rossum had previously worked on ABC, a language designed to introduce non-professionals to programming. Python was based on ABC with elements of Module, Lisp and Small Talk. Van Rossum was reading Monty Python scripts at the time.
What is it for?
Like Perl, Python is used for common gateway interface development (linking web applications to servers) and prototyping.
There are interfaces to all major databases and the internet and web protocols. Its proponents insist it is a good general-purpose language, capable of handling large object-oriented programming tasks more easily than C++ or Java.
Although it was not designed to build large applications, a number of Python modules can easily be combined. Because it is not compiled, the edit-test-debug cycle is particularly fast.
There are plenty of extension modules: some, such as the maths library, are for general programming, some are for particular platforms and some are for specific applications, such as image and sound processing.
What makes it special?
Where Perl is said to be ideal for individual developers engaged in one-off projects, Python is more suitable for teams whose members need to read and incorporate one another's output.
Its plain syntax makes it cheap and easy to maintain. The Python approach encourages modularity and code re-use.
Van Rossum said while Python programs run more slowly than Java, they tend to be three to five times shorter than equivalent Java programs and they are much quicker to develop.
Van Rossum recommends using Java and Python together. Prototypes can be developed in Python and converted to Java components, which are then glued into applications using Python.
How difficult is it to master?
Python was developed as a teaching language for non-techies but it also fully supports advanced full-time developers. It continues to be aimed at occasional users. A tutorial on the official Python site invites you to "learn Python in an afternoon".
Where is it used?
Python has a loyal following among independent developers and small specialist software houses but it is also used by IBM, Linux distributor Red Hat, Nasa, Nortel, ABN Ambro and Industrial Light and Magic.
What systems does it run on?
Unix and Linux, Dos, Windows, OS2 and Macintosh. VisualPython is available for Visual Studio.
Not many people know that...
For larger Python developments you will need the full Monty.
What is coming up?
Python 2.3 is currently in beta, is up to 20% faster than 2.2 and has many enhancements.
There are many introductions, tutorials and downloads on the Python website. If you want something on paper, try the open source community's house publisher, O'Reilly & Associates.
Rates of pay
One agency recently offered up to £40,000 for a Python GUI developer with two years' experience. But Python, like other scripting languages, is usually part of a portfolio of complementary skills for web, Java and C++ developers.
This was first published in July 2003