Java 11 - dostępna od jutra

0

Cześć! Co prawda niewiele minęło od wydania 10 (marzec tego roku), a tu już wchodzi 11. Czy czekaja nas nas jakieś duże zmiany?
Już wcześniej się o tym pisało i mówiło - Oracle kończy z wydawaniem Oracle JDK za darmo do użytku komercyjnego na początku 2019 (do użytku osobistego nadal będzie za free). Firma w ogóle nie wyda darmowego JDK 11 do zastosowań komercyjnych. Tak - jeśli chcesz mieć implementację Javy od Oracle, będziesz płacić. To info dla dużych korpo, bo dla mniejszych projektów jest rozwiązanie tej sytuacji - OpenJDK wydawane na licencji GPL.

O nowościach jakie oferuje Java 11 i czy warto zrobić upgrade -> https://bulldogjob.pl/news/440-java-11-nowa-wersja-dostepna-od-jutra
Tutaj też ciekawe źródełko -> http://www.java-countdown.xyz/

0

Co prawda Oracle kończy z udostępnianiem swojego JDK za darmo w styczniu 2019, ale licencja komercyjna gwarantuje rozwój tej wersji aż do marca 2022 i przedłużone wsparcie do marca 2025. To naprawdę dużo czasu.

Czyli po 01.2019 nie będę mógł pobrać Javy 8 ?

3

Hue hue Elisson zmienia jacht :-)

0

To info dla dużych korpo, bo dla mniejszych projektów jest rozwiązanie tej sytuacji - OpenJDK wydawane na licencji GPL.

Wpisujmy korpo, którym nie wystarcza OpenJDK 11. Oczywiście z realnym uzasadnieniem, typu: "w projekcie musimy używać tego i tego, a jest to dostępne tylko w Oracle JDK".

0

A jest już jakiś tutorial do Javy 11, chcę się od razu uczyć wszystkich tych nowości, a nie zatrzymać się na Javie 8. Książek nie kupuję ponieważ zatrzymały się na Javie 8, od biedy Javie 9. Jeżeli nie ma żadnego kursu to wybiorę Kotlina.

0

A co teraz z JavaFX od wersji Java 11 ma nie być wsparcia?

0

Hej. Treść wątku jest nie do końca prawdziwa.
Szczególnie informacja podana przez autora wątku - jest nieprawdziwa:

Firma w ogóle nie wyda darmowego JDK 11 do zastosowań komercyjnych. Tak - jeśli chcesz mieć implementację Javy od Oracle, będziesz płacić.

Polecam artykuł:
https://itnext.io/java-is-still-free-c02aef8c9e04

Znajdziemy tam m.in. informację:

Oracle JDK 8 is undergoing the “End of Public Updates” process, which means there are no longer free updates for commercial use after January 2019. However, since Java SE 9, Oracle is also providing Oracle’s OpenJDK builds which are free for commercial use, and there are free OpenJDK builds from other providers like AdoptOpenJDK, Azul, IBM, Red Hat, Linux distros et al.

Wartym podkreślenia faktem jest to, że Oracle OpenJDK ma następujące ograniczenie:

NOTE: Oracle plans to provide updates for its Oracle OpenJDK builds for two quarterly updates and then transition users to the next version, every six months (this includes LTS versions).

Zatem inni dystrybutorzy OpenJDK (np. AdoptOpenJDK) będą warci do wzięcia pod uwagę.

0

@Koziołek @jarekr000000 @scibi92 Jak to niby teraz będzie wyglądało? Czy firmy zaczną płacić? Czy będą wolały migrować?

1

Jak ktoś będzie chciał płacić za wsparcie to będzie mógł używać Oracle JDK. Jeśli nie będzie chciał płacić to zostaje OpenJDK. Trzeba coś więcej wyjaśniać? Używanie Oracle JDK nie jest obowiązkowe.

2

Część firm od dawna płaci za support.
Szczególnie IBMowi za jave 6. (Dzięki starym webspherom).
Z moich klientów to taki bank na 100% weźmie płatny support. To ich tylko ucieszy. Reszta już jest na openjdk.

