Comments
bruce.armstrong wrote: Somebody just said it better than I did, and with more chops to say it: Open Letter to Mark Zuckerberg, Sheryl Sandberg & Facebook Mobile
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..

2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
In many cases, the end of the year gives you time to step back and take stock of the last 12 months. This is when many of us take a hard look at what worked and what did not, complete performance reviews, and formulate plans for the coming year. For me, it is all of those things plus a time when I u...
SYS-CON.TV
2005 Marks Ten Years of Java Technology
Calvin Austin Steps Back In Time and Tracks Java's Course

This year will mark the tenth anniversary of the official launch of Java technology. It seems like only yesterday. No doubt there will be celebrations similar to the five-year anniversary, so I thought I would take this opportunity to step back in time and track Java's course.

In January 1996, less than a year before that first launch, the first full developer kit, JDK 1.0.2, was released. This was my first experience of the Java platform. Like many other developers I had been using C and C++ and myriad third-party libraries. Suddenly the ease with which anyone could build a UI, or a web applet, and make an application both thread- and networking-aware was exciting. I attended the first JavaOne in 1996 and it captured that energy, even with only 6000 attendees it was a sellout. Sessions overflowed, handouts disappeared in minutes, and were never to re-appear at any JavaOne conference again; many speakers were overwhelmed by speaking to a large conference for the first time.

The JDK 1.1 release appeared a year later and bumped along by way of maintenance updates for many years, finally ending with 1.1.8.

Some of you may remember that the only browser that initially supported 1.1 was Sun's own Hotjava browser. This lag in support for the latest runtime would lead to the modular Java Plugin and Java Web Start technology.

JDK 1.1 also introduced JDBC, RMI and the JavaBean model. The JavaBean component model, while introducing the powerful getter/setter pattern to the Java platform, also introduced the infamously deprecated methods in AWT. To move to the JavaBean pattern with as little risk as possible, AWT code that needed updating simply called the deprecated methods, which made removing them later unlikely. AWT also introduced the event-delegation pattern that would be heavily used by another step on the Java roadmap, the Swing project.

Project Swing, or the JFC components, had a parallel release train before being integrated into the JDK. Anyone remember com.sun.swing? The Netscape browser team already had a technology called IFC that Netscape had acquired and this was used as the basis for JFC. JFC was a pure Java graphical toolset and required a little support from AWT. However, the amount of work required was huge. Essentially anyone who was working on AWT was moved to JFC and Swing, All new development for features like accessibility and full drag-and-drop were earmarked for Swing only. The next step was to merge the Swing code base into JDK 1.2.

JDK 1.2 was supposed to be called JDK 2.0. Since its release was close to the millennium, even Java 2000 was considered. The naming discussions resulted in Java 2 version 1.2. The release didn't just include Project Swing, but it did include the Collections API, a new Java 2D rendering engine and a new sound engine. The last two technologies were adapted from existing third-party products and their integration put a strain on the release process. Some of the bugs introduced by this integration weren't fixed until the 1.4 maintenance releases and J2SE 5.0

Most developers have probably forgotten 1.2.1. It was a short-lived security bug fix. The true maintenance bug fix was 1.2.2. JDK 1.2.2 was also the first time Sun released a JVM port on Linux. The JVM itself was called the classic JVM and used a JIT compiler.

Waiting in the wings was the Hotspot JVM. Sun had acquired the technology that was used to power Smalltalk and had spent a lot of cycles getting it release-ready.

Unlike the JIT compiler, the Hotspot product was a full JVM in its own right. It used native operating system threads, where the classic JVM could also use the userspace threads called green threads and introduced new garbage allocation techniques, finer thread management and faster monitor locks.

J2SE 1.3 was released in 2000 and introduced the Hotspot JVM on all platforms. With such a fundamental change, it took until 1.3.1 for the JVM to be supported by all the tool interfaces.

The last five years are fresher in everyone's memory. J2SE 1.4 arrived in 2002, and introduced NIO, Java Web Start, a 64-bit JVM and Swing focus, performance tweaks and the logging API. It was followed by the 1.4.1maintenance release, which previewed an Itanium port and new garbage collectors. J2SE 1.4.2 brought the 1.4 release train into the station.

This brings us to the present times with J2SE 5.0. J2SE 5.0 focuses on improved startup time, new language features and system monitoring and improved product quality.

The Java platform has certainly come a long way in 10 years, but I'm sure you'll agree it's been an interesting ride.

