Java 11 - dostępna od jutra

Java 11 - dostępna od jutra
Bulldogjob
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 5 lat
  • Postów:31
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/

SZ
Ale zmina licencji oznacza, że również nie możemy robić developmentu na JDK 11 (gdzie JDK nap wymaga Maven), czy nie możemy używać JDK na produkcji jako runtime dla serwerów
Bulldogjob
@Szczery: Jak chodzi o development komercyjny, to licencja jest wymagana, tak samo w przypadku runtime. Jeżeli chodzi tylko i wyłącznie o używanie np. Mavena, to zdaje się, że tu nie ma problemu - ale i tak do tego celu bezpieczniej używać OpenJDK.
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 ?

Bulldogjob
Będzie można pobrać Javę 8, ale zmieni się jej licencja. To co teraz nazywa się Java SE stanie się Oracle Java SE.
Aryman1983
  • Rejestracja:prawie 15 lat
  • Ostatnio:prawie 4 lata
  • Lokalizacja:Pabianice
  • Postów:255
3

Hue hue Elisson zmienia jacht :-)

Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około 2 godziny
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".


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
Aryman1983
Aryman1983
to nie jest tak, że do tej opłaty licencyjnej dołożony jest support?
Wibowit
jeszcze nie słyszałem, by ktokolwiek z tego wsparcia korzystał
OtoKamil
To nie jest tak, że np. banki muszą mieć zagwarantowane wsparcie nawet jeśli z niego nie skorzystają, bo są instytucją i takie są od nich wymagania?
Wibowit
Nie. Sam pracuję w banku i przy wyborze bibliotek czy narzędzi wsparcie nie jest żadnym kryterium. Używamy wielu otwartoźródłowych bibliotek i narzędzi i jakoś to działa.
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.

hcubyc
róznice miedzy java a 8 ogarniesz w max tydzień dzieki tutorialom z sieci.
0

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

MA
  • Rejestracja:ponad 12 lat
  • Ostatnio:około 3 lata
  • Postów:166
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ę.

edytowany 3x, ostatnio: Marszal
Burdzi0
  • Rejestracja:prawie 9 lat
  • Ostatnio:5 miesięcy
  • Lokalizacja:Futurama
  • Postów:887
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ć?


Bite my shiny metal ass!
Life throws you an error code like that, you don't have the luxury of a ZnVja2luZw== pop-up explanation *Robię projekty studenckie, pisz priv ;) *
Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około 2 godziny
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.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 4 godziny
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4706
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.


jeden i pół terabajta powinno wystarczyć każdemu
Koziołek
Moderator
  • Rejestracja:prawie 18 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Stacktrace
  • Postów:6821
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.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
jarekczek
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Siemianowice Śląskie
  • Postów:500
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 :)


Przeważnie ignoruję niezarejestrowanych użytkowników.
Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około 2 godziny
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


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
Zobacz pozostałe 3 komentarze
Aryman1983
Aryman1983
@Koziołek: eee ostatnio widziałem dodaną instrukcję w txt jak pobrać jre/jdk i uruchomić z cmd. Rzeczowo i profesjonalnie.
KU
"Taki JetBrains od dawna dystrybuuje IntelliJa z wbudowanym OpenJDK" - w wersji 8?
Koziołek
@Aryman1983: rzuć okiem na sdkmana https://sdkman.io/ działa w terminalu i trzeba mieć tylko zainstalowanego curla.
Aryman1983
Aryman1983
@Koziołek: od dawna używam i nawet miałem stworzyć tutaj tutka dla zielonych, którzy mają problem z instalacją javy na linuksie. Trzy polecania w terminalu i masz javę, mavena oraz gradla :-)
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

KR
Problemem nie jest kacze typowanie tylko brak innego mechanizmu typowania niż kacze typowanie. W Scali kacze typowanie jest dodatkiem umożliwiającym jej np. transpilację do JS i współpracę z bibliotekami takimi jak React. Ale normalne programowanie w Scali opiera się na statycznych typach.
Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około 2 godziny
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:

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

zrobił sobie:

Kopiuj
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).


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
KU
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 6 lat
  • Postów:369
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.

