Skip to main content

What's that in dog years

Posted by daniel on May 27, 2005 at 10:49 AM PDT

Java at ten

My six year old loves the concept of "dog years". She thinks it's cool that our dog has lived a dozen years and that that is equivalent to being in her eighties. I thought of that because of a response to Chris Adamson's blog on three new platforms for Java. There is much in the first response that I started to reply to myself, but I kept returning to the phrase "but the Java developer community is still in its teenage years".

Sure Java's been around just ten years, but what's the equivalent in technology years? There's plenty of technology that's come and gone in that time. There are also languages and stacks that have been around a lot longer. So, can we say that the field of programming in Java has yet to mature? I wouldn't think so. We didn't really start from scratch. Many of us programmed in other languages and bring that experience (for good or bad) to our Java code. How do you assess what stage we are in with a language?

In any case, Chris Adamson's blog points out that " Three new platforms were announced last week. Each will move tens of millions of units. And in all likelihood, none of them will support Java. " In New Platforms, No Java he writes "All of these platforms will have broadband network connections, and are talking about features like instant messaging, voice, and video chat. Who's providing those apps, not to mention the media browsers, streaming audio clients, personal organizers, etc.? Not us, apparently."

Marc Hadley is back with a blog on On "Rethinking the Java SOAP Stack" in today's Weblogs. " Steve Loughran and Edmund Smith of HP Labs have written an interesting piece on JAX-RPC and JAXM that discusses their suitability as programming models for Web services. Unfortunately much of their article ignores the advances we've made with JAX-WS (nee JAX-RPC 2.0). As co-spec lead for JAX-WS, I'd like to point out a couple of the salient features. "

Doug Kohlert notes that JAX-RPC 2.0 renamed to JAX-WS 2.0 . His post explains the primary reasons for doing so. Ludovic Champenois points to cartoons on Bugs, bugs, bugs...

In Also in
Java Today
, many developers are switching their source control to Subversion, the compelling CVS replacement that continues to win praise for its flexibility and multiplatform support. This flexibility is on display in the article Setting Up a Secure Subversion Server, in which BSD Hacks author Dru Lavigne shows the steps to set up a Subversion server (with help from BSD's ports, of course), and considers the options available for securing access to the repository via local access, Apache integration, or Subversion's mini-server.

Erich Gamma explains that a mature design often exhibits "patterns popping-up around some central abstraction." Gamma talks about How to use Design Patterns with Bill Venners. "Do not start immediately throwing patterns into a design, but use them as you go and understand more of the problem. Because of this I really like to use patterns after the fact, refactoring to patterns. [..] People should learn that when they have a particular kind of problem or code smell, as people call it these days, they can go to their patterns toolbox to find a solution."

In Projects and
, the recently-graduated Java Tools community project args4j makes it easier to parse command-line arguments to your Java application. It uses J2SE 5.0 annotations to allow you to quickly define and document your annotations, which makes it easy to create a usage screen.

The JXTA community has put out a call for demos for its pre-JavaOne Town Hall meeting on June 26th. "Cool, exciting community member demos of JXTA Technology" need to be submitted by June 10th for consideration.

Kbr explains
Why clone much slow than new instance

in today's Forums. "Actually in the HotSpot JVM Object.clone() is not currently heavily optimized, while new instance is. You can feel free to file an RFE about this in the bug database. You can work around this problem by overriding clone() and manually allocate the new instance and assign the data into it. In fact, I think this is already probably necessary once your data structures get more complicated, which is why slow performance of Object.clone() hasn't shown up on our performance radar."

Wangzaixiang points out that reflection allows you to
support the smalltalk's become feature
. "It is simple by learning the Java's reflect API: 1. query the Class for its fields. and we get a java.lang.reflect.Field instance 2. if the Field is private, we can modify its access flag first. 3. then call the Field.get/set method to read/write it."

In today's
News Headlines

Registered users can submit news items for the href=""> News Page using our
news submission
. All submissions go through an editorial review before being
posted to the site. You can also subscribe to the href=""> News RSS

Current and upcoming Java

Registered users can submit event listings for the href=""> Events Page using our href=""> events submission form.
All submissions go through an editorial review before being posted to the

Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of it will be
archived along with other past issues in the href=""> Archive.

Java at ten