random memes }

One IDE to Rule Them All?

From Don Box Yet Another 2005 Prediction List:

Sun Microsystems will embrace Eclipse. Eclipse 3.x is now way above the "good enough" bar and has IBM's deep pockets behind it. In 2005, Sun will cut its losses on Netbeans and do the right thing for Java by unifying on a common tool platform.

Well, I suspect Sun has too much ego invested in NetBeans for this to happen. Maybe this is what Tim Bray is saying, though perhaps not intentionally :).

Don't get we wrong. NetBeans is a pretty interesting product, and each successive release knocks out some of the rough spots. Yet after trying each and every release of NetBeans, I just do not find any real advantage over Eclipse. Since I only recently returned to Java programming, I only recently adopted Eclipse (and used mostly JDeveloper during the last round of Java work - a few years back).

Competition between IDEs is a great thing, and if Sun wants to spend money on NetBeans ... nothing wrong with that in itself.

What is wrong is when this causes fragmentation in the surrounding development community. Eclipse accepts plugins, and the plugins are largely developed by folks outside the Eclipse group proper. NetBeans accepts plugins, and doubtless many of the useful plugins are not developed by Sun. If building a plugin for Eclipse is too different from building a plugin for NetBeans -- this is not a good thing.

If Sun wants to spend money building a better IDE -- this is great.

If Sun fragments the surrounding development community more than absolutely necessary -- this is uncool.

Of particular note are the Eclipse plugins to support languages other than Java, or frameworks other than those built by Sun. It is not reasonable (and not efficient) to ask those third-party developers to build completely different plugins for NetBeans -- and NetBeans is the poorer for this.

My hope is that Sun will invest some effort in arriving at a "common tool platform" at the plugin level. This will contribute to making everyone more efficient.