Genius Steals, Marketing Homogenizes

The upcoming new version of NetBeans, 5.0, was announced on JavaLobby this week by a breathless team of Sun developers. The feature list in this new version (the megalith previously known as 4.2) makes a powerful statement: NetBeans has got all of the features that its heavyweight rivals have, plus a whole lot more.

The responses on the JavaLobby thread make interesting reading, if you pause to reflect that most of them are from Eclipse users who evidently want to stay as Eclipse users, and seem to be looking for reasons not to switch to NetBeans.

Here are some examples: “I played with the AnagramGame toy project for a few minutes. Here's a short list of gripes when comparing NetBeans 5.0 (dev) to Eclipse 3.1: . . .” “This may seem minor, but this is one thing that keeps me using Eclipse . . .” “The new features are great, especially Matisse, code templates, and refactoring. However, I wasn't able to find something like "Mark Occurrences" from eclipse.”

The Java IDE war really hotted up when Eclipse was first announced. Each IDE stood alone with its own strengths and weaknesses, and – importantly – its own core philosophy on how it “did” stuff, how everything should fit together.

Currently the war continues at a furious pace with public slanging matches between gurus from each camp, and a desperate arms race to plug the gaps in each IDE’s ever-growing feature list. But another way of looking at it is this: each camp is desperately trying to copy features from the other. In doing so, they’re also inheriting ideas and UI innovations.

For example, IDEA pioneered refactoring support directly in the IDE. This innovation was copied by Eclipse, and then (eventually) by NetBeans. In their upcoming release, NetBeans 5.0 introduces the excellent Matisse GUI editor. Now watch as the other IDEs scramble to introduce something similar.

At this rate, eventually we’ll end up with a single, homogenised UI across all the IDEs, where each one does everything in exactly the same way. Innovation may be stifled because the IDE creators won't want to be seen to be different. And all that will be left to gain a “competitive advantage” will be the public slanging matches.

I’m not so worried about the griping and name-calling, but it would be a great loss if each IDE truly lost its individuality. NetBeans lost one of its great advantages (the highly usable “filesystems” approach) to be more like its competitors. And in an extreme case, Borland has even decided to completely rewrite JBuilder using Eclipse.

Users of Eclipse (or IDEA, or NetBeans) should stop looking at individual features as reasons to switch or stay, and instead look at the IDE package as a whole. If the grass is greener where they’re standing, they should by all means stay put. But deciding not to switch IDEs because NetBeans doesn’t do things exactly like Eclipse does, just isn’t the right reason.

About the Author

Matt Stephens is a senior architect, programmer and project leader based in Central London. He co-wrote Agile Development with ICONIX Process, Extreme Programming Refactored, and Use Case Driven Object Modeling with UML - Theory and Practice.