1

@Burdzi0: Oracle będzie miał swoje oficjalne JDK, które będzie komercyjne i które będzie bazować na otwartym i darmowym OpenJDK. W praktyce wraca więc model z przed kilku lat, gdy Oracle miało komercyjne JDK bazujące na otwartym HotSpocie. Teraz jedyna różnica jest to, że wynieśli darmowe JDK poza swoją firmę, co nie będzie powodować problemów organizacyjnych.

0

Zastanawiam się, czemu ciągle mowa o licencji na JDK, a nic się nie pisze o JRE. Użytkownicy programów Javowych ściągali zawsze tylko JRE. Ze stron oraclowych JRE zniknęło, ostatnie jest do wersji Java 10. Brak jakby oficjalnego stanowiska w tej sprawie. Choć w cache Google'a do strony JDK 11 Early-Access Builds - Java.net, ciągle jeszcze można zobaczyć fragment takiego tekstu:

Notes. Oracle will no longer offer a stand-alone JRE for desktops. Starting with JDK 11 Oracle will only produce a JDK and a Server JRE. The Alpine Linux build ...

Ciekawe. Może zdjęli ten tekst dlatego, że już nie chcą oferować nawet tego "Server JRE"? W downloadach Javy 11 nie widać żadnego JRE. Cały czas myślałem, że JRE "rozwiązuje" sprawy licencji. Bierzesz jara, którego ktoś zbudował na OpenJDK, instalujesz na oraclowym JRE i po problemie. No i teraz jest po problemie w inny sposób - nie ma JRE :)

0

Oracle chce chyba przerzucić obowiązek aktualizacji JRE na producentów oprogramowania w Javie. Zamiast modelu w którym Java-firma produkuje JARa, a użytkownik aktualizuje swoje JRE, Oracle chce by Java-firma produkowała instalatory aplikacji z wbudowanym JRE i własnym mechanizmem aktualizacji.

Taki JetBrains od dawna dystrybuuje IntelliJa z wbudowanym OpenJDK i to nawet zmodyfikowanym. Nie ma problemów z aktualizacją, uruchamianiem, wieloma wersjami obok siebie, itd

0

@Wibowit zawsze krytykujesz języki skryptowe, że mają "Kacze Typowanie", a patrz co tu pisze, Twoja ulubiona Scala jest wymieniona :)
pl.wikipedia.org/wiki/Duck_typing

0

Jeśli użyjesz kaczego typowania, czy to poprzez typ Dynamic czy przez structural typing to w domyślnej konfiguracji kompilator będzie wypluwał feature warning.

Dynamic jest używany chyba tylko w Scala.js. Tam spełnia swoją rolę znakomicie, bo API JavaScriptowe jest kaczo typowane, a jakoś otypowaną nakładkę trzeba zrobić. js.Dynamic jest takim pomostem. Działa to znacznie lepiej niż pisanie kodu w komentarzach jak to się odbywa w Google Web Toolkit.

Structural typing to natomiast raczej egzotyka. Używany głównie z powodu lenistwa, bo komuś nie chciało się robić nowej klasy i zamiast:

class Ccc {
  val a = ???
  def b = ???
}
val ooo = new Ccc

zrobił sobie:

val ooo = new {
  val a = ???
  def b = ???
}

Czasami służy np do zaimplementowania automatycznego zarządzania zasobami, czyli emulacji try-with-resources bez interfejsu AutoCloseable, ale to jest obejście ograniczeń starej wersji Javy, a nie często używane narzędzie.

W ogólności 99%+ kodu Scalowego nie ma nic wspólnego z kaczym typowaniem (co najwyżej jest stringly typed).

0

Podobno Java 11 w końcu dorobiła się var wow! P.S. wszystko fajnie, Java8 porzucona, a Android ciągle używa Javy 8 i na zmiany się nie zanosi.

1

Na wszelki wypadek warto sobie ściągnąć chyba jre/jdk 8.
Oracle JDK 11 nie jest czasami tylko dla developerów?

