HomePython Essential Resources for the Python Professional
Essential Resources for the Python Professional
What books are good for learning Python? What editor should you use when writing Python? What exactly is Python? All these questions, and more, are answered in this great new article.
Boudewijn Rempt is a senior software developer with Tryllian in the Netherlands. Searching for a programming language more productive than even Visual Basic, he came across Python and became an instant enthusiast. He is the author of a popular tutorial on Python as well as the KDE GUI toolkit. In addition to the forthcoming recommendations, visit his Python page for more information.
Introduction Python, which was created by Guido van Rossum, is a wonderfully versatile language. There are few tasks that it can't handle, and even fewer operating systems that it doesn't run on (there has been talk of a port to the IBM S/390, but there is no port for the Atari ST). You can use Python for building dynamic Web sites, analyzing logfiles, automating MUDS, scanning your mail, building GUI applications, and accessing databases. Best of all, you'll have a lot of fun when working with Python.
Here is a list of operating systems to which Python is ported:
Unix (Linux, Sun Solaris, SGI IRIX, DEC Unix, AIX, HP_UX, SCO, NeXT, BSD, FreeBSD, NetBSD)
Windows (3.11, 95, 98, NT, 2000, CE)
DOS
Macintosh
OS/2
BeOS
Amiga
QNX
VMS
Psion Epoc
RISC OS
VxWorks
Python is quite easy to learn, and it encourages you to write clear code. In fact, Python is often described as "executable pseudo-code." Python uses indentation to structure your code, which means that you no longer have to count braces! Don't be put off by thisno Python developer has ever lost the logic of his code through white, space-eating nano-viruses; after your first afternoon with Python, you'll just love the look of crisp code without comic-book curses (!@#$%^).
It's easy to use small scripts in order to automate everyday tasks, but python can be used for large, more complex tasks. For example, it has been used for relational databases (Gadfly, at http://gadfly.sourceforge.net/), mailing list managers (Mailman, at http://www.list.org/), and complete Web publishing systems (Zope, at http://www.zope.org/).
Python is extensible, and its modules are written in C, C++, or any other compiled language. JPython is a version of Python that runs inside Java and enables you to access all Java libraries. On Windows, you can use Python to implement and use COM objects, which is basically the whole of Windows; this means that every Microsoft Office application is scriptable through Python. On Linux, you can use Python to write applications for both KDE and GNOME. Standalone applications that are portable among Unix, Windows, and Macintosh are also possible.
Python isn't "pure" in any academic sense, and this is actually one of its strengths. It's a profoundly practical language, designed not to make a theoretical statement, but for its easy learning curve and productivity. You can write object-oriented code in Python, but you can just as easily write procedural scripts if the need arises. One of the wonders of Python is that it's so dynamic. Everything is an object, so you can make lists of classes and functions and pass a class as a parameter in a function. Oh, and yes, Python is named after Monty Python's Flying Circus.