Java 11 dla 12 mln programistów na osiem kolejnych lat. I tak naprawdę wcale nie musisz za to płacić
12 milionów programistów na świecie korzysta z Javy – tonumer 1. wśród języków programowania, stwierdził dziśSharat Chander, dyrektor rozwoju Javy SE w Oracle, przy okazjiwprowadzenia na rynek Javy 11, pierwszego wydania o wydłużonymokresie wsparcia od czasu przejścia na nowy, szybki cykl wydawniczy.Ale czy długo jeszcze tym numerem jeden pozostanie po zmianie modelulicencyjnego na płatne subskrypcje?
26.09.2018 | aktual.: 27.09.2018 10:15
Zobaczmy co w nowej Javie piszczy. Przede wszystkimdostajemy kolejną licencję, która zastępuje dotychczasową BinaryCode License (BCL), wykorzystywaną w świecie Javy od ponad 10 lat.Jak wyjaśnia Chandar na łamach korporacyjnego bloga, Oracledostarczać będzie JDK nie tylko w Oracle OpenJDK korzystającym zGNU GPLv2 (z tzw. Classpath Exception), ale także pod komercyjnąlicencją. Jest ona przeznaczona dla tych, którzy będzą korzystaćz Oracle JDK jako części produktów lub usług Oracle, lub teżtych, którzy nie chcą korzystać z otwartego oprogramowania.
Java za darmo, ale nie zawsze za darmo
Co to w praktyce oznacza dla użytkowników? Cóż,kilka miesięcy temu Oracle wprowadziło nowy model subskrypcji dlaJavy SE, bazujący na abonamencie. Nie żeby nas to zaskoczyło,czuliśmy przez skórę, że tak to się musi skończyć. Wdrożeniaserwerowe i chmurowe kosztują więc 25 dolarów za fizyczny procesormiesięcznie. Wdrożenia na desktopie to tylko 2,50 dolara zaużytkownika miesięcznie. Jak ktoś chce kupić hurtem, dostaniezniżkę.
Przy okazji ogłoszono, że od stycznia 2019klasyczna Java SE 8 już nie dostanie żadnych aktualizacji, takżełatek bezpieczeństwa – chyba że kupimy subskrypcję.
Czy możnakorzystać z Javy za darmo? Pewnie, że można. Uważajcie jednak, by nie wpaść w pułapkę i nie pobrać binarnej OpenJDK ze stron Oracle, jak to wiele osób robi z przyzwyczajenia, to automatycznie zmusza nas do płacenia.
Aby legalnie korzystać z darmowego Oracle OpenJDK, trzeba go sobie zbudować samemu, ze źródeł dostarczanych na licencjiGPLv2+CE, lub też pozyskać wersję binarną OpenJDK od któregoś zkonkurentów. Swoje kompilacje OpenJDK oferują m.in. RedHat i IBM.
Nie tylko licencjonowaniem programista żyje
Przejdźmy do spraw technicznych. Java 11 przynosigniazda (nests), mechanizm kontroli dostępu opisany w JEP181. Dostosowuje się on do zagnieżdżonych typów, dziękiczemu klasy będące logicznie częścią tej samej jednostki kodu,ale które są kompilowane do różnych plików klasy, mogą uzyskaćbezpośredni dostęp do swoich prywatnych członków bez koniecznościwstawiania przez kompilator pomostowych metod dostępności.
Oprócz tego warto zwrócić uwagę na rozszerzenieformatu pliku klas o nową formę puli stałych, która przerzucatworzenie na metody bootstrapowe (JEP309), oraz wprowadzenie nowego odśmiecacza pamięci Epsilon,który kontroluje alokację pamięci, ale nie implementujemechanizmów recyklingu pamięci (JEP318). Java 11 to także ustandaryzowany klient HTTP (JEP321), teraz w pełni asynchroniczny, nowa składnia dlaparametrów w wyrażeniach lambda (JEP323), pozwalająca wykorzystać słowo kluczowe var przyich deklarowaniu, podstawowa implementacja protokołu bezpiecznejkomunikacji TLS 1.3 i kilka innych ulepszeń kryptograficznych.
Pełna lista nowości znajduje się w informacjach owydaniu,trzeba jednak pamiętać, że wśród nich są także informacje ousunięciu czy porzuceniu przestarzałych technologii. Moduły JavaEE i CORBA zostały usunięte, a już niebawem taki los czeka silnikJavaScriptu Nashorn. Zamiast niego przyjdzie korzystać z tej nowejmodnej superszybkiej maszyny wirtualnej GraalVM,która uruchamia nie tylko JavaScript, ale też Pythona, Kotlina anawet C. Usunięto też narzędzia Pack200 i ich API, stosowane odniepamiętnych czasów do kompresji plików JAR.
Z JDK zniknął też JavaFX, framework do tworzeniaaplikacji desktopowych i rozbudowanych aplikacji internetowych. Aleczy w erze wszechobecnego Electronu, Node.js i JavaScriptu ktośbędzie za nim płakał?
Komercyjne wsparcie dla Javy 11 jest gwarantowaneprzez Oracle na przynajmniej następne osiem lat. Kolejnym wydaniem owydłużonym okresie wsparcia będzie Java 17, planowana na wrzesień2021 roku.