Perl is probably one of the best known languages on the web. Although to many it takes second place to Visual Basic or C/C++, Perl still has a place in history as one of the most prolific languages on the web.

The reason for its popularity is that it's very quick to program and execute, easy to use, and generally easy to learn. It can even be a lot of fun. However, Perl owes a lot of its abilities and its functionality to older programs like sed and awk and as such has a number of quirks; sometimes they work in your favor, and sometimes they don't.

Python, on the other hand, is a relatively new language (in fact it's only a few years younger than Perl, but in computing terms that's almost a lifetime!). Developed almost exclusively by Guido van Rossum, Python takes a slightly different approach to the problems of program development.

Python is completely object-oriented, almost every item you use in Python is either an object (even the base variable types), or a method that operates on those objects. Also in comparison to Perl, which relies heavily on a suite of built-in functions with the occasional dip into an external library, Python, on its own, is almost completely dumb. Although Python supports basic operations on the base data types, and some statements and utility functions such as print, all of the main functionality used in Perl is supported in an external module. Python uses external modules covering everything from the basics of accessing the environment and cooperating with the operating system through to the complexities of network and web programming.

Rather than listing the specific differences between the two languages, we'll instead start with a quick look at Perl, its history, and working methods. Then we'll take a closer look at Python, what it can do, who uses it, and how this relates to some of the systems in Perl.

Before we go any further, we should probably explain about names. Perl stands for Practical Extraction and Reporting Language (or one of a number of similar alternatives, including my favorite Pathalogically Eclectic Rubbish Lister). Python is not an acronym, it is named after the comedy group Monty Python, best known for the talents of John Cleese, Eric Idle, et al, and such films as Life of Brian and The Holy Grail.

     Python   SQL   Java   php   Perl 
     game development   web development   internet   *nix   graphics   hardware 
     telecommunications   C++ 
     Flash   Active Directory   Windows