6.5 million software developers and still going strong

Java Developer Magazine

Subscribe to Java Developer Magazine: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Java Developer Magazine: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Java Developer Authors: Stackify Blog, Pat Romanski, Hollis Tibbetts, Andreas Grabner, Sumith Kumar Puri

Related Topics: Java Developer Magazine

Java Developer : Article

Java 5.0 - The "Tiger" Is Out of Its Cage

JDJ Exclusive Java 5.0 Interview with Spec Lead Calvin Austin, Sun Microsystems

Related Links:
  • J2SE 1.5: Growing the Language - Finally

    These days Calvin Austin is one of the busiest people in the Java world: J2SE 5.0, that was also known as the "Tiger" project, is being officially released today!

    I was able to catch Calvin right before the plane from San Francisco to New York where he'll be presenting the new features of the Java language to the New York Java Users Group.

    JDJ: Please tell us about yourself and your role in the Tiger project

    Calvin Austin: I'm the J2SE 5.0 Specification Lead, JSR 176 in the Java Community Process. The J2SE 5.0 expert group consists of 18 members including all the major industry partners and JVM porters.


    JDJ:
    What are the main new features of the language being introduced in J2SE 5.0?

    Austin: Four main themes ran through the release.

    1. Ease of Development. These are the first significant updates to the Java language since 1.0 was released. The main ease of development features are generics, metadata, enhanced for Loop, enums, and autoboxing.
    2. Monitoring and Manageability Monitoring a JVM using JMX and SNMP protocols, enhanced diagnostics, a low memory detector.
    3. Performance and scalability. Faster startup time using class data sharing and automatically tuned server configurations, something we call "performance ergonomics."
    4. Desktop Client. A refreshed new cross-platform look-and-feel called Ocean. OpenGL hardware acceleration for intensive graphics apps.


    JDJ:
    You probably have received lots of different suggestions from the developers community about the "missing" features of the Java language. How did you make a decision?

    Austin:
    Generics received the popular vote, it was one of the top 20 "Requests For Enhancements" (RFE) on the Java developer connection site. All 20 RFEs were added as potential features. For the other language features the final decision was made in the respective JSRs, like JSR 201 and JSR 14. Sun was the spec lead for both those JSRs and so also involved James Gosling and others in the initial reviews.


    JDJ: Large corporations usually switch to newer version of any programming language with substantial delays. What do you think is a major selling point of the new version Java?
     
    Austin: One of the major selling points of this release is that you'll be able to slot in a 5.0 JRE to your application and benefit from the improved performance, monitoring, diagnostic tools, and reliability without changing a line of code. However there are also benefits in also recompiling and updating your source code. Using Generics, the compiler can alert you to runtime class cast exceptions, the concurrency API gives you the flexibility to re-write code to have improved thread safety.

    JDJ: Did you run into any compatibility issues between Java 1.4 and Java 5.0?

    Austin:
    Running applications should be fine. The one thing developers need to watch for is that enum is now a keyword as the javac compiler language is 5.0 by default. This applies to the assert keyword that was added in 1.4


    JDJ: Are there any performance improvements in the new version?

    Austin:
    Startup time is improved even though Tiger is a bigger release, server side benchmarks with performance ergonomics are greatly improved on machines with two or more CPUs.


    JDJ: What are the benefits for fat client Java applications?

    Austin:
    Improved startup time, skinnable API (synth), reduced jar file sizes for downloading when using the pack API.


    JDJ: Let's forget about the corporate world for a minute. What do you think is the coolest new feature of the language?

    Austin: If I just restrict myself to the language it would be metadata (JSR 175). We've only scratched the surface of its potential. For the platform, it's a bytecode insertion for profiling (JSR 163).


    JDJ: In some cases new features of a programming language not only improve the language, but also may change the style of programming in general. If you were a college professor or a Java trainer, would you teach your students using some new concepts of programming rather then building your training materials on top of existing ones?

    Austin:
    I haven't seen a recent course so it's difficult for me to comment. One example I can think of. For threading and synchronization, I would definitely recommend still spending a little time covering the basic Java monitors/synchronized blocks but dedicate more time to the concurrency API instead (JSR 166). It should reduce the number of threading errors introduced.


    JDJ: The Tiger is out. What will the future releases of Java bring us?
     
    Austin:
    It is really is down to the Java community at this point to help define the release, I had no shortage of feature requests for 5.0 so most of the work was cutting that list to a manageable size (105 features). When the 6.0 JSR is submitted, users and developers can send comments and questions to the comment alias there.


    JDJ: Calvin, thank you for taking the time and answering our questions! JDJ would love to ask more, but I've got to run - it's time to download J2SE 5.0 !!  


    Related Links:

  • J2SE 1.5: Growing the Language - Finally

  • More Stories By Yakov Fain

    Yakov Fain is a Java Champion and a co-founder of the IT consultancy Farata Systems and the product company SuranceBay. He wrote a thousand blogs (http://yakovfain.com) and several books about software development. Yakov authored and co-authored such books as "Angular 2 Development with TypeScript", "Java 24-Hour Trainer", and "Enterprise Web Development". His Twitter tag is @yfain

    Comments (12) View Comments

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


    Most Recent Comments
    Steve Michael 10/01/04 11:33:47 AM EDT

    Wow all the pot shots at Java. I will try and address some here.
    1. Java 5 or JDK 1.5 - naming standard. For the marketing dorks out there they look at this and say we run on Java 5. Yep Java is up to version 5. For the people that have a clue, we realize that a ton of different technologies make up Java and all of them have a version number.

    2. Sun and the community don't focus on business only IBM seems to "get it". Well given that developers are the ones who help set what gets put in to the language, and ALL those developers are in a service oriented business; they probably want to make the language better for themselves, thus making it better for business. Also, don't take a cheap shot without giving an example of what you mean.

    3. Java is not cross platform, that is a pipe dream - Well our company runs hundreds of thoughsands of lines of Java code on many different platforms. We have NEVER had to change one line of code. The only small issues we have had was our coders being lazy and some vendors handled errors better than others.

    This new version does't add any value to my company. - Well there are two ways of looking at this. Your pesamistic view , or a view that says this new version will NOT break any of your old software and it will probably increase the speed of it while allowing other more experienced developers the ability to add new features. Think about it, you can just upgrade your JVM and get a speed improvement. Then any new projects you can take advantage of those new API's.

    .Net is better because of XYZ - Well the day I can download ALL of the .NET components for free and have it run on multiple platforms (Mono is not even close), then I might agree. However, If for some reason I hate one vendor, I must be able to go to another vendor and still use .Net. That will also NEVER be possible. Does any of this mean .Net is worse than Java? No, but you have to realize that once you go to a .Net solution you will be vendor locked in to Microsoft forever. Your clients will probably be forced in to an Internet Explorer world also... For those HUGE concessions I would certainly hope Microsoft could add "some" value.

    AskCalvinAustin 10/01/04 06:33:32 AM EDT

    Yakov Fain forgot to ask why Tiger isn't just renamed J5SE...to distinguish it from J2SE

    The URL you give, I notice, calls it 1.5 still!!!http://java.sun.com/j2se/1.5.0/docs/

    Yakov Fain 10/01/04 06:24:44 AM EDT

    The comments of financialguy are really sad. The fact that his company does not see a need to use new versions of Java makes me think that this company should consider hiring some senior Java programmers.

    Let alone syntax improvements, but how can you ignore the VM improvements that may substantially improve performance of any client or server side application? Just read this.
    http://java.sun.com/j2se/1.5.0/docs/relnotes/features.html#vm

    Also, Java is a proven commodity in the business world. Let's not go into the mood "now we're going to hit .Net". Microsoft has its strong following and some great languages and technologies. Let's respect what they are doing, while trying to study J2SE and J2EE and make it better.

    Mirk 10/01/04 06:10:26 AM EDT

    Is this in fact Java 5, or Java 1.5?
    Until the Java world manages to get its act together on agreeing that little detail, forgive me if I remain skeptical about their agreeing APIs in sufficient detail for write-once, run-anywhere to be anything more than a nice fairy-tale.

    Infopoint 10/01/04 05:45:26 AM EDT

    If any one is interested in reading the Tiger release notes, they can be found at http://java.sun.com/j2se/1.5.0/docs/relnotes/featu res.html

    Liju 10/01/04 05:31:50 AM EDT

    Im sure like its going to hit the .Net

    Thor Tall 10/01/04 02:30:50 AM EDT

    I would just love to read an indepth article about the different new features with examples of how to use them.

    Calvin Austin 10/01/04 01:51:09 AM EDT

    Yakov asked some great questions. I would always add if we didn't add something that would make your applications run better then please let us know. The expert group did prioritize what went in the release (including IBM who were a great jcp member). We have added the top 10 items from the fortune 500 companies I talked too, and many of the top websites you may use each day have Java at the backend ( you may be surprised) The snmp/jmx adminstrative console was a good example of a real business need, including low memory notifications.

    So you have nothing to lose, send me an email and I'll send you a reply

    financialguy 09/30/04 08:30:42 PM EDT

    perhaps the most interesting aspect of all this is that in my company not one of the new features of 1.3, 1.4, and now 5.0 is really importnat to create value for our business...in fact, the increasingly academic process of JAVA definition making it impossible to purchase and/or build applications with useful business life cycles.

    Enough already...when will someone make JAVA a high performance, non-stop, deployable, administratable, enterprise environment...instead of a geek curiosity. Only IBM seems to understand this, with companies driving the JSR fiasco like SUN and BEA seeming totally clueless about industrial software.

    In our opinion, SUN is trashing what might have otherwise become a viable enterprise class environment. It's forcing my company right into the arms of Microsoft....scary.

    C-Sharp 09/30/04 01:20:12 PM EDT

    Never mind generics...how about Metadata, that's been led by .NET and Anders Hejlsberg. Austin here says it's the coolest feature in all Java 5.0!

    queZtion 09/30/04 01:13:54 PM EDT

    So, who announced Generics first, Java or C#?

    jcknight 09/30/04 09:33:22 AM EDT

    Last time I checked we were on 1.2. Where was I when versions 1.3 through to 4.9 came and went? Ok, so it's really just Java 2, version 5.0.

    Whether you're a .NET fan or a Java fan, you can't argue that the .NET team is simply better at naming their product!