https://blog.joda.org/2018/09/do-not-fall-into-oracles-java-11-trap.html

0

Jak ma się sprawa z JEE w JDK11? Wiem, że to już wyleciało, ale jest jakieś zastępstwo za to?

0
Johny Mielony napisał(a):

Jak ma się sprawa z JEE w JDK11? Wiem, że to już wyleciało, ale jest jakieś zastępstwo za to?

Po prostu wyrzucili z JDK moduły CORBA i JAX-B, ale to i tak bez znaczenia bo chyba żaden serwer nie wspiera oficjalnie niczego ponad Javę8. A nawet gdyby to te moduły musiałyby być po prostu dostarczone razem z serwerem aplikacyjnym.
Tak w ogóle to ładnie odchudzili tą wersję- prawie dwukrotnie mniejsza paczka. Czy to możliwe że JavaFX aż tyle zajmowała?

0
Johny Mielony napisał(a):

Jak ma się sprawa z JEE w JDK11? Wiem, że to już wyleciało, ale jest jakieś zastępstwo za to?

Programowanie jak ludzie. To jest dobre zastepstwo. Mam nadzieje, że Jakarta EE zgnije szybko.

0

Wracając do tematu, przeczytałem Oracle JDK Licence i jest tam fragment:

Oracle grants You a nonexclusive, nontransferable, limited license to internally use the Programs, subject to the restrictions stated in this Agreement and Program Documentation, only for the purpose of developing, testing, prototyping and demonstrating Your Application and not for any other purpose.

i dalej:

Further, You may not:

  • use the Programs for any data processing or any commercial, production, or internal business purposes other than developing, testing, prototyping, and demonstrating your Application;

nie wiem czy dobrze to interpretuję:

  1. jak ściągnę Oracle JDK to mogę sobie napisać program, przetestować, machnąć jakiegoś prototypa i pochwalić się szefowi jaki fajny stworzyłem i potem go wyrzucić bo szef przechodzi w fazę czajnika na gazie (czerwony syczy i para z niego bucha buch buch...) jak trzeba będzie zapłacić za licencję.
  2. jak sobie ściągnę wersję OpenJDK to rozumiem, że nie mam żadnych ograniczeń co do wykorzystania komercyjnego mojego programu (poza tym co narzuca GPL)

I pytanie czy JRE zostało zintegrowane z JDK bo nie widzę w paczce z openjdk jakiegoś oddzielnego katalogu?

1

@kulson a skąd masz takie informacje, że Android używa Javy 8? ostatnio zatrzymał się na Javie 6 z dodatkami tylko z Javy 7. Podaj jakieś źródło, że najnowszy Android używa już w pełni, pełnej Javy 8 i jej wszystkich nowinek?

2

W treści pierwszego posta autora tego wątku nadal jest wprowadzenie w błąd.

Bulldogjob napisał(a):

Cześć! Co prawda niewiele minęło od wydania 10 (marzec tego roku), a tu już wchodzi 11. Czy czekaja nas nas jakieś duże zmiany?
Już wcześniej się o tym pisało i mówiło - Oracle kończy z wydawaniem Oracle JDK za darmo do użytku komercyjnego na początku 2019 (do użytku osobistego nadal będzie za free). Firma w ogóle nie wyda darmowego JDK 11 do zastosowań komercyjnych. Tak - jeśli chcesz mieć implementację Javy od Oracle, będziesz płacić. To info dla dużych korpo, bo dla mniejszych projektów jest rozwiązanie tej sytuacji - OpenJDK wydawane na licencji GPL (...)

Otóż nieprawda. Oracle wyda darmowe JDK 11 do zastosowań komercyjnych. Już wydał:
http://jdk.java.net/11/

