IDE Showdown, primary vs. secondary features, commercial vs. open source
I spent about 5 years working in Java, where I used NetBeans, followed by IntelliJ and ended up with Eclipse (after a job change), so I was interested to read a recent article on TheServerSide.COM about an event run by the Cologne JUG where evangelists from JetBrains (IntelliJ IDEA), NetBeans, the Eclipse Foundation and Oracle were each given 30 minutes to show their respective IDEs, followed by a Q&A session (see IDE Showdown - Evangelists duke it out at Cologne JUG for the full article).
There are some interesting points in the article, not least an acknowledgement of "the high level of copying that occurs between each of the IDEs. Features that appear in one will appear in the others tomorrow so these features are no longer the key to an IDE’s future.What *is* key are secondary feature sets..."
I guess this isn't that surprising: today's innovation becomes tomorrow's expectation. When I first started using IntelliJ I found the refactoring support made me so much more productive that I became reliant upon it. Refactoring support became one of the things I expected from an IDE, much as decent debugging support had done previously. Similarly, things like "Create Unit Test" based on an existing class. I expect things like this to be common across a viable IDE, and it's for reasons like this that "we see a lot of cooperation not only in the Eclipse Foundation but even between the IDE authors themselves" - leaving them to compete on the secondary features. I'm not going to get into comparing Visual Studio feature by feature, that's not what this post is about, but I guess the ALM support is a secondary feature, a differentiating factor. It's in secondary features where competition leads to innovations that eventually become part of the baseline expectation - a rising tide, if you like. Competition is good!
There are some other interesting points in the article, e.g. why IntelliJ is the only one of the 4 you have to pay for with a case for commercial vs. Open Source IDEs, and another interesting thing is the pure-IDE vs. "not-just-an-IDE-but-a-platform" split between the four. Worth a read!