Thursday, January 25, 2007

Komodo 4 released; new free version

ActiveState has released Komodo IDE 4. Perhaps more interesting, if you're not already a Komodo user, is the release of Komodo Edit, which is very similar to the old Komodo IDE Personal edition, only instead of costing around $30, Komodo Edit is free. The mental difference between "free" and "$30" is much more than the relatively small amount of money; it will be interesting to see what happens in the IDE space now.

After a brief evaluation I would say Edit is perhaps the strongest contender for "best free python IDE." The only serious alternative is PyDev, which on its Eclipse foundation provides features like svn integration that Edit doesn't. PyDev also includes a debugger, another feature ActiveState would like to see you upgrade to the full IDE for. But Komodo is stronger in other areas such as call tips and, well, not being based on Eclipse. I also think its code completion is better, although this impression is preliminary.

It's also worth noting that so far, Edit doesn't sport the "Non-commercial and educational use only" restrictions that Komodo Personal had.

15 comments:

Scott Benjamin said...

I've grabbed a copy of Komodo Edit and am playing with it a bit. Thanks again for the post about it, I'm always on the hunt for something to increase my productivity.

Ravi Teja said...

I just tried Komodo Edit. ActiveState is perhaps a bit late with this freebie. It now has to compete against EasyEclipse for LAMP (PyDev for Python) which has more or less the same offering as a workbench for dynamic languages.

My reaction to code completion features is mixed. Although I liked the format of the calltip, it was quirky. I am not getting completions and calltips consistantly. It often seems to fail first but eventually show the list/tip. I am frequently getting "error determining completions" in the status bar.

But then again, this is still a beta. Perhaps it will be fixed by the time the release is out.

Anonymous said...

I wish they hadn't stripped the Rx toolkit out at a minimum and wish also the code browser was still there as well.

Marius said...

There's a difference between $0 and free. Komodo Edit seems to be freeware, but not free software, as far as I can see.

cowmix said...

Hmm.. I just tried it..

It doesn't seem to stack up to PyDEV in my opinion.

Anonymous said...

It is not really what most people think about "free". It is more exploiting people "en masse" to beta test their product. Reading the License, it says that when the product will be released, you'll have to remove it from your hd. So much for a "free program"!!!

Anonymous said...

Hmm.... it's nice, and being based off of Mozilla/XUL gives it a great feel, but it doesn't really have strong autocomplete support, and that's one of the only things that could lure me away from my current text editor. In the python tutorial included to show off the editor's features, for example, it includes the line log = logging.getLogger("preprocess"). Editing the following line, you can get autocomplete after typing logging., but nothing shows up for log., and tooltips aren't even displayed when you type out log.debug( -- according to the status line displayed it is attempting to figure out calltip info for logging.getLogger.debug, which is obviously not going to work. Getting stumped by a function call seems like a pretty basic failing of the editor's "Code Intelligence" engine, and I hope there is enough time left in the beta period for them to finish implementing it.

I know autocomplete for python is hard, and I haven't really seen it done well anywhere else either, but it's one of those things that needs to work for all your code, or it just isn't good enough to include. So I hope that the python autocomplete still has some considerable work planned on it before release, because if they can get this working it will probably be enough for me to switch to Komodo Editor for python.

The other thing that could lure me away from my text editor is really strong integration with an interactive shell, like being able to transfer the lines of code I've just finished figuring out and testing inside the shell to the editor (without all of the >>>s and ...s for multi-line code and preferably also pulling in all functions and variables referenced from that code and defined elsewhere in the shell), or being able to call functions and use objects defined in the text editor from within the shell without having to bother with doing an import, save, reload() process every time something changes in the project. But the interactive shell isn't even supported in the free edition, and as far as I can tell from the docs the only advantage over running an external shell is that it adds the project's directory to the PYTHONPATH.

That said, the HTML/CSS editing is better than any other free editor I've tried, mainly for having decent autocomplete, showing tooltips, and not annoying me with automatically inserting closing tags on the opposite side of my cursor (when I'm just going to have to spend as much time navigating my cursor past the tag as I would have spent typing it out). Most importantly it has a (slightly) integrated preview: the only difference to running Firefox in an external window is that you don't have to click "Refresh" after saving the file you're working on, combined with not having to bring the browser to the front, but that's enough to be more useful than a non-integrated browser. It's just too bad it isn't previewed live - you have to save the file to see any changes you've made appear in the browser. Also, the auto refresh breaks if you are working on any linked/embedded files - you can have it auto-refresh an HTML file after saving a referenced external stylesheet OR auto-refresh after saving the HTML file, but you have to choose ahead of time which one (and only one) of the two files (CSS or HTML) you want it to monitor. Also, it would be nice if they mentioned exactly what the abilities of the integrated browser are -- I'm assuming it's a fairly recent Gecko, and is therefore useful for doing more than just getting a rough idea of what the page looks like.

It's not clear to me just how early a beta this is, but if it's still early enough for work to be planned on the autocomplete engine, I have high hopes for it. And even if that isn't to be, it will probably become my HTML/CSS editor of choice, especially if they can get the auto-refresh working. Even being able to auto-refresh after changes to a single, chosen HTML file AND a single, chosen CSS file would be enough for me.

Regarding the license, the requirement to use the program for nothing other than testing the software for bugs and to remove the beta version when a new version is released or after 6 months, which ever comes first, worried me too. But the fact that they advertise it as "free" on their website convinces me that those are just special requirements during the BETA period, probably just left over from a generic BETA testing license ActiveState uses on their commercial products too. Once released as a non-beta, I don't think they'll charge for this "editor" edition, or time-restrict your usage of it, not after advertising it as being available for free. They just want to make sure people upgrade to the (still free, or $0) non-beta version when it is released.

Anonymous said...

Interesting line from the release notes' known issues: "GUI Builder support has been removed from Komodo. GUI Builder will be released as an open source project at a later date."

Jonathan Ellis said...

Yeah; see this post for more on the gui builder

Baczek said...

why is it better than vim/emacs?

Ravi Teja said...
This comment has been removed by the author.
Anonymous said...

just use stani's python editor, really nice editor and works well with code completion... pythonide.stani.be

Anonymous said...

Hello, I'm Shane Caraveo, Tech Lead on Komodo. I thought I'd respond to a few things posted here.

Komodo Edit is Free as in you don't have to pay for it. The current beta does have a time limited license, but that is primarily because we want people to use the final released version when it is available in a couple weeks. Komodo Edit is not an open source product, though it is based on many open source projects, several of which we contribute to at some level. The license for Edit otherwise has no restrictions on usage (ie. you can use it commercially, there is no time limit, but do see the license for details).

Komodo IDE and Komodo Edit are the same base system, with IDE having the addition of many advanced features. As we move forward with new features and fixes, Edit will be updated as well.

I really appreciate the person who posted the long review, we'll make note of what was said there, great comments. The completion will not get much change for final release, but more work in that area is planed for the 4.X release series. Some of the delays people see there is possibly related to the loading of libraries when completion is first used.

Regards,
Shane Caraveo
shanec at activestate dot com

Luke Stebbing said...

To anonymous with the long, informative review: out of curiosity, what editor do you currently use?

Martin said...

I started with Python recently and have been evaluating some free & even commercial editors/ides (Emacs, Vim, Pydev, Wingide) this week, finally installed Komodo Edit this evening - my first impressions - it's really good: I really like vi keybinding, macros, (for me) good code completion, lightweight nature, good screen space utilisation, sensible choices wherever I've looked so far (included dark theme eg. but not only)