A year ago (circa 1998) I found myself suddenly in need of a few Linux applications I could be sure no-one else would want to write for me. So I had to do it myself. Now, I do know a few programming languages, ranging from Pascal via PL/SQL to Visual Basic and a few others, too, and I have tried many more languages, like Java, C, C++, Snobol, Comal, Ada and Modula
But I don't have much spare time, so what I need is a language that would enable me to write working applications with even less code than Visual Basic. C and C++, and Pascal too, are just too time-consuming in the matter of string manipulation, and Visual Basic doesn't run under Linux, and it's far too bug-ridden, anyway. Perl did look attractive, but just when I was ready to order the Camel book, Neelakantan Krishmaswami suggested that I'd take a look at Python.
And that was the language I needed, of course. Easy to read, easy to write, easy to learn, decently object-oriented, powerfully dynamic and a dream in string handling. Yes, I immediately became an enthousiast. Python is ideal for writing CGI scripts, network applications, gui interfaces, text handling utilities and a whole lot more. It easily integrates with C and C++ libraries and the operating system. I started with CGI scripts, went on with gui applications and am now writing a custom XML web server.
For more information, go to: Python Compared to Other Languages
© 1999 Boudewijn Rempt
Logo © www.python.org
I've been working with Python for over a year now. My main technical interests are in user interfaces, database connectivity and network programming. In the past year I've worked with the PyQt and PyKDE gui bindings, MySQL, XML and html, and I've written CGI scripts and a special-purpose webserver.
My book published! My book is published! After nine months of really intensive typing, GUI Programming with Python Using the Qt Toolkit is available. Published by Opendocs, you can buy a copy from the publishers, or from Amazon , or your local bookstore (they might have to order it, though: the isbn is 0-97003300-4-4). If you have problems buying it, mail me, and I will see whether I can help you to a copy.
I've ported and packaged the source code for all the examples in the book GUI Programming with Python using the Qt Toolkit has been ported to the latest version of PyQt and Qt.
Database Objects, or dbObj for short, is a sort of ultra-feather-weight middleware layer for database access from Python. It's handy to base actual business objects on, that then know how to select, update, delete and insert themselves. DbObj is a part of the Kura project, the linguistics database I'm building.
Kura is a linguistics database. It consists of several libraries and two interfaces: a KDE gui interface for entering and analyzing data, and an xml http server for presenting the linguistic data over the web, in an interactive, dynamic multi-media format. An experimental server may (or may not be - depending on the state of the project) running at: www.valdyas.org:8000. The server uses XML templates to dynamically create HTML pages.
CGI scripts remain popular, and for very good reasons. The first Python programs I developed were CGI scripts that talked to a MySQL database. I have annotated the source code for a simple MySQL/CGI application.
Kpybrowser is a Python path, module and class browser, based on Guido van Rossem's Idle Python IDE. There are two versions: a KDE 1.x version, kpybrowser, and a Qt 2.x version, qpybrowser. Kpybrowsers is a very neat example of a well-integrated KDE Python application, complete with installation script, session management and desktop integration.
I've prepared a small set of applications that use the PyKDE and PyQt libraries, which can serve as examples or as tests when a new version of the bindings is released.
With the release of the first version of the Python bindings to Qt 2 some things have changed and some new possibilities have been opened up, such as Unicode handling with QString.
Current development news - who's doing what, what's the status of the different projects, how are the bindings coming along, culled from the mailing list and other resources.
Stackless Python is awesome - without exaggeration. This small program accompaties an article of mine on Stackless Python and microthreads for InformIT. It's a population simulation with a PyQt gui.
Drift generates words based on a lexicon and a phonology with a certain amount of flexibility, compared to similar things like sounds.htm, which is a nice sound-change applier, langmaker, which is useful if you can run Visual Basic apps, or WordSynth which is a nice Perl script that generates words.
Drift requires Python 2.2.1, because I subclass lists and dicts a lot. Turns out you hardly ever need an iterator if you can subclass list...