Gosling focuses on Jave EE 6 in TSS JS keynote

Discussions

News: Gosling focuses on Jave EE 6 in TSS JS keynote

  1. In a keynote speech that kicked off the 2010 version of TheServerSide Java Symposium (TSS JS) in Las Vegas, Java creator James Gosling focused on updates in Java Enterprise Edition 6 (JEE 6) that speed Web application building.

    Gosling, whose work to create Java pushed Sun Microsystems to the forefront of enterprise software development,  spoke at a time when attention centers anew on the programming language - this in the wake of Oracle Corp.'s purchase of Sun and an emerging trend that sees full-fledged J EE framework implementations competing with narrower Web application frameworks.

    In his speech, Gosling described aspects of the Java Community Process as a "political nightmare." With JEE,  he especially touted improved ease of deployment. ''It is  completely different universe,'' he said of JEE 6.

    Gosling, who served as Chief Technology Officer of Sun's Developer Products Group, and who now holds the title of CTO for Oracle's Client Software Group, said modularity in J EE comes from use of OSGi blueprints. ''One of the things that come out of this is a simpler way of packaging Web applications. It is also easier to plug into a management framework,'' he said.

    ''It completely changes the way you think about writing we applications. You don't have to worry about changing config files. Development becomes really fluid,'' he said.

    Some of these new traits may position J EE more favorably versus emerging alternative frameworks such as Spring. In fact, Enterprise Java Bean (EJB) deployment has been improved as part of JEE 6. At the same time, attention has been placed on reducing XML coding for configuration. For Gosling, as a developer, this is welcome.

    ''For people like me who, when they open up an XML file, say 'Oh, please, Lord, no,' this is beautiful,'' he said. ''I'd really like to never see XML again,''chided Gosling. ''We are 99% of the way there.''

    Fewer restarts?

    Developers should encounter fewer restarts of app servers with the more streamlined JEE 6 setups. Some TSS JS attendees saw benefits to this and to less reliance on XML.

    "I am excited to see the idea of the complexity of XML going way. We have had to build tools to manag the XML," said Troy Davidson, developer, Sasketel International. "As a developer, it is nice to see easier non-start/non-stop redeployment as well."

    Michael Fielder, a senior developer at a logistics company, said Java EE 6 improvements can help meet the challenge of quick code turn-arounds. "We now use Agile and Scrum development styles, and are under greater time pressure,"he said.

    Fielder said lighter frameworks in general can help speed development, but "quick 'compile-to-deploy' turnaround is very important too." The longer you take to do your software building, the less easy it is to be Agile, he said.

    Curse of interesting times

    In his presentation to the 300-plus TSS JS attendees, Gosling emphasized Java's ubiquity. He cited estimates that there are now more than 6.5 million Java developers in the world. He said Glassfish application server downloads were now running at about 1 million per month. As well, he indicated confidence in the progress of the Oracle-Sun merger.

    "We have finally come together to be Oracle. It has been interesting in the "Chinese curse" way, he said, referring to the ancient adage concerning the difficulties of being "born in interesting times."

    "I am pretty encouraged about the way things are going to work out," he said.

    "JEE 6 was literally years in the making. It is the result of a large-scale community collaboration. It's been a dialog between different manufactures, customers, and academics. Some of that turns into a political nightmare," he said.

    "There is a whole bunch of new APIs. Each one of these things is its own expert group," he said. Navigating this area calls for political acumen. "Now," he said, "the Oracle 'guys' get to learn this particular skill. In this universe engineers also have to be diplomats."

    The Oracle-Sun merger was finalized in late January. Subsequently, vendors and independent developers have begun to look for more details from Oracle on the direction of the Java Community Process (JCP). Some tools vendors have called for a recalibration of the JCP in the light of the merger.



    Edited by: jvaughan on Mar 17, 2010 3:06 PM

    Threaded Messages (17)

  2. Disappointing[ Go to top ]

    So, the father of Java has nothing exciting to talk about except a set of new APIs?

    How about Java7, reified generics, closures, first-order functions? You know, the things affecting every developer? For comparison, http://www.infoq.com/news/2009/03/CSharp-4-5 - Anders Hejlsberg can talk about the future of the C# language.

    And PLEASE PLEASE PLEASE. Stop touting Java ubiquity. There's no Java on iPhone. There's are standard Java APIs on Android. There soon won't be much Java on end-user computers.
  3. Disappointing[ Go to top ]

    OMG again people with closures and generics!!! Noone cares about them. Noone wants them. They are relevant to people as much as C++ template meta-programming to C++ market: everyone is against them, including companies like Google. And people would only use them in small corner cases where they are better than other ways to do the same thing.

    Being geek in spare time and hacking cool things is one thing, and writing maintainable (by average Joe developer), solid commercial code is another one. If you think otherwise, you are in wrong industry.

    PS
    When I say you, I mean supporters of generics/closures, not you as singular person.
  4. Disappointing[ Go to top ]

    OMG again people with closures and generics!!! Noone cares about them.

    They are really quite handy for APIs such as parallel array (from fork/join).
  5. Disappointing[ Go to top ]

    OMG again people with closures and generics!!! Noone cares about them.


    They are really quite handy for APIs such as parallel array (from fork/join).
    Yes they are, and such libraries will be developer by gurus like Doug Lea (who can figure out how to make nice API without them as well), and rest of the world will not need them to do typical business application development: CRUD, little XML, little integration and so on in circle.
  6. Disappointing[ Go to top ]

    <quote>
    OMG again people with closures and generics!!! Noone cares about them. Noone wants them.
    </quote>
    Define 'noone'. A lot of people have interest in Scala/Groovy exactly because Java is stagnating.

    <quote>
    They are relevant to people as much as C++ template meta-programming to C++ market: everyone is against them, including companies like Google. And people would only use them in small corner cases where they are better than other ways to do the same thing.
    </quote>
    Strawman.

    Besides, some limited metaprogramming is likely to be present in C#5. It can be VERY powerful if designed properly. See here for an example of how carefully-designed metaprogramming might look: http://nemerle.org/Features

    <quote>
    Being geek in spare time and hacking cool things is one thing, and writing maintainable (by average Joe developer), solid commercial code is another one. If you think otherwise, you are in wrong industry.
    </quote>
    So you're proposing to target the language for the level of dumb code monkeys, which are unable to grasp basics of functional programming? Well, then truly Java deserves to become the new COBOL.

    While .NET is thriving and evolving fast. LINQ is wickedly powerful tool - it can be used for almost anything. And lambdas/delegates are used by even novice programmers.

    As a result, I now see that .NET is beginning to totally dominate the market for client-side applications. I'm seeing that new client applications are written in .NET with WPF, almost nobody starts new apps. with SWING/SWT.
  7. Disappointing[ Go to top ]

    "So you're proposing to target the language for the level of dumb code monkeys, which are unable to grasp basics of functional programming?"

    Exactly, because average Joe the programmer will never 'get' functional programming nor he actually cares since he ain't geek but just a guy doing his job. Functional programming will never hit the mainstream, evar. In expert's hands it powerful tool, in average Joe's hands it's a distater.

    "Define 'noone'. A lot of people have interest in Scala/Groovy exactly because Java is stagnating."
    None=95% of world wide developer workforce. You are confusing your impression of what geeks want (people who like to hack in spare time, who post blog's etc)  with what rest of developers world wide want (and who, btw, dont make blog posts about it, and you can't hear their part of the story).

    "I now see that .NET is beginning to totally dominate the market for client-side applications."

    Yeah, I have been listening that story for five years now. And guess what? Java pwnes them all.

  8. Disappointing[ Go to top ]

    Exactly, because average Joe the programmer will never 'get' functional programming nor he actually cares since he ain't geek but just a guy doing his job. Functional programming will never hit the mainstream, evar. In expert's hands it powerful tool, in average Joe's hands it's a distater./
    Yeah, I have been listening that story for five years now. And guess w/hat? Java pwnes them all.
    In your dreams? Look at Swing/SWT vs. WPF/WinForms jobs. The latter totally dominates the former. And guess what? All 10 millions of .NET programmers are not going to spend life writing only client-side apps, so unless something is done REAL SOON - you'll get .NET domination on server-side as well.

    By forcing everyone to use inferior tools you do not help anyone. Crap coders will happily stay crap coders (no stimuli to become better) and good programmers are turned away. In fact, your statement might become self-fulfilling.

    And I see average developers in .NET using functional features. They are not scary at all - LINQ is just like SQL (which is declarative and purely functional - sounds scary, right?), lambdas are "just a piece of code", etc. tons of code monkeys writing crap code leads only to crap. Also, C# is fairly 

    And those who can't understand them... Well, I don't care about them. Having tons of code monkeys writing crap code leads only to crap. Also, C# is fairly idiot-proof. It's soooo MUCH easier to write crap code in Java.
  9. Disappointing[ Go to top ]

    "you'll get .NET domination on server-side as well."

    Come on now. We have been listening to same story for a long time. Here is example from 5 years ago. Just, stop it. It aint gonna happen. You know why? Because it is not in the interest of IBM, Red Hat, Oracle and many more who will do anything to prevent it. Just stop.

    http://www.theserverside.com/news/thread.tss?thread_id=38081

    "...and good programmers are turned away."

    I will never understand you guys, there is so much more to think about, to learn, to solve, to create beyond silly syntax improvements, and yet you keep bitching about lambdas and what not. When you read really good book, do you care in which language it is written? I don't.
     
    And whats even scarier, you (couple of lambda freaks) keep posting like you are selected officials of entire developer community worldwide, like it's the end of the world. We DO NOT care about syntax. We DO NOT care if it is the way it should be in ideal world. We DO NOT care because when compared to other types of problems/ideas/concepts out there, lambdas and co look like small rock compared to earth.

    We care about distributed consensus, reliable messaging, compilers, interpreters, lock-free & wait-free algorithms, cooperative IO scans, parallel computing, and many many more.  
  10. Disappointing[ Go to top ]

    "you'll get .NET domination on server-side as well."

    You are kidding me with this sentence right? Show me how to even run Windows on the partition in mainframe, which is the core system for most of the enterprise!

    Besides, the trend is companies moving away from Windows very slowly because of the OS-life-time-is-too-short-BS.  Upgrading OS almost every 5 years now with huge impact?  Like if you have 100K employees, your OS upgrade implementation affects all of them, you know how much this investment-with-no-return it is?!  And you are telling us .NET will dominate on some server crap that may give you BSoD, 5 year lifetime upgrade, and new-versions-don't-work-together-with-Active-Directory???

    By the way, you don't see those jobs doesn't mean there are not many Java Desktop Applications, please don't make this kind of high school claim.

    And to your last sentence "Well, I don't care about them. Having tons of code monkeys writing crap code leads only to crap. Also, C# is fairly idiot-proof. It's soooo MUCH easier to write crap code in Java."

    PLEASE...I have enough of this BS, since when Java API becomes crap and C# doesn't where 99.9999% of C# API copied from Java API back in 2000 when they "engineer" C#???
  11. Disappointing[ Go to top ]

    You are kidding me with this sentence right? Show me how to even run Windows on the partition in mainframe, which is the core system for most of the enterprise!
    By the way, you don't see those jobs doesn't mean there are not many Java Desktop Applications, please don't make this kind of high school claim.
    Most companies do not care about mainframes now. If you only care about mainframes - then Java is truly the new COBOL.

    Besides, the trend is companies moving away from Windows very slowly because of the OS-life-time-is-too-short-BS.  Upgrading OS almost every 5 years now with huge impact?
    Microsoft understands this and they are going to make longer cycles as Windows Server matures (Windows Server 2003 was the first really good server edition).

    PLEASE...I have enough of this BS, since when Java API becomes crap and C# doesn't where 99.9999% of C# API copied from Java API back in 2000 when they "engineer" C#???
    Climb out from your dungeon, please. C# 1.0 was a carbon copy of Java. C# 2.0 was still quite like Java. C#3 doesn't look much like Java now - way too much new features. And these new features really help.
  12. Disappointing[ Go to top ]

    You are kidding me with this sentence right? Show me how to even run Windows on the partition in mainframe, which is the core system for most of the enterprise!
    By the way, you don't see those jobs doesn't mean there are not many Java Desktop Applications, please don't make this kind of high school claim.
    Most companies do not care about mainframes now. If you only care about mainframes - then Java is truly the new COBOL.

    Besides, the trend is companies moving away from Windows very slowly
    because of the OS-life-time-is-too-short-BS.  Upgrading OS almost every
    5 years now with huge impact?
    Microsoft understands this and they are going to make longer cycles as Windows Server matures (Windows Server 2003 was the first really good server edition).

    PLEASE...I
    have enough of this BS, since when Java API becomes crap and C# doesn't
    where 99.9999% of C# API copied from Java API back in 2000 when they
    "engineer" C#???
    Climb out from your dungeon, please. C# 1.0 was a carbon copy of Java. C# 2.0 was still quite like Java. C#3 doesn't look much like Java now - way too much new features. And these new features really help.

    So where is your stat? How many SMBs come together to be comparable to large enterprise from a user base perspective? Even many SMBs nowadays are still using AS/400, they want to move away from it but they simply can't do that in a clear cut way.  Especially many of them are sticking with JD/Edwards still.

    For server 2003, that's only meeting the baseline of other enterprise servers like ones been there forever (Solaris, *nix, z/OS).  Take a look at crappy 2008, you say that's an improvement over 2003? I don't think so.

    If you take a look closely to compare how MS and Sun organize their APIs, not from a feature perspective, but from an application architecture perspective, you will find that .NET API is not very well-engineered.  But I am not going to that far.
  13. "I'd really like to never see XML again" chided Gosling

    Hurrah!!
  14. There is no "JEE"[ Go to top ]

    Jack, please note, there is no "JEE".
    "JEE" is *not* an acceptable abbreviation for "Java EE".
    Nor is "J EE".
    If "Java EE" is just too much to type, please use "EE".

    Please update this page to fix this error.
    Thanks.

    Bill Shannon
    Java EE Spec Lead

    http://www.java.com/en/about/brand/naming.jsp
    http://www.theserverside.com/news/thread.tss?thread_id=35561
  15. There is no "JEE"[ Go to top ]

    Now I see what all the hard work at the JCP was about.
  16. Get yourself on a standards body![ Go to top ]

    In the nineties I developed software for a telco (C++ of course) and a friend who also worked there landed a role on a Telecommunications standards committee. He got flown to Paris for a few days to work on a new standard and told me how, on the first day, after a short introduction session the committee spent the rest of the day arguing over what font they should use for the standards document they were to produce. LMAO!

    Generics - IMHO - great stuff. Should have been there from day one.

    Closures - IMHO - borderline useful, maybe save a few keystrokes when writing a loop but by habit I usually write loops the normal way. If someone's decision to use language A or language B comes down to a matter of saving a few keystrokes when writing a loop then that should indicate they have ignored some much more massively significant, key features of the languages and you should realize that you've got a 'small picture' thinker in your midst and run away ... now!
  17. I forgot to mention.., where's operator overloading. It's great that we've got generics but if we also had operator overloading my development in Java at the moment would be as powerful and expressive as when I was doing C++ 15 years ago... now that would be cool.

    Who remembers when they did their first operating overloading example? The classic complex number problem! The elegance and clarity of (in C++):

    Complex a(5, 7);
    Complex b(3, -4);

    Complex c;

    c = a * b;

    is awesome.

    Our major development at the moment (in Java) has an accounting module and if operator overloading were available in Java (like it is in C# for some reason) we'd be able to deal with simple objects of type Currency instead of performing "the BigDecimal mumbo jumbo dance" every time I want to do something with a financial amount. I'm always scared about creating or editing code that deals with BigDecimal in case I forget to perform a correct scale or accidentally perform the wrong rounding.

    Another issue, which is unlikely to have anything to do with operator overloading, is that each time I call scale or rounding methods a completely new BigDecimal object is allocated on the heap and has to be GCed later. Coming from the byte saving and CPU cycle scrooging world of 8 bit TRS-80s with 48K of RAM that just sounds innefficient.
  18. BigDecimal[ Go to top ]

    Another issue, which is unlikely to have anything to do with operator overloading, is that each time I call scale or rounding methods a completely new BigDecimal object is allocated on the heap and has to be GCed later. Coming from the byte saving and CPU cycle scrooging world of 8 bit TRS-80s with 48K of RAM that just sounds innefficient.

    On the micro-level, yes it sounds inefficient. Yet, having the BigDecimal as an unmutable type yields tremendous benefits for parallel code. Since we have an abundance of cycle these days on a single core, but still have some difficulties with scaling to multiple core, I think it's an extremely good decision to have BigDecimal unmutable.

    Also, don't forget that object allocation is *extremely* cheap on modern JVMs, far cheaper that you would ever have imagined possible when coding for 8-bit and keeping track of your consumed cycles per instruction.