What's the big IDE? Comparing Eclipse and NetBeans
The Java community has long debated the best IDE. Is it Eclipse or NetBeans? These are the two most popular among TherServerSide.com readers.
What's the big IDE? Eclipse versus NetBeans
In the Java development community, there are two main Integrated Development Environments (IDEs): Eclipse, which is associated with IBM and NetBeans which is a Sun/Oracle environment. Given the prominence of these two major players in the software industry as a whole, you might assume that there's a fairly even split in popularity between these solutions. However, TheServerside.com Readership Survey 2011 paints a very different picture. Respondents pegged NetBeans at a puny 8% usage. In contrast, Eclipse captured 61% of the market among Java developers. The IBM Application Developer (which is built on Eclipse) accounted for an additional 10% bringing the total to more than 7 out of 10 developers using an IBM environment.
What both IDEs offer
The basic versions of both Eclipse and NetBeans offer very similar standard capabilities. You get the auto-complete options for Java code so you can select from a menu rather than typing everything out. You get pointers on debugging and optimizing code as you go along. GUI builders, version control and other IDE features are also included. Having all the development tools collected in one application is key for Java developers who want to compile and run new programs faster than they could using a traditional text editor and its associated tools as separate components.
So, what makes Eclipse so special that it blots out the competition? Does NetBeans really not amount to more than a hill of beans? Turns out, timing has a lot to do with it.
IBM got there first
The primary reason for the popularity of Eclipse is not really about how well the two platforms compare from a functional standpoint. Right now, what we're looking at is simply a matter of better market penetration strategies. Although Eclipse and NetBeans were actually in their initial development/early launch stages at the same time (the late 1990s and early 2000s), Eclipse was rolled out successfully to a much larger user population earlier than NetBeans. By 2003, Eclipse already had a substantial following in the IBM community. Acceptance spiked even higher when IBM released control of the IDE to the newly created Eclipse Foundation. IBM revamped its own products during the same time period to rely heavily on the Eclipse platform.
The company's two pronged approach of making the IDE open source and freely downloadable while also bolstering its own investment in the technology has helped ensure ongoing participation from both inside and outside the IBM client base. Today, Eclipse is viewed as a well-proven platform that commercial vendors can build on to create their own set of products and that enterprise users can rely on for internal application development. Right now, it's simply the IDE that most people are using already. That's why you'll see lots of discussions online about whether or not to switch to NetBeans from Eclipse and not the other way around.
It doesn't help NetBeans that their earlier versions left a lot to be desired. This IDE was developed as open source beginning in 2000 (sponsored by Sun Microsystems). In the words of the NetBeans.org website authors themselves, "An open source project is a living entity that needs time to find the right balance of people and contribution. Its growth is always an ongoing process. The first year (through NetBeans 3.2), the project spent trying to find its feet. The next few years involved learning about what worked in terms of open-source processes. In the first two years, the development process was so open that more time was spent debating than implementing." That's a polite way of saying that things got off to a rocky start. Today, most of the complaints about earlier versions of NetBeans have been resolved as the platform has matured. But early adopters who dropped NetBeans to return to Eclipse still have a bad taste in their mouth that will take a while to fade. In contrast, new adopters of NetBeans have plenty of positive things to say about the IDE.
Pros and cons
So, now that the two environments are on a fairly even footing in the features and functionality they provide, what's the difference? A lot of it has to do with personal preference and what the IDE is being used for. In fact, many developers use both Eclipse and NetBeans -- just for different projects or clients. Each solution still has its own drawbacks and frustrations. Here are two of the most common distinctions users make between the IDEs:
- Ease of use
According to quite a few developers, Netbeans is easier to navigate right out of the box as long as you don't try to use all the bells and whistles at first. It's potentially more difficult to grasp at an advanced level compared to Eclipse because you really have to know what you are doing in Java to complete more complex projects. It could be ideal for beginner Java developers who just need the basics to start with and who are willing to take a "learn as you go" attitude to the rest of the platform. At one time, NetBeans featured a more pleasing and intuitive interface than Eclipse; but Eclipse has improved in this department recently.
Eclipse has a huge array of plugins delivering capabilities that aren't necessarily available with NetBeans. Sorting through the plugins and dealing with plugins that break because of updates to new versions can be a headache. Third-party plugins offer lots of variety but aren't necessarily reliable because of a lack of quality control. This reliance on plugins has led to quite a few complaints about the stability of the Eclipse platform; there's a lot that can go wrong as the number of plugins increases. That being said, if you get the right plugins, it can make life a lot easier.
NetBeans tools tend to be a little more standardized as part of the Sun/Oracle brand. For example, a GUI builder comes with the NetBeans platform while it's only available as a plugin for Eclipse. At the same time, many Google development tools like those for Android are easily obtainable as plugins for Eclipse and are not part of the regular NetBeans package. Some plugins are available for NetBeans (including a few that can be ported from Eclipse), but these plugins introduce a whole different set of complexities and the plugin technology isn't as mature for NetBeans when compared to Eclipse.
At this time, it appears that Eclipse will continue to dominate the field due to user familiarity and the availability of custom options. However, the fact that NetBeans is a viable option means Eclipse will need to keep their plugin issues under control to retain customer loyalty .
New to Git and distributed version control? Here are some Git examples and Jenkins-Git integration tutorials designed to help you master the popular source code versioning tool.
- The five basic Git commands beginners need to master
- Undo a commit and manipulate commit history with this git reset --hard example
- Learn to git revert a commit with the bash shell
- Use the git cherry-pick command across Git branches
- Change the Git editor to Notepad++
- Where the Windows Git configuration files are stored
- Make continuous integration part of your DevOps journey with this Jenkins CI tutorial