The Source for Java Technology Collaboration
User: Password:
Register | Login help    

Search

Online Books:
java.net on MarkMail:


Sun's Developer Tools Strategy FAQ

Posted by gsporar on February 1, 2006 at 6:14 PM PST

In addition to sponsoring the NetBeans open-source project, Sun has additional Integrated Development Environment (IDE) tools that it provides. These are:

All three tools are built on the NetBeans Platform and they incorporate features of the NetBeans IDE. All three tools are available for free, if you register for the Sun Developer Network (which is also free). Since NetBeans version 5 has just been released, I decided to get a better view of what the strategy is behind having multiple tools and an idea of what the roadmap looks like. So I asked some questions of Bob Brewin who is Sun's Chief Architect for developer tools.

Q1: Why are there four IDEs: NetBeans, Sun Studio, JSE, and JSC?
A: There's a blog entry on this topic, but the short answer is: The IDEs that Sun delivers as products serve multiple audiences and serve different functions. For instance, Java Studio Enterprise provides some extra enterprise-class tools for service-based application development and modeling facilities using UML. Java Studio Creator is designed for the rapid development of Java applications by those either new to Java or domain experts who needed an easy way to leverage the power and portability of Java without enduring the steep learning curve needed by other IDEs (more thoughts on this here) . And Sun Studio provides features needed for C/C++ development on Solaris and Linux.

In the past we built these products on different versions of the base NetBeans code, but we're moving away from that approach and will now build on the unmodified product. As the independent products converge on a standard binary version of NetBeans later this year, it will therefore enable us to deliver modular components of functionality from the Studio products which simply layer or plug-in to that common NetBeans IDE foundation. The model of 'the right tool for the job' still applies here, it's just a method of delivery change, and a simpler one at that: one IDE (one toolbox), multiple tools (available in that toolbox).

Q2: What version of NetBeans is JSE 8 built on?
A: NetBeans 4.1. But the next version (JSE 8.1) will be built on NetBeans 5.0 and be in binary synchronization with future NetBeans releases.

Q3: So what solution should I use if I want the UML features in JSE 8 and the new features in NetBeans 5?
A: Today, you still need to use the two IDEs. This spring however, there will be a preview of the integration of those extra Java Enterprise Tools within NetBeans, which will allow you to use the advanced enterprise features from Java Studio Enterprise, such as UML modeling. When Java Studio Enterprise 8.1 ships, you will be able to use a single IDE with all the features of NetBeans 5.0 because JSE 8.1 will be built on the binary version of NetBeans 5.0.

Q4: When will a version of JSE be released that is built on NetBeans 5?
A: JSE 8.1 is scheduled for release by summer of 2006.

Q5: Why the delay? Since JSE is already built directly on the NB 5 binary, why is there over a 3 month delay before 8.1 ships?
A: Java Studio Enterprise 8.1 is tightly aligned and integrated with the Sun Java Enterprise System (JES) version 5 and as such will be released to provide a tight pairing of runtime and tool when version 5 of JES is ready.

Q6: JSC 2 was recently released. What version of NetBeans is JSC 2 built on?
A: JSC 2 is built on NetBeans 4.1 (the same version as the current release of Java Studio Enterprise) because Creator (with its unique workflow and user model) required changes in the core IDE (NetBeans). These changes (simply for logistical reasons of resources and time) will be incorporated in a future version of NetBeans as contributions from Sun to the NetBeans community. At that point in time (at present we estimate this calendar year), those changes will be incorporated into NetBeans and Creator will be built on the same binary base as Java Studio Enterprise.

Q7: So what solution should I use if I want the cool web page design features in JSC 2 and the new features in NetBeans 5?
A: For now, you will still need to use two tools, however later this year those cool Creator features will be available in NetBeans in early access form.

Q8: Why even have separate products? If you're moving to a standard base, why not just release NetBeans and then have the functionality of JSE and JSC delivered as plugins?
A: Once all our tools are built upon the same binary foundation of NetBeans, this will allow for the easy sharing of functionality between tools. Precisely how that functionality is delivered, whether as plug-ins, "packs" (as we do with Mobility Pack today) or as complete product suites will depend on the needs of the customers as well as alignment of developer solutions with their corresponding runtimes. In other words, we're not limited to just one choice; we might deliver functionality via multiple techniques.

Q9: Is there a roadmap for when we'll see deliverables along that line?
A: As stated above in the answer to Q6, this calendar year.

Q10: The next release of NetBeans will be version 5.5. What new features will be in NetBeans 5.5?
A: Support for Java EE 5 and Java SE 6 (Mustang).

Q11: When will NetBeans 5.5 ship?
A: We're still doing the planning for NetBeans 5.5, so stay tuned.

Q12: NetBeans 5.5 will have a preview release soon. Will all the features/fixes from NetBeans 5 be in the initial preview release of NetBeans 5.5?
A: Yes.

