

Mark Reinhold, naczelny specjalista techniczny Oracle'a ds. Javy, ogłosił, że cztery wnioski Java Specification Request (JSR) decydujące dla dwóch kolejnych wersji Javy zostały właśnie zaakceptowane do rozpatrzenia w procesie JCP (Java Community Process).
Mają one być podstawą dla przedstawionego niedawno minimalistycznego planu rozwoju technologii Java. Według tego planu JDK 7 ma się ukazać w połowie 2011 roku bez funkcji Lambda, wprowadzającego modularność projektu Jigsaw oraz elementów projektu Coin. W zamian za to już pod koniec 2012 roku planowane jest wydanie JDK 8 - będzie on zawierał komponenty, z których zrezygnowano w Javie 7 (a może nawet coś więcej). Według pierwotnego planu (tzw. A) Java 7 zawierałaby od razu wszystkie przewidywane nowości, ale należałoby się jej spodziewać najwcześniej w połowie 2012 roku.
Przedstawione właśnie propozycje specyfikacji to wnioski JSR oznaczone numerami od 334 do 337. W JSR 334 - Small Enhancements for the Java Programming Language - znajduje się wiele technologii stworzonych wcześniej w ramach projektu Coin. Ze zbioru pomniejszych funkcji językowych we wniosku uwzględniono między innymi rozszerzenie deklaracji switch o łańcuchy string, zmiany w definiowaniu typów (dedukowanie), które mają oszczędzić żmudnego powtarzania uogólnionych parametrów, a także specjalny blok try, który odpowiada za prawidłowe udostępnianie zasobów.
Wniosek JSR 335 - Lambda Expressions for the Java Programming Language - jest poświęcony wprowadzeniu domknięć (closures) do języka. Idea ta wywodzi się z programowania funkcjonalnego. Od jakiegoś czasu funkcja ta jest obsługiwana także przez niefunkcjonalne języki takie jak C#, JavaScript, Perl, PHP, Python, Ruby i Smalltalk. Domknięcia przy wywołaniu reprodukują kontekst definicji, nawet jeśli kontekst poza funkcją już nie istnieje. Implementacja specyfikacji już się odbywa w ramach OpenJDK w projekcie Lambda.
JSR 336 - Java SE 7 Release Contents - stanowi zbiorczą specyfikację, w której skład wchodzą kolejne JSR i technologie Java. Wśród nich znajdują się np. nowe Concurrency API wraz z frameworkiem Fork/Join, nowe API File System (JSR 203), obsługa Unicode 6.0 i JDBC 4.1 oraz zmiana stylu graficznego interfejsu użytkownika (look and feel). W ramach JSR 336 uwzględnione ma być usprawnienie działania dynamicznie typowanych języków (JSR 292).
W JSR 337 - Java SE 8 Release Contents – znalazł się system modułów, który ma uwolnić programistów Javy od konieczności pamiętania pełnych ścieżek klas, oraz rozszerzony framework do Collections, który pozwoli im na bardziej wydajne i równoległe przeprowadzanie procesów.
Teraz, kiedy wnioski zostały przedłożone członkom JCP, komitet wykonawczy JCP będzie decydował o ich zatwierdzeniu lub odrzuceniu. Apache Software Foundation z góry zapowiedziała, że będzie głosować przeciwko propozycjom Oracle'a, jeśli koncern nie zmieni własnej strategii licencjonowania niezbędnych do uzyskania certyfikacji Java pakietów Test Compatability Kits (TCKs).
źródło: oracleJeśli chcesz otrzymywać wyczerpujące informacje z serwisu MRT Net, zaprenumeruj nasz Newsletter |