Skip to main content

Closer

Posted by editor on October 29, 2007 at 7:56 AM PDT


Closures getting closer

Hey, remember when the big topic was the idea of adding closures to the Java language for Java 7? A lot of people like the idea, and others aren't so sure. But the topic has gotten kind of quiet for the past few months, as the sides have seemingly agreed to disagree in the absence of further information and details on the topic.

So, Neal Gafter's latest blog seems likely to open things up again. Because he's got a closures prototype working.

In Java Closures: First Prototype, Neal writes:

I've finally had some time to make progress on a prototype of
closures. If you want to see what an API looks like, you can compare
href="http://gee.cs.oswego.edu/dl/jsr166/dist/jsr166ydocs/jsr166y/forkjoin/package-summary.html">
Doug Lea's jsr166y fork-join framework to href="http://www.javac.info/jsr166z/jsr166z/forkjoin/package-summary.html">the
same API ported to use the language features of the prototype.

If you want to try it, you can href="http://www.javac.info/closures.ztar">download an executable
version of the prototype here. Make sure a JDK6 version of java
and javac are on your path. This is binary-licensed under the JRL,
but if a JSR is created I expect to license it under GPLv2. There are
a few small test cases included.

The blog goes on to detail what is and isn't present in this prototype, with an explanation that he wanted to get a version out without the missing features, and thereby enable a comparison once those features are added. Neal also notes that he's working on some closure-related language changes for JDK 7. "For example, "extension methods" enable you to have the effect of adding methods to existing interfaces (e.g. adding "each", "filter", etc to Collection) without breaking backward compatibility."

So, assuming you have JDK 6 (sorry, Mac developers... but that's another story), this is your opportunity to take a look. And, presumably, a cue to bring the closure debate back to the foreground.


Also in Java Today,
a recent note in Barton's Blog points out that NetBeans is now dual-licensed. "As of Monday's release of NetBeans 6 beta 2, in addition to the CDDL, the Java-based tool set is now also available under GPLv2 with the Classpath exception. The target had been to add GPL by FCS but thanks to some over achieving legal folks the team made it early.
The goal of the dual licensing is simple -- make NetBeans more friendly to the GNU/Linux world as well as making it an option for those who were unable to use it under the CDDL."

The latest edition, Issue 144, of the JavaTools Community Newsletter is available, with tool news from around the web, announcements of new projects within the community, and a Tool Tip on dealing with dependencies with the Maven 2 Dependency Plugin.


Tooday's Weblogs starts off with another hot-button issue, the absence of Java 6 from Mac OS X 10.5 Leopard. In So, no Java 6 with Leopard, Fabrizio Giudici writes:
"Within the 300+ new features of Leopard, two are those I was waiting for: Java 6 and the ZFS file system. Now that none of them is there (ZFS support is read-only), what's next?"

John O'Conner reports that
The Java job market is hot!
"After almost 8 years at Sun, I had almost forgotten that Java development goes on elsewhere too. Now I realize, perhaps for the first time, that Java developers have great opportunities!"

Finally, Felipe Ortiz takes a look at some
Top Java Books on Google Books.
"Here is an good list of top Java books available for preview on Google Books. Google Books provides scans of thousands of textbooks. The scans are not the best, most books have visible scan defects in them."


This week's Spotlight is on the openInstaller project, an open-source, next-generation, cross-platform software installer framework. According to the about openInstall page, "initial development of openInstaller was done by Sun Microsystems, but is now available under the open source Common Development and Distribution License (CDDL)", and the project is "currently staffed with some of the most experienced engineers and installation experts that Sun has to offer, but we are in the early stages of this endeavor and are looking for community contribution on the project to make it hands down the best installer framework out there."


In today's Forums,
jrobinss questions JAXB design in
Re: wsimport missing the WWW?.
"So this is a choice made by JAXB architects. So it does answer my question. Some further discussions about this... They justify this choice by refering to Java language spec section 7.7. In this section it is true that the organization whose pages are under URL www.something.suffix organization will create Java packages like suffix.something.mypackage. Note that usually they will do this by hand. And they will generally possess all *.something.suffix domaine names. What I don't like about JAXB's choice is that it hard-codes an exceptional treatement. I've just played around with some namespaces, and for example aww or ww2 or any other substitute for www is not removed. For me this is... awkward. The prefix www is only one of the subdomains of domain something.suffix Personally I would simply favor a recommendation to use namespaces such as something.suffix/mypackage. After all, there's really no reason for the historical www to be there, as a namespace is more an URI than an URL, and the www is historically linked to URLs. Following this recommendation would make the JAXB decision useless."

In
Re: Glassfish Oracle Mystery,
sankara rao bhogi explains how to configure persistence.xml to see Toplink queries.
"For both Java SE and EE, You can set the logging level for a persistence
unit by using the following property: . In GlassFish, you can set the global log level for all the persistence units using the admin GUI or asadmin CLI. The value specified in persistence.xml overrides the global log level. Please read https://glassfish.dev.java.net/javaee5/persistence/entity-persistence-su... or more details."

Deron handles GPL worries in
Re: Is Project Wonderland for me?
"The purpose of a GPL-with-classpath-exception is to allow application developers LGPL-like freedom to retain their proprietary IP but to force developers who enhance the core to donate it back to the community for the benefit of all. From what you have told me of your project it sounds like a Darkstar application. You need not be concerned about losing your proprietary IP if you use Darkstar. And if you are still concerned about GPL-with-classpath-exception, as Nicole said, Sun often custom relicenses its GPL products to developers who have exactly your same concerns. Don't let the license drive you away from what s a great product. We should be able to work something out."


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.

Closures getting closer