03 April 2008

Beware the IDEs of April

My post on Python IDEs got a huge number of comments, including recommendations for Eclipse with plug-ins, Visual Studio with plug-ins, and Emacs.

One of the two highest-recommended options was Komodo IDE. I've had some success with a trial of Komodo IDE on Windows, with only one major crash, which I was unable to reproduce. However, the same code brought over to run under the same version of Komodo for MacOS X produces a strange syntax error. I've filed this as bug 76114. It seems quite strange, especially given that the same code runs fine using the command-line Python under MacOS X. Despite this issue it seems overall to be a pretty usable environment.

I've also had several recommendations for WingIDE, which I will check out as well. Thanks to everyone who responded!

The program mostly reads an XML file, does a little validating and destructuring of the nodes into dictionaries, and then generates some C++ using a template. About as "real-world" a program as they come. Even as boiled-down as I can make it, it still seems awfully wordy and full of functions whose behavior is extremely dependent on my intermediate data representation. In Common Lisp, I'd be trying to use s-expressions instead of XML for the starting data, and using destructuring macros to turn the input data into data structures. With NewtonScript, I might try to find a way to do it by writing accessors that used path expressions. Is there a better way in Python? How about Haskell? I'll have to give it some thought.


Paul R. Potts said...

I've only just installed it, but I'm immediately impressed with Wing IDE. It has a very nice feature, a tab in the debug interface called "Debug Probe," that provides an interactive Python command line at the point of your breakpoint or program exception. That's _very_ nice; you can test a fix on the fly on your actual runtime state.

It gets extra points also for having a simpler process for starting a trial; you just download it, run it, and tell it you want a trial. And we shouldn't overlook the fact that the personal edition is considerably cheaper than Komodo IDE!

I have not yet tried it on MacOS X, so we'll see how that goes as well.

Paul R. Potts said...

After spending today working with Wing IDE, I have to give it my vote as the best Python IDE I've tried. It worked beautifully all day, with no crashes. I like the editor better as well, mostly just for very small differences.

The MacOS X version is actually an XWindows application. This is both good and bad; it isn't _quite_ Mac-ish in, say, its file dialogs. On the other hand, the GUI has a lot of themes, and some of them are quite pretty. It seems to work fine, although I haven't exercised it very well on this platform yet.