Darmowe JDK 11 od Oracle nazywa się "Oracle OpenJDK" (nie należy mylić z "Oracle JDK") i jest dostępne pod licencją "GNU General Public License, version 2, with the Classpath Exception.". "Oracle OpenJDK" można pobrać ze wspomnianej strony ( http://jdk.java.net/11/ ). Warto tutaj wspomnieć o ograniczeniu "Oracle OpenJDK" - mianowicie Oracle będzie budował tę wersję JDK do 6 miesięcy od premiery nowej wersji Javy. Ograniczony 6-miesięczny okres budowania "Oracle OpenJDK" to pole do działania społeczności OpenJDK, czy też różnych instytucji, którym zależy aby przez długi czas budować oraz co najważniejsze - portować bugfixy z nowszych wersji do starszej wersji Javy. Stąd już teraz są popularne buildy OpenJDK od społeczności/instytucji.

Ponadto "duże korpo" również korzystają z OpenJDK.

Dodatkowe źródła wiedzy:
-> oficjalne stanowisko "Java Champions community of independent Java leaders and experts":
https://itnext.io/java-is-still-free-c02aef8c9e04

-> skąd nazwa "Oracle OpenJDK"?
https://blogs.oracle.com/java-platform-group/oracle-jdk-releases-for-java-11-and-later
(jedną z kluczowych części artykułu jest ostatnia sekcja "What should we call them?")

0

Jak według was ta Java 11 wygląda względem Kotlina? Nadal lepiej wybrać Jave na pierwszy język, a potem przesiadka na Kotlina, czy od razu można zaczynać od Kotlina?

0
Wielki Lis napisał(a):

Jak według was ta Java 11 wygląda względem Kotlina? Nadal lepiej wybrać Jave na pierwszy język, a potem przesiadka na Kotlina, czy od razu można zaczynać od Kotlina?

Masz OCA dla Kotlina?
Książkę Effective Kotlin?
Javę 8 na Androidzie w całości?
Kursy Springa w Kotlinie?

0

"Przecież dla takiej zielonki java to mega wyzwanie i przygoda życia :-) - Aryman1983 "

Czyli to chyba wszystko w temacie, potwierdziłeś, tym, że Java jest sporo trudniejsza i Kotlin dużo ułatwia na start.

1
vpiotr napisał(a):

Masz OCA dla Kotlina?

Na szczęscie nie.

Książkę Effective Kotlin?

Duża częśc książki effective Java nie ma sensu w Kotlinie, bo kotlin łata te problemy, które w Javie trzeba łatać dyscypliną (immutability , nulle itp np.)

Javę 8 na Androidzie w całości?

Nie, ale uważam, że akurat ten android i kotlin to tylko ciekawa nisza. Dla mnie nieistotna.

Kursy Springa w Kotlinie?

To nietrafione.
Najnowszy Spring 5 jest chyba bardziej reklamowany Kotlinem niż javą.

W zasadzie większość prezentacji Josha Longa i innych guru Springa jest obecnie robione w Kotlinie.

Poradników tez już dużo.
https://www.baeldung.com/spring-webflux-kotlin

Są nawet nowe projekty, które pokazują co można zrobić ze springiem w kotlinie, czego się zupełnie nie da w javie.
https://github.com/spring-projects/spring-fu

0
jarekr000000 napisał(a):

Książkę Effective Kotlin?

Duża częśc książki effective Java nie ma sensu w Kotlinie, bo kotlin łata te problemy, które w Javie trzeba łatać dyscypliną (immutability , nulle itp np.)

Nie chodzi o tricki załatwiające braki Javy tylko ogólnie o poradnik jak lepiej sobie radzić z językiem.
Masz Effective Java, Effective C++, Effective Python, Effective JavaScript, Effective Fortran.
(nie chodzi o tytuł tylko o formę).
Język uznany na rynku ma takie rzeczy (oczywiście nie każdy). Młodsze języki muszą na to czekać.

Kursy Springa w Kotlinie?

To nietrafione.
Najnowszy Spring 5 jest chyba bardziej reklamowany Kotlinem niż javą.

Chodziło mi bardziej o kursy (4h+) a nie tutoriale (15 min).

4
vpiotr napisał(a):

Nie chodzi o tricki załatwiające braki Javy tylko ogólnie o poradnik jak lepiej sobie radzić z językiem.
Masz Effective Java, Effective C++, Effective Python, Effective JavaScript, Effective Fortran.
(nie chodzi o tytuł tylko o formę).
Język uznany na rynku ma takie rzeczy (oczywiście nie każdy). Młodsze języki muszą na to czekać.

Z najnowszej edycji Effective java jakaś tam częśc rzeczy jest złatwiana przez język : https://blog.kotlin-academy.com/effective-java-in-kotlin-obsolete-items-thanks-to-kotlin-items-3-4-16-40-61-from-3rd-edition-31952da308f4 A reszta pewnie nie, i miałoby sens napisanie Effective Kotlin.

To racja, ale jest tez druga strona medalu.

Java = 20lat na rynku i ma tony poradników. 95 % z nich przestarzałych i prezentuje techniki obecnie uznawane za antypatterny. Z frameworkami jest chyba jeszcze gorzej.
Programiści Javy, jakich spotykam, uczą się z ksiązek znalezionych (chyba) w antykwariatach (Thinking in java edycja 2). Zresztą na tym forum to widać. Biedny @Julian_ czego nie ruszy to z jakiegoś muzem ukradzione. Ale nie tylko poradniki są problemem, mamy również architektów i seniorów jednego projektu, którzy często narzucają średniowieczny styl programowania. Do tego zawsze mogą znaleźć setki artykułów potwierdzających, że tak właśnie trzeba :-) Witki opadają. Co gorsza zwykle ksiażki w momencie wydania są już przestarzałe, takie mamy ciekawe czasy.

