Skip to content →

IDEs, we can do better

I use Eclipse every day. I’ve used a wide range of IDEs, but I think Eclipse suits me the best of any current IDE offering. It’s quite capable, regardless of the language I’m developing in. I’m a regular user of CDT, JDT, PDT, Subclipse, and PyDev. In the past, I’ve used Kate, KWrite, KDevelop, Quanta, Gedit, GVim, Bluefish, Anjuta, and probably a few others that I just can’t remember.

Here are my issues with Eclipse:
Deplorable syntax highlighting configuration
Slow, crashes on me a lot
Especially slow with multiple projects open that use different plugins
Code completion could be improved
Ease of typing could be drastically improved (the best shortcuts I get are one to delete the current line and one to comment the current line)
Can’t highlight any type of file, no content detection, requires a plugin just to highlight a file
* Horribly slow search. Search mechanisms do not remember my preferences well. Keyboard shortcuts don’t mesh well with search.

Here are my issues with all the KDE tools:
If you want persistent project support, you have to use KDevelop/Quanta, which is not the most stable of platforms, in my experience
No code completion, again unless you use KDevelop/Quanta
No SVN integration, again unless you use KDevelop
Look like crap unless you’re using Qt, which leads me to…
* Now require a KDE4 environment, which I’ve found to be a gutted version of KDE3 with lip stick (I understand they’re progressing and that making such a huge migration in such a huge project is difficult, I’m just stating the nature of the situation)

Here are my issues with all the GTK tools:
No persistent project support (I think Bluefish might have something for this now)
No code completion
No SVN integration
Generally featureless, in that they’re really good at being simple, and really bad at anything else

I need something better.

I have searched, and searched, and searched for a better IDE. Lots of people I know have Macs, and they use TextMate or Coda. I’m sure that these tools are awesome, but I don’t know a whole lot about them. Additionally, from almost every screencast I’ve ever seen of someone making a blog in 5 minutes, there is no code completion, SVN integration, or persistent project support (although I doubt myself on this with Coda.) Leah Culver speaks very highly of Coda.

There needs to be a Linux “equivalent.” I don’t necessarily know what this would be equivalent to, but I mean to say that there needs to be an IDE that:
Scales well to advanced users
Is simple to use for simple and advanced tasks
Supports persistent projects
Supports SCM integration, and SCM actions via keyboard shortcuts
Supports syntax highlighting out of the box for “all” source types, and allows these colors/syntaxes to be configured by distributable themes/descriptors
Supports code completion for “all” source types, local and shared libs
Has an intuitive MDI, with a file tree browser that can have a selectable root node
Supports configurable typing macros, and ships with plenty of helpful ones (TextMate)
Is fast. It should perform all functions instantaneously.
Has a non-intrusive search mechanism (Firefox quick search via the / shortcut)
Is initially developed exclusively for Linux*, not some other platform and ported to Linux. Cross-platform ports are intended

I’m sure there are going to be the those that say “you could use X for that” where X is most likely vim and a terminal. I disagree with this however. It is unrealistic to use a terminal and vim session on a project with thousands of files, not all of which are plain-text. There are people who prefer this, absolutely, but they are the exception. This is the case for numerous reasons, not the least of which is learning curve for users. People need to get things done, and learning a foreign interface is not always in someone’s list of priorities.

Despite this, I’m looking for a middle-man. Something as capable as the big IDEs in terms of editing and user feedback abilities, but as minimal as vim and a terminal.

To put some value into this rant, I’m hereby speculatively exploring writing such an IDE that meets my criterion, if for no other reason than to satisfy my own will to see an end to spending 45 minutes configuring syntax highlighting in Eclipse for one file type. I’ve already got ideas for this project, but first I’m going to see if I can extend something else, and save myself the hassle of starting from scratch.

Published in Uncategorized