Friday, June 12, 2009

Eclipse in an Identity Crisis

Eclipse has an identity crisis.

When you complete performing a module/plugin update, the update wizard would ask you " ... Do you wish to restart your system or apply changes? ..."

Normally, to us mainlanders, "restart system" means the whole kabootle - hardware & OS restart. However, within the Eclipsophere, system means Eclipse itself. There is a bug/enhancement request to change the wording but apparently they cannot decide whether to use "IDE", "system", "platform", etc.

Eclipse tries to be too many things and hence loses its identity. It seems to be offended by being called an "IDE".

In Netbeans, and every IDE I have used, the building of jar, war or application output is spontaneous as soon as I hit the build button/menu. But Eclipse wants to be a generic all-encompassing, megalomaniac super new-world-order elementary-particle thing. So you have to write your own ant file to build your jar and war. Or, construct an equivalent project in Netbeans and copy/modify the ant build file into your eclipse project.

It is hard to comprehend why Eclipse Java IDE is not allowed by its developers to spontaneously build the jar files for me - without having me resort to meddling with exporting, Ant or Maven. I have to be an Ant or Maven expert to use Eclipse? It seems beneath Eclipse Java IDE to do such mundane tasks directly. Occasionally (in fact, frequently) I've had to correct people's Eclipse Ant scripts because of their rather convoluted means of compensating for their lack of awareness of the scope of functionality in Ant.

Eclipse vs Netbeans is like Windows vs MacOS.

Those in the know tell me - it is not precise that Windows is insecure but there is so much functionality in Windows scattered all over the place and you have be a windows expert blackbelt of the 9th dan to configure windows to make it secure.

Similarly, it is not precise that Eclipse is not as good as Netbeans, but you simply have to be an Eclipse blackbelt of the 9th degree to make it all work for you.

Apologies to the pro-Eclipse enthusiast in the Eclipse vs Netbeans debate who is telling me - how dare you compare if Eclipse is as good as Netbeans. Shouldn't you have compared if Netbeans is as good as Eclipse?

It should be baffling why more people use Windows than Mac or Linux. Similarly, I am forced to use Eclipse, but I am baffled why most/more public projects are constructed for use with Eclipse rather than Netbeans. It is no further baffling why the Eclipse team paid so little attention to JEE or visual development.

Why on earth is "Software Updates" found under "Help" menu? Why is "Preferences" found under "Windows" menu? Does it offend their senses to make their menu structure more like Borland's or Netbeans? Do they have to be different?

It is rather evident that Eclipse has an identity crisis. I simply hope the Eclipse team would come down from their high and lofty pedestals down to earth like Netbeans and let me do my job without my needing to be an expert in Ant, plugin management or Eclipse internals. Eclipse does not seem to understand the meaning of integrated in IDE because it is like a kid who is facing a crisis in deciding among a few conflicting role models to be a special kid - Should I be Charles Bronson, Morgan Freeman, Jackie Chan, Van Damme, Danzel Washington or Chow Yun Fatt? Eclipse says "Heck, why don't I be all of them!"

Eclipse JEE tools suck.

To be fair, perhaps the richness of backend features but the absence of frontend features in Eclipse makes it convenient and easier for MyEclipse, Google and Borland to create their IDEs or plugins based on "Eclipse platform". For example, Google GWT App Engine plugin is very well done and spontaneous. On the other hand, the Scala plugin is horrendously uncooperative with non-Scala environments and hence demonstrates the Scala's team lack of understanding of the rich and scattered features of the Eclipse backend platform.

Therefore, Eclipse is not meant to be used directly by us simple programmers but is meant to be a base structure for commercial- and big organisation-ware. Even its run/debug framework say so, because to eclipse, run/debug is accessed as external tools.