Skip to main content

Will IBM and BEA make the JCP obsolete?

Posted by daniel on December 3, 2003 at 5:36 AM PST

"No" answers Richard Monson-Haefel in his examination of IBM and BEA's decision to "propose three new JSRs (235, 236, and 237) based on specifications that they had already developed."

In Weblogs , Richard points out that JSRs 235, 236, and 237 are very much in the spirit of the JCP. In IBM and BEA: Are they thumbing their noses at the JCP?, he writes that "the JCP is not supposed to stifle the development of specifications seeded outside of the process - to the contrary. If leading vendors want to hammer out the details before beginning a JSR, then so be it. Who cares how it got started?"

There is no requirement to grow a specification from scratch. The current expert groups for these new specifications on Service Data Objects, Timer for Application Servers, and Work Manager for Application Servers are soliciting for others to join the expert group. In each case the JSR Review Ballot is scheduled for December 15, 2003. Richard closes his post with a concrete example from the days of CORBA of why IBM and BEA will continue to work with standards groups such as the JCP.

Andreas Schaefer joins the discussion about Debuggers: a modern 'Dr. Jekyll and Mr. Hyde'. With the thread currently active on whether or not debuggers are timesinks, Schaefer takes a different tack and makes the following analogy.

A debugger is like a telescope looking at the night sky and you have to find the North Star. With the naked eye you will find it pretty easily even when you have to remember that the rear leg of the Big Bear directs to it. The telescope needs to be directed pretty closely to the target otherwise you will miss it and waste a lot of time. Actually that would not be so bad but it prevents you also from learning the big picture of the night sky and to navigate easily through all the stars and nebulas. In addition a debugger can only work when program is not working as expected and therefore does not help in any way to prevent a bug. A debugger does not or barely work with race conditions (multi threading), class loading issues, network problems or any other runtime issues.

Sam Dalton's debut blog entry looks at the Eye of the Tiger - Generics in J2SE 1.5. He provides a code snippet showing the use of Generics to both clean up code and to avoid a potential ClassCastException.


Generics are also the topic in the first installment in our new column from William Grosso. Bill begins his Explorations by looking at two "code transformations the compiler performs in order to implement the generics specification": erasure and bridging.

Erasure allows for backwards compatibility when implementing generics. Grosso explains the three restrictions that erasure addresses:

First, the format of class files (as specified in the Java Language Specification) can't change very much. Second, any code that was compiled using a "pre-generics" class that has since been genericized (for example, any code that uses an ordinary, non-generic Iterator) must still work correctly. Third, any code that was written using a "pre-generics" class that has since been genericized (for example, any code that uses an ordinary, non-genericIterator) must still compile and work correctly.

There are still problems that can arise from erasure. Bill provides examples of what can go wrong. He concludes his article with a look at a second transformation "which is referred to as bridging,[and] consists of inserting extra methods into objects. And, like erasure, bridging is motivated by backwards compatibility."


Also in Java Today links to Turing lectures given by Ronald L. Rivest, Adi Shamir, and Leonard M. Adleman. The three gave these talks in June while receiving the 2002 A.M. Turing Awards for their work in public key cryptography with their work on the RSA encryption code. You can access the talks in various formats. Rivest spoke on the "Early Days of RSA", Shamir on "Cryptology:A Status Report" and Adelman on "Pre-RSA".

Joel Spolsky has written an essay recently on Craftsmanship. He's not quite sure that that's the term he wants to use, but he says there is something that compels you (when the economics permit) to spend much more effort polishing your application in ways that many might never notice. He writes, "When software is built by a true craftsman, all the screws line up. When you do something rare, the application behaves intelligently. More effort went into getting rare cases exactly right than getting the main code working. Even if it took an extra 500% effort to handle 1% of the cases."


Today in Projects and Communities, the Java User Groups community unveils a new home page. They encourage you to participate by submitting your JUG Events and Meetings and to have your JUGs leader participate with other leaders. At its core, a JUG is "the place were Java users can get information, share resources and solutions, increase networking, work together to achieve better Java Technology expertise, and above all, drink beer, eat pizza and have fun."

Not all devices are capable, on their own, of participating in a Jini network. The Surrogate Architecture Proposal allows components "" with the aid of a third party, [ to ] participate in a Jini network while still maintaining the plug-and-work model of Jini network technology" The proposal has recently passed the JDP elections.


In today's java.net News Headlines :

Registered users can submit news items for the href="http://today.java.net/today/news/">java.net News Page using our
news submission form.
All submissions go through an editorial review by news director Steve
Mallet before being posted to the site. You can also subscribe to the href="http://today.java.net/pub/q/news_rss?x-ver=1.0">java.net News RSS
feed.


Current and upcoming Java Events:

Registered users can submit event listings for the href="http://www.java.net/events">java.net Events Page using our href="http://today.java.net/cs/user/create/e"> events submission form.
All submissions go through an editorial review before being posted to the
site.


This blog is delivered weekdays as the href="http://today.java.net/pub/q/java_today_rss?x-ver=1.0">Java Today RSS
feed. Once this page is no longer featured as the front page of href="http://www.java.net"> java.net it will be archived at href="http://today.java.net/today/archive/index_12022003.html">
http://today.java.net/today/archive/index_12022003.html. You can
access other past issues in the href="http://today.java.net/today/archive/">java.net Archive.