r   e   k   l   a   m   a
r   e   k   l   a   m   a

Java 8 debiutuje: duży krok w stronę programowania funkcyjnego, ale wciąż brak modularności

Strona główna AktualnościOPROGRAMOWANIE

Java 8 doczekała się wreszcie światła dziennego. Wczoraj, w trakcie konferencji EclipseCon, Oracle ogłosiło ogólną dostępność kolejnej wersji tego najpopularniejszego języka, działającego dziś na miliardach urządzeń. Na premierę czekało niecierpliwie miliony programistów: z opublikowanych przez firmę Typesafe wyników sondażu wśród społeczności użytkowników Javy wynikało, że 54% zamierza przejść na „ósemkę” w ciągu najbliższych 12 miesięcy, a 68% w ciągu najbliższych 24 miesięcy. Kuszą ich przede wszystkim nowe możliwości opracowywanej przez Oracle platformy.

Droga do wydania Javy 8 była zaskakująco długa. Specyfikację społeczność zrzeszona w Java Community Process zatwierdziła w 2010 roku (jako JSR-337), a debiut planowano na połowę 2012 roku. Tymczasem od wydania Javy 7 w lipcu 2011 prace nad nową wersją języka przeciągnęły się bardziej, niż się spodziewano. To oczywiście wina (lub zasługa) liczby zmian, zarówno w samym języku, jak i środowisku JavaFX czy narzędziach deweloperskich – ale przede wszystkim architektury bezpieczeństwa całej platformy – czegoś, co do tej pory było dotkliwym problemem Javy. Wbrew niektórym opiniom, nie można jednak mówić tu o rewolucji, mamy raczej do czynienia z przemyślaną ewolucją języka i platformy.

Na pewno największą uwagę przyciągają wyrażenia lambda, pozwalające przekazywać funkcje jako argumenty metod i bardziej zwarte wyrażanie instancji funkcjonalnych interfejsów. Według Mike'a Piecha z Red Hata, pozwolą one wygodniej tworzyć aplikacje w Javie dla chmur obliczeniowych i tam, gdzie ważne jest wykorzystanie współbieżności. Podobnie uważa analityk IDC Al Hilwa, zauważając, że wyrażenia lambda w Javie powinny być postrzegane jako część szerszych zmian, mających na celu zwiększenie możliwości języka na nowoczesnych architekturach w zakresie paralelizacji oprogramowania. Z kolei James Donelan z firmy MuleSoft podkreśla, że wyrażenia lambda doprowadzą do wzrostu popularności programowania funkcyjnego w Javie, tak jak to się stało już w JavaScripcie, Scali i Clojure.

r   e   k   l   a   m   a

Inne ważne zmiany w języku to referencje metod (czyli sposób na traktowanie statycznej metody jako funkcji, która może być przekazana innej funkcji), strumienie (dostarczające iteracje leniwych wartości po kolekcji czy określonym zasięgu, pozwalające je przetwarzać równolegle i łączyć z wyrażeniami lambda), czy metody rozszerzeń (dzięki którym można dodawać nowe metody do interfejsów Javy bez konieczności rekompilowania klas implementujących te interfejsy).

Warto zwrócić też uwagę na nowy silnik JavaScriptu w Javie 8, o nazwie Nashorn, który powinien jeszcze bardziej upowszechnić wykorzystanie tego głównie przeglądarkowego języka po stronie serwerów. James Donelan uważa, że Nashorn może przyciągnąć do Javy i jej wirtualnej maszyny zupełnie nową klasę programistów, do tej pory od niej stroniących.

Większe bezpieczeństwo Javy 8 ma zapewnić domyślne włączenie protokołu TLS 1.2 po stronie klienta, wykorzystanie silniejszych algorytmów do szyfrowania z użyciem haseł, nowe mechanizmy zarządzania kluczami, czy lepsze wsparcie dla generacji liczb losowych o wysokiej entropii.

Ciekawe wygląda też OpenJFX, czyli JavaFX dla otwartego środowiska uruchomieniowego OpenJDK. Jak wiadomo, JavaFX miałaby w przyszłości zastąpić trącącego już nieco myszką Swinga jako domyślna biblioteka interfejsu użytkownika, zarówno dla aplikacji desktopowych jak i przeglądarkowych. Jej wprowadzenie do OpenJDK otwiera drogę do budowania w JavieFX interfejsów zintegrowanych środowisk deweloperskich. A jeśli zaś już o narzędziach deweloperskich mowa, to wsparcie dla Javy 8 zapewniają już najpopularniejsze IDE: NetBeans 8, Eclipse 4.3.2 i IntelliJ 13.1.

Oracle nie zdołało jednak w pełni zaspokoić oczekiwań społeczności. Donelan przypomina o projekcie Jigsaw, który miał przynieść programistom coś, o co proszą od lat, czyli większą modularność języka, jednak nie zdołał trafić do Javy 8. Oznacza to według eksperta, że wciąż platformę Java trapić będą problemy z zależnościami uruchomieniowymi i interoperacyjnością. W tej kwestii deweloperzy Javy mają mieć jeszcze wiele do zrobienia.

JRE (środowisko uruchomieniowe) Javy 8 w wersji dla Windows możecie już znaleźć w dziale Dodatki > Biblioteki i inne dodatki naszego repozytorium. Jest tam też dostępny pakiet JDK, niezbędny programistom (osoby chcące tylko uruchamiać aplikacje napisane w Javie nie muszą go instalować).

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.