What is it?
According to the Tiobe Community Index - based on hits on major search engines - Python is now the seventh most popular language, well behind Java, C, Visual Basic, PHP and C++, but catching up rapidly with Perl. By Tiobe's measure, Python had the largest increase in ratings of any language in 2007.
Tiobe describes it as "especially beloved by system administrators and build managers", and says "it has become the de facto glue language at system level".
Along with PHP and Perl, Python is one of the alternative Ps in the Lamp (Linux, Apache, MySQL) development stack. Available under an open source licence, it is free to use, even in commercial applications provided the terms of the licence are followed.
In contrast to Perl in particular, Python was conceived as a small language core, with minimalist syntax and semantics, and a large standard library. It is easily extensible using C, C++, Java and others.
Like Perl and Ruby, it enables programmers to choose their own approach - object-oriented, structured, functional or aspect-oriented. There are Python implementations for Java and .Net languages.
For organisations which distrust open source, there is a commercial version, ActivePython, which combines an industry-standard Python distribution with support and maintenance, and also includes extensions for Windows users.
Where did it originate?
Python was created by Monty Python enthusiast Guido van Rossum in 1991.
What's it for?
As a web development language Python has evolved from writing basic CGI scripts to having its own web application frameworks, such as Django and TurboGears, as well as the open source web application server Zope, and the Plone content management system.
Developers can use the Komodo IDE, or the PyDev IDE plug-in for the IBM-backed Eclipse platform - which includes support for the pure Java implementation, Jython. There's also the Wing IDE, which was developed for Python. The standard library has many modules for web applications, Gui development and testing.
Python has interfaces to open source databases like MySQL, and commercial products like SQL Server and Oracle.
What makes it special?
Like Perl with CPAN, and the Ruby Application Archive, Python has its own third party application repository. The Python Package Index currently includes around 3,500 modules, about half of them for system management and software development, but with office and business software, and over 200 scientific and engineering applications.
How difficult is it to master?
Based partly on ABC, a language developed to help novice developers, Python was subsequently involved in initiatives to make programming more accessible, and its simple syntax reflects this.
Where is it used?
Python is shipped with all major Linux distributions. Python users include YouTube, Google, Industrial Light and Magic and AstraZeneca. Several City firms use Python.
What systems does it run on?
Windows, Linux/Unix, Mac OS X, OS/2, Amiga, PalmOS and Nokia mobile phones. For .Net developers, there's IronPython.
What's coming up?
Python 3.0 is intended to fix all the flaws and inconsistencies in the language. Scheduled for August this year, it will not be entirely backward compatible, but is expected to co-exist with Python 2.x for many years.
Rates of pay
From £25k much higher rates from City firms.
Start at Python. There are online tutorials aimed both at complete novices and experienced developers looking to extend their portfolios.
This was first published in February 2008