Zobacz pozostałe 4 komentarze
vpiotr
A czy lambdowy var w jdk 11 nie pozwala czasem na użycie tej samej nazwy do zmiennej lokalnej w metodzie i do parametru lambdy, który nie ma z tą zmienną lokalną nic wspólnego?
Wibowit
Nie rozumiem co 'lambdowy var' ma z tym wspólnego. Możesz podać przykład?
vpiotr
(nie działająca) wersja dla Java 8: http://tpcg.io/K20sji
azalut
dla androida oficjalnym jezykiem nie jest przypadkiem kotlin?
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
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

Johny Mielony
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 6 lat
  • Postów:1
0

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

KU
Johny Mielony
@kulson dzięki. Szukając nie trafiłem na to. Musiałem zadawać złe pytania najwidoczniej.
SP
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 2 lata
  • Postów:127
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?

edytowany 1x, ostatnio: student pro
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 4 godziny
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4706
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.


jeden i pół terabajta powinno wystarczyć każdemu
KU
Najlepiej razem z Eclipse
jarekr000000
Modne jest nie lubienie eclipse, ale tak po prawdzie nie zdziwiłbym sie jak jeszcze do niego wrócimy. Intellij ciągle eclipsowieje. Coraz częściej mam jaja z modułami i dziwne przycinki - kojarze jak to sie działo z eclipsem. A kiedyś eclipse był taki malutki, szybki, zwinny.
KU
Nie znajduję żadnej zalety Eclipse nad InteliJ
vpiotr
Jest co najmniej jedna - ma darmowy edytor jBPM.
WL
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 6 lat
  • Postów:1
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?

KU
Kto mówił, że wszystkich? Chcesz źródła proszę bardzo: https://developer.android.com/studio/write/java8-support
MA
  • Rejestracja:ponad 12 lat
  • Ostatnio:około 3 lata
  • Postów:166
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?

vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
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?

Aryman1983
Aryman1983
cały czas mnie to dziwi co ludzie widzą w takim kotlinie. Widać po takich pytaniach, że napisali w javie z 4 klasy na krzyż oraz z jeden interfejs, a już grzebią tą javę i porywają się na kotlina. Przecież dla takiej zielonki java to mega wyzwanie i przygoda życia :-)
vpiotr
Kotlin może i jest fajny, jak bym miał uczyć się kolejnego języka JVM to pewnie wybrałbym właśnie Kotlina (ew. Clojure). Ale uczyć się JDK od zera z Kotlinem może być ciężko.
jarekr000000
Dlaczego? Kotlin jest prostszy od javy (składniowo). Oczywiście, nie ma tyle przykładów kodu w kotlinie co w javie. Ale nie ma też tyle głupich / przestarzałych przykładów (w javie jest z tym horror obecnie). IMO nauka kotlina od zera może być mniej frustrująca niż javy.
KU
Czy Kotlin w ogóle istnieje poza Androidem? Zawsze mi się wydawało, że Kotlin jest wybierany z powodu ograniczeń Javy na Androidzie, których Java nie ma poza Androidem. A dla tych, których Java poza Androidem dalej ogranicza, jest Scala, a nie Kotlin
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.

Hispano-Suiza
Kotlin duzo ulatwia na start jak juz znasz Jave. Od zera to tak nie dziala :]
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 4 godziny
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4706
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


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 1x, ostatnio: jarekr000000
Aleksander Brzozowski
"nie da w javie" - dać się da, ale wygląda to słabo 😉
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
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).

Aryman1983
Aryman1983
właśnie zwróciłem uwagę na długość tego tutka :-)
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 4 godziny
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4706
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.


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 18x, ostatnio: jarekr000000
vpiotr
Nie tylko @Julian_ ma ten problem, naprawdę ciężko znaleźć tutorial, który pokazuje to co chcesz, w Javie której chcesz używać i do tego w modnym podejściu (np. reactive functional blockchain).
jarekr000000
Żeby było śmieszniej w Scali też już jest ten problem (np. permanentne trafianie na taki sobie framework : play) ( a o ile Scala jest krócej w mainstreamie). Kotlin na razie nie zdążył się bardzo zestarzeć. (ale pewnie da radę).
Aryman1983
Aryman1983
No bo taka prawda, że nie ma co się uczyć z książek. Teraz i tak wszystko staje się przestarzałe przez modne(sic!) aspekty programowania. Otwieram pierwszą z brzegu książkę(np. https://helion.pl/ksiazki/spring-mvc-przewodnik-dla-poczatkujacych-amuthan-g,sprimv.htm#format/e) a tam już na początku konfiguracja dispatchera w xml, który ora oczy :-)
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.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)