Where did my pixels go (tales of Java IDEs)
So I was working on my laptop, tracking down an obscure bug in some code I had rewritten, and was marveling at how little text was on my screen. I had all this great UI which leveraged color coding, provided amazing code navigation tools, and let me view objects in the debugger with the greatest of ease. Yet I had less actual code displayed than I would have had back when I used emacs on an 800x600 screen! Back then (~1997) I had a laptop as my primary development machine (a very unusual state of affairs back then) running Linux. I had X set up so that most of my regular apps ran w/o title-bars, thus emacs really did have all 800x600 pixels. Modern UIs waste an amazing amount of pixels. I was amazed at how thick the spacers are in IntelliJ. For a true developer's IDE, there should be as few pixels wasted as possible! More importantly, basic editing and navigation must be fast. I should not need my 4GHz P4 desktop machine just to make the IDE usable.
Why isn't there a good, modern (intellisense, incremental error, etc) IDE? Actually, there probably are, but since I'm limiting myself to platforms which support both OS X & Windows, I'm not even looking at a majority of the offerings, since they are Windows only. I've tried JDE, the emacs Java Development Environment, but it seemed less than obvious how to get intellisense working. Part of my issue is that I typically rotate between 2-4 active projects, often where at least 2 of those are different branches of the same basic code-base. I like how classic IDEs (Eclipse/etc) make the solution pretty easy... Each app instance is working with one 'project', and projects are independent. Creating a similar effect in Emacs really seems like a hack.
I'd really like to see someone build a good, fast IDE with an efficient UI. Obviously part of the problem is that cross platform UI is a nightmare. I've almost never seen this done well. Little thinks like the menu bar differences between Mac and everyone-else are just the tip of the iceberg. Java helps, but Java IDEs always seem slow. I'm curious if anyone has profiled Eclipse. Where does it actually spend it's time? What accounts for the large memory usage? Basically... what would benefit most from being written in C/C++ rather than Java?
Enough griping. Back to work