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.

2 comments:

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.