Resources

  • http://java.sun.com/features/2000/06/time-line.html
  •  

    About Calvin Austin
    A section editor of JDJ since June 2004, Calvin Austin is an engineer at SpikeSource.com. He previously led the J2SE 5.0 release at Sun Microsystems and also led Sun's Java on Linux port.

    In order to post a comment you need to be registered and logged in.

    Register | Sign-in

    Reader Feedback: Page 1 of 1

    Yes webrunner was the original internal project name for the original browser. I was lucky to get a copy internally in 1995. I wasn't involved in the renaming but they would have done a trademark search at some point

    Java used to be Oak but what was the HotJava web browser first called, wasn't it WebRunner? Whatever happened to that name?

    ### "Project Oak" seems like just yesterday. ###

    Check out the useful history of Oak (and of the Green Project that spawned it) at http://today.java.net/jag/old/green/

    Another major byproduct of the Green project was a little cartoon character named "Duke" - invented and drawn by Joe Palrang.

    [[[ The Java platform has certainly come a long way in 10 years, but I'm sure you'll agree it's been an interesting ride. ]]]

    10 years! Where does the time go?! "Project Oak" seems like just yesterday.

    HAPPY BIRTHDAY JAVA! may your offspring be open source and free.

    Nice article Calvin - I remember working on JDK for the first time when I started with Sun in '98 working on the JNDI API and it's LDAP, COSNaming and RMI provider.

    It is interesting to review this history, and I too remember the start-up feel that was the buzz of the Cupertino office. I think now it is important to recognize the maturity of the Java 5.0 platform and how in the future the outside in view developers have of Java 6.0 should trigger early adoption of the new platform. As a fellow Sun retiree, I remain invested in the continued success of the Java platform.

    -Jonathan Bruce
    Technology Evangelist - XQuery

    Thanks for the comments Alex. Swing was used as a catch all term inside Sun although officially the set of components, including Swing were JFC (there was no JFC team per say)

    One other reason for Java 2 was the change in licensing, anyone could sign up to port JDK 1.x to any platform for research use. With Java 2 you had to agree to the SCSL terms instead.

    JFC was the Java Foundation Components, and contained more than just Swing; JFC contained what became the standard Collections classes introduced in Java 2, and other improvements in text/message formatting from IBM.

    Java 2 was created as a marketing name in 1999 to make businesses aware that it was a language ready for prime-time application use. Before then, the only serious contender for 'real' applications was the Corel package for word-processing, that died a death because they just translated C++ code into Java code, without doing any kind of redesign to suit Java's garbage collection model sufficiently.

    Java 2 was also the start of Sun's inconsistent naming conventions. Java 1.1.1 through 1.1.8 was sensible enough; but Sun didn't want people to know about how many bugfixes/releases (or compatibility issues) were given out; hence, we now have 1.2.1, and 1.2.2, 1.2.2_01b7... even now, my JVM is listed as 1.4.2_05-141.4. It was also crazy when they went to 1.3 that it was still called Java 2, due to the marketing people; it also explains why we're going from 1.4 to 5.0 -- a feat normally matched by Microsoft products.

    If we're really going down memory lane, early Java adoptees will know that when you've got a UI application, simply closing the last window would automatically terminate the application. This stopped in 1.2 when a programming bug introduced in the event handling system for Swing prevented the application terminating without a call to System.exit(), something that has now become synonymous with the way applications are written. (The long-time bug number 4030718 lists it as being open all the way through to 1.4, despite me showing that (a) it was fixable, and (b) I wrote a demo app that re-wrote the classes.zip to fix the bug to demonstrate it).

    In short, Java is/was an excellent idea for its time, and thanks to the explosive birth of the internet, made a good launchpad to today's computer use. It's just a shame that Sun is an excellent innovation company, and not a marketing or collaborative company, because Java will ultimately fail because of them. It 10 years time, we'll have a more open programming language either managed by the Apache Software Foundation or (more likely) the Eclipse foundation that will be the de-facto standard. Just as long as it's not C#.

    You are right, I meant garbage collection. You could make a case for the gc shuffling between old and new space as allocation though

    QUOTE: [java 1.2.2] ... introduced new garbage **allocation** techniques

    ... yea, programming in java feels that way on bad days, but I'm sure that's not what you meant.


    Your Feedback
    Calvin Austin wrote: Yes webrunner was the original internal project name for the original browser. I was lucky to get a copy internally in 1995. I wasn't involved in the renaming but they would have done a trademark search at some point
    HotJava wrote: Java used to be Oak but what was the HotJava web browser first called, wasn't it WebRunner? Whatever happened to that name?
    from tiny acorns wrote: ### "Project Oak" seems like just yesterday. ### Check out the useful history of Oak (and of the Green Project that spawned it) at http://today.java.net/jag/old/green/ Another major byproduct of the Green project was a little cartoon character named "Duke" - invented and drawn by Joe Palrang.
    J-History wrote: [[[ The Java platform has certainly come a long way in 10 years, but I'm sure you'll agree it's been an interesting ride. ]]] 10 years! Where does the time go?! "Project Oak" seems like just yesterday.
    webdevguy wrote: HAPPY BIRTHDAY JAVA! may your offspring be open source and free.
    Jonathan Bruce wrote: Nice article Calvin - I remember working on JDK for the first time when I started with Sun in '98 working on the JNDI API and it's LDAP, COSNaming and RMI provider. It is interesting to review this history, and I too remember the start-up feel that was the buzz of the Cupertino office. I think now it is important to recognize the maturity of the Java 5.0 platform and how in the future the outside in view developers have of Java 6.0 should trigger early adoption of the new platform. As a fellow Sun retiree, I remain invested in the continued success of the Java platform. -Jonathan Bruce Technology Evangelist - XQuery
    Calvin Austin wrote: Thanks for the comments Alex. Swing was used as a catch all term inside Sun although officially the set of components, including Swing were JFC (there was no JFC team per say) One other reason for Java 2 was the change in licensing, anyone could sign up to port JDK 1.x to any platform for research use. With Java 2 you had to agree to the SCSL terms instead.
    Alex Blewitt wrote: JFC was the Java Foundation Components, and contained more than just Swing; JFC contained what became the standard Collections classes introduced in Java 2, and other improvements in text/message formatting from IBM. Java 2 was created as a marketing name in 1999 to make businesses aware that it was a language ready for prime-time application use. Before then, the only serious contender for 'real' applications was the Corel package for word-processing, that died a death because they just translated C++ code into Java code, without doing any kind of redesign to suit Java's garbage collection model sufficiently. Java 2 was also the start of Sun's inconsistent naming conventions. Java 1.1.1 through 1.1.8 was sensible enough; but Sun didn't want people to know about how many bugfixes/releases (or compatibility issues) were given out; hence, we now have 1.2.1, and 1.2.2, 1.2.2_01b7... e...
    Calvin Austin wrote: You are right, I meant garbage collection. You could make a case for the gc shuffling between old and new space as allocation though
    B. Smith-Mannschott wrote: QUOTE: [java 1.2.2] ... introduced new garbage **allocation** techniques ... yea, programming in java feels that way on bad days, but I'm sure that's not what you meant.
    SOA World Latest Stories
    Private clouds solve many problems for enterprises and bring unique operational challenges along with them. There are dozens of companies of all sizes that will build you a private cloud and turn over the keys – then what? Trying to convert a traditional enterprise IT operations team t...
    Like a moving company for the cloud, Racemi provides the ability to easily migrate Windows server images to public clouds. The company is a sponsor at the upcoming Cloud Expo where visitors can see Racemi demonstrate server migrations. Racemi announced on Wednesday its DynaCenter soft...
    As a Platinum Plus Sponsor of Cloud Expo New York, Oracle is offering special passes to SYS-CON's 10th International Cloud Expo, which will take place on June 11–14, 2012, at the Javits Center in New York City, New York. With more than 380,000 customers – including 100 of the Fortune ...
    SAP on Tuesday announced its intention to buy Ariba for $4.3 billion, a 19 percent premium on Ariba's market capitalization. The move comes soon after SAP's SuccessFactors February buy and shows that SAP is quickly and aggressively acquiring its way to a full cloud business services c...
    Google said first thing Tuesday morning that it’s closed on its $12.5 billion acquisition of Motorola Mobility Holdings Inc. It’s been waiting nine months to clinch the deal and get its hands on Motorola’s patent portfolio. It finally got Chinese approval over the weekend albeit with...
    How do we connect clouds? Since the Internet has no SLA, many organizations are concerned about being exposed to the vagaries of the Internet. There are only a few options for concrete quality of service (QoS) when accessing public clouds. In his session at the 10th International Clo...
    Subscribe to the World's Most Powerful Newsletters
    Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
    Click to Add our RSS Feeds to the Service of Your Choice:
    Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
    myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
    Publish Your Article! Please send it to editorial(at)sys-con.com!

    Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


    SYS-CON Featured Whitepapers
    ADS BY GOOGLE