Skip to main content

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.