| By Kirk Pepperdine | Article Rating: |
|
| March 5, 2004 12:00 AM EST | Reads: |
32,673 |
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.
Published March 5, 2004 Reads 32,673
Copyright © 2004 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
- Eclipse Special: Milestone Build Now Available - Eclipse 3.0 M8
- Eclipse "Welcomes Open Dialog From Sun"
- Eclipse Special: Bill Dudney Looks at the Change Method Signature Refactoring
- Eclipse Special: Remote Debugging Tomcat & JBoss Apps with Eclipse
- Eclipse Special: Bill Dudney Looks at New Stuff in M9
- "Eclipse 3.0 is a Great Leap Forward," Says JDJ's Dudney
- ILOG Launches New Business Rule Studio for Eclipse
- SYS-CON Radio interviews the Eclipse Foundation
- Eclipse "Pollinate" Project to Integrate with Apache Beehive
- Exclusive Q & A with Mike Milinkovich, Executive Director, Eclipse Foundation
- Gosling: "Netbeans 4.0 Rocks!"
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.
![]() |
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. |
||||
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?

















