Links - Python Language

Jan 31 2009, added EasyEclipse for Python IDE
Dec 13 20008: A few preliminary links ... and two new links on the Great Self Debate !

A Minor Harangue

I remember a time not so very long ago when I was required to spend an afternoon adding "^yourself " to the end of several hundred Smalltalk methods because "that's the right way to do it". I predict that the use of self in Python method arguments will persist for much the same reason.

[ Note: Only with superhuman effort did I resisted the temptation to add "^%#! yourself" to all the comments. Call it professionalism. ]

In fact, the use of self in this way is reminiscent of the Great Object-Oriented versus Object-Based Debate in the early 1990s. The term "object-based" was used to refer to something like frames. The class definition was essentially a template for creating object instances allowing instance-specific attributes/properties and methods/slots to be created dynamically after initialization. Each approach has its advantages.

Python IDE Tools

For a light-weight environment.the IDLE IDE has good basic features and comes included in the Python Standard Library - no installation. It is built upon the Tkinter interface to the Tk GUI Toolkit. For an even more light-weight environment, IPython provides an enhanced command shell, with completion, magic commands/macros, etc.

Sometimes the job requires an industrial strength environment. Highly recommended is EasyEclipse for Python. It is a full-featured, reliable all-in-one type package that will co-exist with other installations of Eclipse environments. The EasyEclipse for LAMP version ( > 150 Meg ) comes packaged with Ruby and PHP plugins. The package includes it own Java Runtime.

Some of the versions of the components may not be the latest, but it's a good common IDE for both Windows and Linux ( and maybe the Mac too ? ). The major drawback of EasyEclipse is the sheer size and complexity of the thing - it takes a large learning curve to master all the features.

Also see the excellent python-based Eric4, based on the QT library. Very simple, stable and effective ( I have only used the Linux version, but QT has Windows and Mac versions as well. )