Java Platform, Enterprise Edition

Java EE Journal

Subscribe to Java EE Journal: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Java EE Journal: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


J2EE Journal Authors: Stackify Blog, Sumith Kumar Puri, Javier Paniza, Yakov Fain, Ken Fogel

Related Topics: Java EE Journal, Java Developer Magazine

J2EE Journal: Article

Yet Another IDE War

Yet Another IDE War

  • To view our full selection of recent Eclipse stories click here

    Well, you may have seen the Java Industry Newsletter's hot story, "Eclipse versus NetBeans." As an editor of this fine publication, it's my privilege to see all of our feedback arriving at my inbox. My first reaction was, oh please, not another IDE war. But I dutifully suppressed the urge to delete the e-mails and started to read them.

    Most of the posts tried to be helpful by offering advice like, "Eclipse rocks, its user interface feels more natural and is very snappy." There were other comments like "NetBeans rocks, its user interface feels more natural and snappy." Hum...people, I have news for you; it's unlikely that you're going to change my mind on which IDE I should be using just as I am not even going to try to suggest which IDE you should be using. Why, because it's a personal choice, a choice that is influenced by the problems that we are trying to solve and our various idiosyncrasies.

    While developing each of these tools, the implementers had to make choices and trade-offs. Each of these decisions (necessarily) both enables and limits what the IDE can do. In addition, it affects the way in which you interact with the tool in order to get it to perform. If someone made the correct choice for you, you most likely wouldn't notice it because you would feel that the interaction is natural. If someone made the "wrong" choice, you'd certainly notice because you'd need to think (and consequently question) that particular interaction. In most cases, your choice will be that IDE in which the designers/developers have made the most (or most important set of) "correct" choices.

    Beyond this, the impetus is not about which IDE is better. It's a tool, and a tool is just a device to help us construct our end product. As is the case with most professions, the tools need to vary to match the skills and abilities of the professional handling these tools. Sure, a Williams Formula 1 racing kart may look a lot like a Ferrari but, at close inspection, a professional will note all of the things that he likes and dislikes about each kart. Each will be set up differently as they try to solve the same problems but with slightly different techniques and configurations. Even identical karts will be configured slightly differently to take into account the differences in the drivers.

    So, it was with great relief when I finally ran across a posting from Thomas Hallgren. His post did not resort to telling my why the IDE of his choice was better than all the others. Instead, he wrote:

    We have at least two main contenders in both the open source IDE and the Java GUI market. This is extremely good news. Why? Simply because competition is what drives improvement.

    So to all you NetBeans fans, rejoice over Eclipse! It forces NetBeans to improve. And vice versa. Same goes for Swing and SWT. And while all users should be happy about this, let the implementers sharpen their swords and keep on fighting.

    Now we have something interesting to talk about, competition. It seems strange to me that Sun, on the one hand, promotes competition in the market place, while on the other hand, they have circled the wagons to protect themselves from competing technologies. The fear that a competing technology may split Java is not without merit. The burning question is: Could the SWT split the Java camp? Going back to the kart analogy, does the fact that Williams builds karts differently than Ferrari split the Formula 1 camp?

    Even though Williams and Ferrari do make karts differently, they both must follow a strict set of guidelines or specifications. It is these guidelines that blur the difference in karts to the novice. The reasons for these specifications are somewhat similar in Java as they promote competition. In Formula 1, it's necessary in order to keep the sport interesting to the spectators. The specifications allow for variations, which allow teams to innovate and, hopefully, gain a competitive advantage. About the same can be said for the plethora of Java APIs (such as the J2EE and contained components). What makes the AWT/SWT argument different is that there is no GUI specification in Java. All we have is an implementation. Thus, there is no basis for competition that does not splinter this aspect of Java and hence, the seemingly schizophrenic behavior from Sun. Having said this, it's not so clear that you could apply the same level of abstraction to define a GUI interface as has been done for other components, such as the JMS.

    Finally, a post by Jeff Blanton identified the real target, and I quote, "NetBeans is far closer to Microsoft's Visual Basic environment, which is by far one of the best development environments ever made." One thing is for sure, Microsoft is the target and programming in VB does offer some significant advantages over coding in Java. Having said this, even if Microsoft is the target, should we (the Java community) be looking to follow or copy MS? From my perspective, if we do that, then we can never be better than they are. And it is clear, if Java is going to attract the 10 million developers that they are looking for, it will need to be better and IDEs will be an important aspect of that equation.

  • More Stories By Kirk Pepperdine

    Kirk Pepperdine has more than 10 years of experience in OO technologies. In edition to his work in the area of performance tuning, Kirk has focused on building middleware for distributed applications.

    Comments (3) View Comments

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


    Most Recent Comments
    Alex 03/10/04 02:43:04 AM EST

    Ahhh, these good old JDJ articles: so eye-catching titles, so trivial content ;-) So why am I reading such nerd''s tabloid? well, probably the conjunction of a quickly read headlines from JDJ''s monthly email, and my mind being slowed down by watching snow falling on Paris...

    Nathan 03/09/04 11:17:32 PM EST

    VI? Are you kidding? *Real* developers use emacs...

    Ah...nothing so timeless as development tool wars :)

    Dave 03/09/04 08:19:03 AM EST

    Why can''t we just go back to vi and make? Real tools for real programmers.