Q13: Will there be releases of JSE and JSC that are built on NetBeans 5.5?
A: No. But as mentioned in the answer to question #3, there will be a set of extra Java Enterprise Tools which will be made available to plug into NetBeans 5.5, but the next versions of the full products of JSC and JSE entirely based on NetBeans will be available on a subsequent version of NetBeans.

Q14: Sun Studio 11 is a great product. Recently I saw a message on nbusers that said some of the C/C++ editor support developed by the Sun Studio team would be put into NetBeans. What's up with that?
A: The Studio team and the NetBeans team are working together closely to deliver C and C++ support as part of the standard NetBeans offering this year. This is a collaborative effort, with the Studio team contributing their extensive experience and effort to making a better NetBeans as well as improving the Sun Studio product as it will then leverage the huge improvements available in the NetBeans 5 IDE.

Q15: There was a project called Coyote, which was for adding scripting language support to NetBeans. It seems to have died. What happened?
A: Tim Bray was the sponsor of that project and he posted a response to that question on the nbusers mailing list in December, 2005: "While this isn't official yet, I think the conclusion was that this kind of functionality is required in NetBeans itself, not as an add-on. After all, Java SE is probably going to get a new bytecode to support dynamic languages, and Mustang supports Rhino, so it seems like dynamic languages are quickly becoming first-class citizens."

Q16: Does this mean NetBeans will not be providing support for scripting languages?
A: NetBeans (and the Studio products) have in their roadmap the development of support for scripting languages. We recognize that developers typically develop in more than one language and scripting languages are among the most common.

Q17: For the last two years there has been talk of a project called Jackpot. What is Jackpot? When will it be released?
A: Jackpot is a SunLabs project conceived and implemented by James Gosling and a team of engineers from the Labs. Jackpot is an innovative tool which allows for Java refactoring far beyond the capabilities of any existing refactoring engines today. This technology will be incorporated into NetBeans later this year as part of its standard offering.

Q18: Sun recently announced all its developer tools are available at no cost. Further, the announcement stated that, "Sun has committed to open sourcing its entire software portfolio using industry-standard open source licensing models to allow customers to have easy and broad access to all of its source code." Does this include tools such as the NetBeans Profiler and Mobility Pack? JSE's UML features? JSC's cool web page design features?
A: Yes.

Q19: When will those tool technologies be open sourced?
A: Sun has announced that it is committed to moving to both free and open software, however the exact schedule and specific product plans related to open sourcing are not yet public.

Q20: Does the "everything will be open-sourced" directive also apply to Java itself?
A: With Java, Sun has embraced the concept of "open development", which means that the sources are available and that all development of future versions of Java occur in this open environment.

Q21: These Sun developer tools have some great features, but why try to do it all? Why not just join the Eclipse Foundation and have one focused effort to use for building tools? In other words, why couldn't all of Sun's leading-edge tools features just be delivered as Eclipse plugins?
A: There are several reasons:

1) We do not agree with all the technology decisions made by IBM when they created Eclipse. In particular, the Standard Widget Toolkit (SWT) breaks the Java promise of "write once, run anywhere" (WORA), which is a key value provided by the Java programming language.

2) While it would be theoretically possible to port all of our technology from Swing to SWT, the effort is non-trivial. A key problem is the very different event-handling architectures. So instead of investing in a huge effort to port to something that does not support WORA, we prefer to instead invest in adding innovative new features. Note, Eclipse's SWT/AWT bridge technology is not robust enough for us to rely on it. As just one example, there are problems on the Mac: https://bugs.eclipse.org/bugs/show_bug.cgi?id=67384.

3) We are not convinced that the Eclipse approach provides the best user experience. While the base Eclipse tool set provides some impressive functionality, it is only a base - everything else is delivered via plugins. There is a growing audience for free tools that just work right out of the box, no assembly required in order to get basic functionality such as an HTML/XML/JSP editor, etc.

4) There is a large (and growing) community of third-party applications built on the NetBeans Platform - for some examples take a look at http://www.netbeans.org/products/platform/screenshots.html. Most of these have nothing to do with developer tools, but that does not make them any less dependent on our support of the NetBeans Platform. We cannot easily abandon this segment of the developer community.

5) The momentum behind NetBeans accelerated in 2005. If it were declining in popularity our answer might be different, but the opposite is the case. The latest numbers from Evans Data Corporation show that the NetBeans IDE (and the IDEs built on it) holds 31% of the Java developer market. In addition, it is important to note that of all the downloads of the NetBeans IDE that have happened since it was open-sourced in June, 2000, over 33% of those downloads happened during 2005 alone. This would indicate that now is not the right time to abandon NetBeans in favor of Eclipse.

6) Besides, competition is a good thing. It drives innovation and provides a choice to the community of developers. Based on user feedback and the dramatic increase in usage, we are confident that the NetBeans community will fuel further innovation that is going to appeal to a large number of developers.

Comments
Comments are listed in date ascending order (oldest first)