Dlatego jakiś czas temu wyniosłem się na Scalę (nieskutecznie), bo już nie mogłem patrzeć na JavaBeany.

Dlatego kiedyś dawno temu wyniosłem się z całkiem dobrego języka C++, który miał wszystko - lekko funkcyjny stl, boost, automatyczne zarządzanie pamięcią(!) do prymitywnej (masakrycznie) Javy 1.2... bo już nie mogłem patrzeć na (void*), które sadzili wtedy prawie wszyscy (końcówka lat 90tych).

Nowy jezyk to ucieczka od tego całego syfu : przestarzałych poradników, przestarzałych programistów. W przypadku Kotlina i Scali to dość ważny element, wielu znajomych ma tą samą motywację.
Cena za to jest taka, że więcej uczymy się z blogów, oficjalnej dokumentacji niż z gotowych książek.

Chodziło mi bardziej o kursy (4h+) a nie tutoriale (15 min).

Jeśli długośc kursów ma stanowić - to zdecydowanie wygrywa Java EE z Webspherem. Po czterech dniach szkolenia można zrobić mniej wiecej tyle, co po 5 godzinach kursu Java+ Spring/ Spring Boot. (przy czym oczywiście ani te 4 dni, ani te 5 godzin programisty nie robi - to tylko warsztat).

Oczywiście 15 minut kotlina to pewnie mało, ale taki celem tych projektów typu : SpringBoot + Kotlin, spring fu, żeby wejście było mega proste. Z kotlinem się da to upraszczać lepiej niż z javą. Pozostałe kilka godzin można sobie pooglądać jakiś fajny film(np.:Wichrowe wzgórza).

I żeby nie było:
Oczywiście na udemy są kursy Kotlina (również w połączeniu ze Springiem) po 8-15 godzin. Z samego kotlina jest 55 kursów po angielsku (tych dłuższych niż 3 godziny, jeśli ktoś chce zrezygnować z oglądania Wichrowych Wzgórz).

EDIT:
Najgorsze, że zostaje faktycznie forumowym fanbojem i obrońcą Kotlina, a to naprawdę dla mnie : mniejsze zło. Sam, w swoich domowych projektach go raczej nie używam. Zbyt prostacki.

0

Masz racje jarek, jak tu nadal ludziom polecają Java Rusz głową z Java 5 na czele i klepią po ramieniu, spokojnie nowego standardu się douczysz. Zapomnieli o tym, że wielu ludzi z C++ nadal nie pisze w nowszym stylu niż C++11. Ponieważ to co im weszło w nawyk, tak pozostało.

1 użytkowników online, w tym zalogowanych: 0, gości: 1