Skip to main content

New Religion

Posted by editor on June 12, 2008 at 8:13 AM PDT


Another vision of the "next" Java

For some time now, we've had a running debate in the community about the "next" Java, which sometimes is understood to mean a future evolution of the current language, and at other times is a code word for Java's presumed successor (recently, Scala's gotten a fair amount of advocacy in this department).

But what does "Java 3" -- or "Java 3000", or "Java: The Next Generation" -- look like? Is it the current language with closures and multiple return values an other syntaxes bolted on? Is it a whole different language? It's easier to find people talking about its desired traits than its actual form.

Over in his blog, Stephen Colebourne is taking a look at a fully-formed candidate for the next Java. In The Fan language - Is it JavaNG?, he looks at fan programming language, which he says "fixes 95% of the pain points in Java in a manner and style that is close to that which you'd naturally pick if you were creating JavaNG/Java3/BetterJava."

The key point for me is that Fan represents much of what JavaNG/Java3/BetterJava would look like if all our ideas were adopted. And while it has many similarities to Java, there is also quite a sense of difference. Perhaps, the biggest aspect of this is that the APIs are different. But that is perhaps inevitable if you want to get any real benefit from closures and fixing generics (by simplifying them).

And that perhaps gives us the definition of where JavaNG/Java3/BetterJava ends and BeyondJava starts. If the language is based around the Java APIs, its a JavaNG/Java3/BetterJava language (eg. Groovy). If the language has its own APIs, its a BeyondJava language (eg Fan, Scala).

The colon-equals takes me back to Pascal, but maybe that's a good thing. What do you think? Is Fan something you'd like to try out?


Also in Java Today,
the OpenJDK community has approved the Caciocavallo: Portable GUI Backends project. This project, accepted by the OpenJDK Community Innovators' Challenge, seeks to "improve the internal interfaces of the OpenJDK AWT and 2D subsystems in order to make it easier to port AWT to new platforms." A more detailed description of Caciocavallo is available in the final proposal document.

In a new article on InfoQ, Srini Penchikala looks at Domain Driven Design and Development In Practice. "Domain Driven Design (DDD) is about mapping business domain concepts into software artifacts. [...] The objective of this article is to cover the domain modeling and design from a practical stand-point on how one would go about taking a domain model and actually implementing it. We will look at the guidelines, best practices, frameworks and tools that the technical leads and architects can use in the implementation effort."


In today's Weblogs, Artem Ananiev continues his JWebPane introduction in
Using JWebPane: common scenarios.
"Moving on with JWebPane. Let's examine some basic things developers can do with this component."

Greg Brown has been getting a lot of comments on his blog
Introducing Pivot.
"Pivot is an open-source framework for building high-quality, cross-platform applications that are easily deployable both via the web and to the desktop. It began as an R&D; effort at VMware and is now being made available to the community as an option for developers who want to build rich client applications in Java."

Finally, in
Debian packages of Hudson, Kohsuke Kawaguchi announces that
"producing debian packages is now a part of the Hudson release process."


In today's Forums,
Jorge Campins is looking for GlassFish configuration info in the post
Re: (nbjrcg) Is it possible to control the number of concurrent instances of a Message-Driven-Bean?
"It is my current understanding that Glassfish V2 implements EJB3 and therefore Message Driven Beans are now controlled by the @MessageDriven annotation at the bean, not by the sun-ejb-jar.xml. I haven't been able to find a complete explanation of all possible properties that can be configured using the @MessageDriven annotation."

davester wants to know what's up with
Java 1.6.0_10 b25 installer: suspicious connection attempts?
"I just tried installing Java 1.6.0_10 b25 offline install distro, and ZoneAlarm alerted about some connection attempts that the installer was trying to make. I supposed that this being the offline installer, these connection attempts were perhaps malicious or sneaky, so I blocked them. The installation was able to complete without problems. Perhaps it's someone's debug code that was left on in the distro, but I wanted to call your attention to it. Before any dialogs came up, the installer was attempting to connect to two different IP addresses that I did not recognize. One was a DNS call, and that might not be a big deal or might be expected. The other was an HTTP call, and that one looked suspicious."

Finally, dougnukem would like some suggestions for
Formatting XML output of attributes and elements.
"How would I go about formatting an XML Document text output so that the elements are properly indented, and every attribute is displayed on its own line. The reason I want to accomplish this is we want a readable XML format output of a Java object with many attributes which we want to be able to do diffs on when we create new versions, and right now all the XML element's attributes are displayed on one line."


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.


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 java.net it will be
archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.

Another vision of the "next" Java