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

Java 8 debiutuje: duży krok w stronę programowania funkcyjnego, ale wciąż brak modularności19.03.2014 12:57

Java 8 doczekała się wreszcie światła dziennego. Wczoraj, wtrakcie 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 milionyprogramistów: z opublikowanych przez firmę Typesafe wynikówsondażu wśród społeczności użytkowników Javy wynikało, że54% zamierza przejść na „ósemkę” w ciągu najbliższych 12miesięcy, a 68% w ciągu najbliższych 24 miesięcy. Kuszą ichprzede wszystkim nowe możliwości opracowywanej przez Oracleplatformy.

Droga do wydania Javy 8 była zaskakująco długa. Specyfikacjęspołeczność zrzeszona w Java Community Process zatwierdziła w2010 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. Tooczywiście wina (lub zasługa) liczbyzmian, zarówno w samym języku, jak i środowisku JavaFX czynarzędziach deweloperskich – ale przede wszystkim architekturybezpieczeństwa całej platformy – czegoś, co do tej pory byłodotkliwym problemem Javy. Wbrew niektórym opiniom, nie można jednakmó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 bardziejzwarte wyrażanie instancji funkcjonalnych interfejsów. WedługMike'a Piecha z Red Hata, pozwolą one wygodniej tworzyć aplikacje wJavie dla chmur obliczeniowych i tam, gdzie ważne jest wykorzystaniewspółbieżności. Podobnie uważa analityk IDC Al Hilwa,zauważając, że wyrażenia lambda w Javie powinny być postrzeganejako część szerszych zmian, mających na celu zwiększeniemożliwości języka na nowoczesnych architekturach w zakresieparalelizacji oprogramowania. Z kolei James Donelan z firmy MuleSoftpodkreśla, że wyrażenia lambda doprowadzą do wzrostu popularnościprogramowania funkcyjnego w Javie, tak jak to się stało już wJavaScripcie, Scali i Clojure.

Inne ważne zmiany w języku to referencje metod (czyli sposób natraktowanie statycznej metody jako funkcji, która może byćprzekazana innej funkcji), strumienie (dostarczające iteracjeleniwych wartości po kolekcji czy określonym zasięgu, pozwalająceje przetwarzać równolegle i łączyć z wyrażeniami lambda), czymetody rozszerzeń (dzięki którym można dodawać nowe metody dointerfejsów Javy bez konieczności rekompilowania klasimplementują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 stronieserwerów. James Donelan uważa, że Nashorn może przyciągnąć doJavy 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łączenieprotokołu TLS 1.2 po stronie klienta, wykorzystanie silniejszychalgorytmów do szyfrowania z użyciem haseł, nowe mechanizmyzarządzania kluczami, czy lepsze wsparcie dla generacji liczblosowych o wysokiej entropii.

Ciekawe wygląda też OpenJFX, czyli JavaFX dla otwartegośrodowiska uruchomieniowego OpenJDK. Jak wiadomo, JavaFX miałaby wprzyszłości zastąpić trącącego już nieco myszką Swinga jakodomyślna biblioteka interfejsu użytkownika, zarówno dla aplikacjidesktopowych jak i przeglądarkowych. Jej wprowadzenie do OpenJDKotwiera drogę do budowania w JavieFX interfejsów zintegrowanychśrodowisk deweloperskich. A jeśli zaś już o narzędziachdeweloperskich 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 projekcieJigsaw, 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 iinteroperacyjnością. W tej kwestii deweloperzy Javy mają miećjeszcze wiele do zrobienia.

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

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.