Java 7 Milestone 5: Build b76 vorgestellt

Download gibt es unter http://download.java.net/jdk7/m5/, die Neuerungen bei http://download.java.net/jdk7/changes/jdk7-b76.html. Am Interessantesten dürfen sein:

  • bb3. 6865582. jsr166y – jsr166 maintenance update
  • 6865571. Add a lightweight task framework known as ForkJoin
  • 6445158. Phaser – an improved CyclicBarrier
  • 6865579. Add TransferQueue/LinkedTransferQueue

und

Die Sprachänderungen für Java 7 nun fest

Das schreibt Joseph D. Darcy in seinem Blog http://blogs.sun.com/darcy/entry/project_coin_final_five (und bei Java.net http://weblogs.java.net/blog/forax/archive/2009/08/29/seven-small-languages-changes-will-be-jdk7).

Die Spezifikationen stehen im Einzelnen noch nicht fest.

Raus sind erst einmal

und auch alle anderen Dinge.

Das alles erscheint mir schon mehr merkwürdig in der Auswahl. Improved Exception Handling for Java war so ein heißer Kandidat und wird es nun doch nicht.

Deadline ist Ende Oktober.

Swing Application Framework fliegt aus Java 7 raus

Unter http://weblogs.java.net/blog/alexfromsun/archive/2009/08/saf_and_jdk7.html ist von Alexander Potochkin nun zu lesen:

After much discussion it’s become clear that the Swing Application Framework API as it is today hasn’t reached consensus and we feel still needs further design work done.

Since the SAF API was committed to milestone 5 of JDK7 and that time is already here, this date is now impossible, and we need to decommit SAF from any specific JDK 7 milestone

OpenJDK7 / JDK7 M4 Release

Die Ankündigung wurde unter http://blogs.sun.com/xiomara/entry/openjdk7_jdk7_release_milestone_4 gemacht. Interessant ist „For now JDK 7 is finally in sync with the JDK 6u14 updates.“ Dann wird es Zeit, dass jetzt mal die *wirklichen* Dinge implementiert werden und man nicht nur die Änderungen von Java 6 alle in Java 7 nachzieht. Bis auf NIO.2 ist hier noch nicht wirklich viel passiert. Und beim Project Coin wird viel diskutiert, aber bisher ohne Ergebnis im Java-Compiler.

Vorschläge für Projekt Coin (Java 7 Sprachänderungen) geht in die nächste Runde

Eine Abstimmung hat ergeben, welche Spracherweiterungen es in Java 7 geben könnte:

In der näheren Auswahl sind desweiteren noch:

Alle andere Vorschläge, die bisher in der Mailingliste http://mail.openjdk.java.net/pipermail/coin-dev/ vorstellt wurden, sind damit raus. (Eine Begründung für die Ablehnung gibt es nicht zwangsläufig.)

Na endlich: JDK 7 feature list, build and integration schedule

Mark Reinhold schreibt auf seinem Blog:

At Devoxx back in December I presented a list of candidate features for JDK 7(video, interview); more recently, at FOSDEM, I discussed that list as well as the high-level schedule and the means by which we plan to deliver the release (slides, audio/video). The high-level schedule is now available on the JDK 7 Project page in theOpenJDK Community along with a detailed feature list, the near-term build and integration schedule, and the long-term, build-by-build calendar. The JDK 7 feature list, like that of any large software project, is provisional and subject to change based upon new information and new proposals. Who Many of the planned features will be implemented by Sun engineers; the rest will be contributed from outside Sun. We’ll shortly define a process by which additional features can be proposed—so long as you’re willing to write not just the code but also the necessary tests and specification material. There will also be a simpler, lighter-weight process for smaller changes. Where Regardless of who writes the code, the expectation is that all development will take place in the open, either in the JDK 7 Project, in some other OpenJDK Project, or elsewhere. What about the JCP? The JDK 7 Project is creating a prototype of what might—or might not—wind up in the Java SE 7 Platform Specification. When the SE 7 Platform JSR is submitted then the features under development in JDK 7 will be proposed for inclusion therein, except for those that are VM-level or implementation-specific.

Der Kalender gibt Ende Februar an.

M8 2010/02/12 – 2010/02/18 b95

Die Feature-List ist interessant aber ich denke, dass einiges im Detail noch offen ist:

  • JSR TBD: Small language enhancements (Project Coin)
  • JSR 296: Swing application framework
  • Swing updates

Java 7 und Named Capturing Group

Hatte man bei reguläre Ausdrücken und Gruppen auf die Gruppen über eine Index zugreifen müssen, so kann man dies in Java 7 auch über einen Namen tun; das ganze nennt sich dann named capturing group:

  String pStr = "0x(?<bytes>\\p{XDigit}{1,4})\\s++u\\+(?<char>\\p{XDigit}{4})(?:\\s++)?";
    Matcher m = Pattern.compile(pStr).matcher(INPUTTEXT);
    if (m.matches()) {
        int bs = Integer.valueOf(m.group("bytes"), 16);
        int c =  Integer.valueOf(m.group("char"), 16);
        System.out.printf("[%x] -> [%04x]%n", bs, c);
    }

Der Blog-Eintrag http://blogs.sun.com/xuemingshen/entry/named_capturing_group_in_jdk7 gibt es in paar mehr Infos.

Video: Java 7, Modularisierung, Jigsaw, was kommt, was geht, 2010

Mark Reinhold spricht über Java 7

 

Geplante Änderungen:

Wird (wohl) nicht in Java 7 kommen wird:

  • Closures
  • Reified Generics
  • First Class Properties
  • Überladene Operatoren
  • BigDecimal Syntax
  • JSR 295: Beans Binding

Der Hammer: Java 7 wird Anfang  2010 erwartet.

Wer mal was inspirierendes hören möchte: Unter http://channel9.msdn.com/posts/Charles/C-40-Meet-the-Design-Team/ sprechen C#-Macher Anders Hejlsberg und weitere C#-Experten über die Zukunft von C# und .NET, insbesondere im Kontext dynamischer Sprachen. Hier läuft man meilenweit vor Java; und das Interview ist schon 1 Jahr alt… Unter http://code.msdn.microsoft.com/csharpfuture geht’s es dann mit ein paar Links zur C# 4 und Ideen zu C# 5 weiter.

Auswirkung von neuen Sprachkonstrukturen in Java 7 und Project Coin

Joseph Darcy veröffentlichte schon vor 2 Jahren einen interessanten Blog-Artikel über die Änderungen, die enum mit sich brachte: JSL, Compiler, Bibliotheken, JVM-Spezifikation, usw. Da Sun sich mit dem neuen Modulsystem Jigsaw wohl ganz gut was vorgenommen hat, wird es große Änderungen an der Sprache (wie Closures oder Reified Generics) wohl nicht in Java 7 geben. Dennoch gibt es mit dem aktuellen Project Coin: Small Language Changes for JDK 7 einen neuen Versuch, zumindest einige Features unterzubringen, die mit wenig Aufwand implementiert werden können. Dazu zählen ein switch mit Strings oder die Möglichkeit, multiple Exceptions in einem catch zu fangen.

Joda Time 1.6/JSR 310

Von Joda Time (http://joda-time.sourceforge.net/) gibt es ein neues Update in der Version 1.6 (vom 2008-10-27). Interessant bleibt zu sehen, wie sich Joda Time im Laufe der Zeit gegenüber der JSR 310: A New Java Date/Time API abhebt.

Zur JSR 310, die in Java 7 erwartet wird:

Stephen Colebourne ist einer der treibenden Personen von Joda Time und auch Specification Lead der JSR 310.