What's that in dog years
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. "
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 ONLamp.com 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
Communities, 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.
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 java.net
News Headlines :
- JSR 268 -
Java Smart Card I/O API: Early Draft Review
- JSR 925 - JavaBeans
Activation Framework 1.1: Maintenance Draft
3.1.6 - Bug Tracker
- EJOSA 2.3
Board Elections Final
- XINS 1.2.0
Registered users can submit news items for the
href="http://today.java.net/today/news/">java.net News Page using our
form. All submissions go through an editorial review 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
Current and upcoming Java
- May 31- June 3, 2005 Enterprise Java Architecture Workshop New York City
- June 3 - 5, 2005 Central Ohio Software Symposium
- June 10 - 13, 2005 Research Triangle Software Symposium
- June 16-18, 2005 JustJava2005
- June 20 - 21, 2005 Pragmatic Studio
- June 24 - 26, 2005 Central Florida Software Symposium
- June 25, 2005 JXTA Town Hall Meeting at JavaOne
- June 27 - June 30, 2005, JavaOne Conference
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
Archives and Subscriptions: This blog is delivered weekdays as
Today RSS feed. Also, once this page is no longer featured as the
front page of java.net it will be
archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.
Java at ten