Your IDE of choice

Wednesday 7 January 2009This is close to 16 years old. Be careful.

A recent posting on django-users is entitled Your IDE of choice, simply asking people for their IDE preferences.

These questions sometimes turn into silly flame wars about Emacs vs. vim vs. everything else, but in this case, it’s a bunch of people chiming in with their choice, and I find it useful to read through to see what people are using. Often I discover new tools, as I did this time.

  • Geany is a new programmer’s editor with some project and build features. If the development keeps progressing, it could be useful.
  • rope is a Python refactoring library that I had seen before, but it doesn’t integrate with an editor I use day-to-day (yet), so I haven’t been able to try it. It seems very capable.
  • Turns out Komodo Edit, my current workhorse editor, has gone to 5.0, and I didn’t even know. I think asking 4.4 if there are any updates should say, “Yes, 5.0!”, but it doesn’t.
  • Dillo is a web browser. People still write browsers from scratch?! It sounds very idealistic (“Our policy is not to work around broken HTML.”), but isn’t this a hopelessly uphill battle?
  • ecb is the Emacs Code Browser, which looks like a clever shoehorning of standard tree control file browsers into the Emacs world. How do they render the icons and stuff?
  • Pyrox looks like yet another start on a wxPython-based editor, along the lines of UliPad, PyScripter, and so on. Unfortunately, the site is only in Spanish, so I can’t really tell.

Other than Komodo Edit 5, none of these are going to become part of my tool set, but it’s good to keep on top of what’s out there.

Comments

[gravatar]
The new netbeans python early access support is getting a lot of buzz lately and not without reason!

http://download.netbeans.org/netbeans/6.5/python/ea/
[gravatar]
I agree with above.. Netbeans is pretty good. I just used it for a large Python project.

For something more lightweight to do Python development... I keep swaying between SciTE, Editra, and Komodo Edit. All are nice.
[gravatar]
The Pydev extension for Eclipse is amazing. Far and away the best editor and debugger for Python I have ever found.

I kind of wish it was broken into a lighter weight package. There's a lot of cool features Eclipse brings, but also a lot of baggage.
[gravatar]
I use VIM and Geany for everyday code because they do it well, and Pydev only for its powerful debugger.
[gravatar]
Ned wrote:
> Turns out Komodo Edit, my current workhorse editor, has gone to 5.0,
> and I didn't even know. I think asking 4.4 if there are any updates
> should say, "Yes, 5.0!", but it doesn't.

I handle the auto-update system for Komodo. Here is the pickle: For a couple reasons [^1] we don't get Komodo N+1 (where "N" is the *major* version number) to auto-update Komodo N. Komodo is using the same auto-update system as Firefox (and Thunderbird). AFAIK this system doesn't provide a way to have the regular notification say: "Hey, there is an update, but not an *in-place update*. Go here to get it."

That said, the top panel in Komodo's Start Page tab (if you look at that tab, "Window | Start Page") was updated in November with this content:
http://komodo.activestate.com/static/startpage/4.4/edit.html
to also attempt to notify people of the new version.

As well, we've done all our usual announcements to our lists. In particular the low traffic "komodo-announce" list (http://aspn.activestate.com/ASPN/Mail/Browse/Threaded/komodo-announce/) might be interesting to you. I haven't announced Komodo 5 on python-announce, though I should have. I don't announce every small Komodo release on python-announce because I don't want to spam the list too much, and I guess I forgot to announce that Komodo 5 major release in all the bustle.


[1]: We have the major version number in the default install dir (on all plats except Mac OS X, that is). Over the years the feedback from users, and the way to fewer confused support requests, has biased us to keeping major Komodo versions relatively separate. A lot of our users have found that they want to evaluate Komodo 5 for a while before switching from Komodo 4 (you can run both side-by-side). Another reason is that Komodo IDE 5 (Edit's commercial brother app) is for-pay upgrade from Komodo IDE 4 and the auto-update system doesn't support handling that.
[gravatar]
@Trent: Now I understand the upgrade issues. I don't display the start page, so I missed the announcement there. I've now subscribed to the komodo announcement list, so I won't be left behind again! Thanks.
[gravatar]
Charles Merriam 2:26 PM on 7 Jan 2009
What we really need is short exposition on the coolest unique feature of each entrant. Also, a paragraph on its single largest flaw.

The feature is for breeding. Authors 'research' cool features in order to create improved future versions.

The flaw is for some hope of resolution: flaws live for a long time. For example, Emacs has a considerable flaw in that its reliance on control and meta keys tend to lead to various repetitive stress injuries. I know of no emacs programmers that avoid the problems for more than a dozen or so years. That alternatives exist, such as using multiple keys or overloading the space bar, will not fix the flaw.
[gravatar]
Funny, no mention of WingIDE ( http://www.wingware.com/ )-- it's pretty decent IMHO (not sure about Django support though)
[gravatar]
I use Komodo Pro and Wing IDE. Komodo is my choice for C/C++/Python/Perl cross development (work) and Wing is my choice for Python/Django.

The Django support in Wing is better than komodo's and the debugger in Wing is light years ahead. The probe debugger (standard commandline interpreter in the IDE sub window, but it changes local context as you jump around the stack trace... freaking AWSOME!)

The new doctest and nose integration are very very very nice as well (used to only do unittest).

The complaints with wing (and why I use Komodo as well), it is dog slow on windows (where I do my work development). No perl debugging, no completion for C/C++, etc. But if I am doing core python work on linux of Mac (or debugging Django on windows), I go with Wing.
[gravatar]
Hi Ned,
It would be cool if you could take a look at NetBeans; in the 7.0 builds (e.g. after the EA builds somebody pointed to above) we have code coverage support now, which is built on top of your coverage.py library.

See this entry for more (with a couple of followups after that - better graphics and coverage integrated with a test runner.
[gravatar]
Anybody tried Eric IDE?
http://eric-ide.python-projects.org/eric4-download.html
I'm wondering if it's any good.

joce.
[gravatar]
I've tried to install Eric several times since 2004. Never made it past the install process. Don't know - or care - how great the IDE is.

AFAIK, installing Eric requires polluting your system Python (which I'm not willing to do), and spending several hours manually installing prereqs, configuring things, and basically being a human installer program.

If they ever put together an MSI that installs the IDE as if it were an app - not a system library, then I'd certainly give it a try. It looks good from a features perspective, but I'm just not willing to take all the pain it requires before I even get to open the app for the first time.
[gravatar]
My choice is Codelobster IDE - http://www.codelobster.com

Add a comment:

Ignore this:
Leave this empty:
Name is required. Either email or web are required. Email won't be displayed and I won't spam you. Your web site won't be indexed by search engines.
Don't put anything here:
Leave this empty:
Comment text is Markdown.