In the SSL/CW list of top IT skills, Python is number 105.
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.
Training
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.
www.oreilly.comwww.python.orgRates 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.