Java 13 dostępna. Liczba nowości maleje z wydania na wydanie

Maciej Olanicki , 17.09.2019 r.
java Najnowsza wersja Javy wprowadza zaledwie pięć JEP-ów, z czego dwa wciąż w wersji testowej.

Oracle ogłosiło dziś dostępność Javy 13. Nie jest to wydanie szczególnie duże, gdyż przynosi raptem 5 JEP-ów (Java Enhancement Proposals). Nie należy się jednak temu szczególnie dziwić, gdyż właśnie takie tempo rozwoju Javy zakłada przyjęty w 2017 roku (wraz z premierą Javy 9) harmonogram wydawniczy. Zamiast rozbudowanego wydania co około 3 lata otrzymujemy mniejsze aktualizacje co trzy miesiące.

Java 13 już jest

Przyjrzymy się nowościom, czyli wspomnianym JEP-om. Trzy z nich (JEP 350, 351 oraz 353) są już pełnoprawnymi funkcjami Javy, zaś pozostałe dwa (JEP 354 i 355) udostępnione zostały w Javie 13 jako funkcje eksperymentalne. Nowa wersja to oczywiście także liczne poprawki – ogółem rozwiązano ponad 2,1 tys. problemów, w co wkład miało nie tylko Oracle, ale także ARM, Huawei czy Ampere Computing. Z ponad 2 tys. aż 671 problemów rozwiązali niezależni deweloperzy.

Choć Oracle zaznacza, że implementacja zaledwie 5 JEP-ów to rezultat przyjętego harmonogramu, to argumentacja ta wypada umiarkowanie przekonująco. Warto bowiem zaznaczyć, że Java 13 wypada blado także na tle poprzedniczek. Java 10 przyniosła 12 JEP-ów, natomiast Java 11 to aż 17 JEP-ów. Nawet ostatnie wydanie, Java 12 zaoferowała 8 nowości. W ciągu ostatniego roku mamy zatem do czynienia z wyraźną tendencją spadkową, co zresztą także może dziwić tylko umiarkowanie, o czym za chwilę.

Java 13 – co nowego?

Najpierw przyjrzyjmy się jednak wspomnianym nowościom:

  • JEP 350 wprowadza obsługę CDS, czyli współdzielenia klas danych, w taki sposób, aby możliwe było ich dynamiczne archiwizowanie,
  • JEP 351 to oznaczenia zmian w garbage collectorze, który odtąd może zwracać niewykorzystaną stertę z powrotem do systemu operacyjnego,
  • JEP 351 to ponowna implementacja Legacy Socket API, dzięki której zastąpiono API java.net.Socket i java.net.ServerSocket rozwiązaniem nowocześniejszym i łatwiejszym w utrzymaniu,
  • JEP 354 wprowadza zmiany w składni zaprezentowanego w Javie 12 wyrażenia switch,
  • JEP 355 oznacza obsługę bloków tekstu, dzięki czemu w ramach jednego literału można wprowadzać nowe wersy.

Java 13 – czy kogoś obchodzi?

Wspomnieliśmy już, że niewielka liczba wprowadzonych nowości tylko częściowo może być zaskoczeniem. Dzieje się tak, gdyż lwia część programistów zaangażowana jest w projekty, które nie pozwalają im na migracje na nowsze wersje Javy. Z wielu powodów, przede wszystkim wynikających z obaw o kompatybilność, trwają oni przy ostatnim wydaniu pochodzącym z poprzedniego cyklu wydawniczego, czyli przy Javie 8. Nie sposób oczekiwać, by premiera Javy 13 cokolwiek w tej kwestii zmieni.

Najnowsze oferty pracy:

Polecane wpisy na blogu IT: