Eclipse, IntelliJ IDEA, NetBeans, and Oracle JDeveloper continue Java's tradition of rich and diverse development tools
Top Java programming tools: Eclipse 3.6
Eclipse is the dominant Java IDE by all measures, especially in terms of adoption and the size of its plug-in ecosystem. It reached this prominence due to the decision of its original parent, IBM, to spin it off to a separate foundation, where Big Blue could fund its continued development and Eclipse could also draw the support of other vendors who might otherwise balk at contributing to a vendor-owned product. This strategy has worked well, in part because it was well funded and because of the choice of management personnel, who have done an excellent job of reaching out to contributors, building a community, managing the progress of subprojects, and avoiding controversy.
The importance of Eclipse's vendor independence was made clear earlier this week, when Google publicly announced that the IDE is its platform of choice for Android development. While Oracle's NetBeans might have once been a candidate for this recommendation and technology commitment, Oracle's recent suit against Google has conclusively precluded such a development. Politics matter in this marketplace, and Eclipse has always played this card adroitly.
What is missing from the Eclipse formula is superior technology. Eclipse has long been a middling Java IDE that many people use but few people love. It has improved steadily over the years, on the basis of annual releases that are carefully synchronized across major components and delivered to the market in the June timeframe. This year's release, version 3.6, code-named Helios, adds several new features to Eclipse. I'll get into those shortly.
The design of Eclipse is unusual in several respects -- all of which make it a sui generis IDE, with the result that knowledge of how other IDEs work has little carry-over value when using Eclipse. The core concept is that Eclipse runs using perspectives, which are different ways of representing the panels and layout of the IDE. These perspectives can at times be radically different depending on the activity. It's a design that caters to plug-in development, but at the cost of inconveniencing the user, who must cope with sometimes dramatically different layouts depending on what activity is being performed.
Within the basic Java development environment, Eclipse forgoes conventions and requires users to align with its vision. Before you can create projects, for example, you must first create a workspace. Within the workspace (a concept that has no counterpart in the other IDEs) you build projects. You can also create working sets, which are portions of the workspace grouped as if they were separate entities. This reliance on workspaces means that creating or migrating projects can be a tedious process -- poorly supported by wizards with unusual and unexplained options. The concept of "just do it" does not exist in Eclipse. Almost everything requires filling out dialogs or choosing options that are either indistinguishable or unintuitive.
This weekend's Windows 10 upgrade has users angry, and it's unclear if the ploy will continue
Here’s the best of the best for Windows 10. Sometimes good things come in free packages
Speaking at the O'Reilly Fluent conference, Eich also endorsed the Service Workers mobile app...
Spoiler alert: There probably isn't. But that shouldn't cause anyone to panic aside from Wall Street...
Oracle says Java EE 8 will be equipped for cloud deployments, microservices, containers, and...
IoT will soon permeate every aspect of our lives -- the very definition of sprawl. How will we derive...
Git was made for distributed teams, but long distances introduce special challenges