Java 10 oficjalnie dostępna

Java 10 oficjalnie dostępna
2
Wibowit napisał(a):

Boisz się używać bibliotek?

Czyli ułomny język to plus. Lepiej używać bibliotek napisanych przez innych, żeby zamaskować ograniczenia języka. W javie od zawsze tak jest - lambd nie było, to biblioteka retrolambda i jeszcze z 5 innych, kolekcje biedne to Google zrobił Guava Collections itd itp itd. Tak można bez końca.

Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:18 minut
2

Czemu plus? To, że jest inaczej niż w C# to nie zbrodnia. Nowe bajery powinny być po to, by rozwiązać jakiś konkretny problem, a nie kopiować składnię z C# dla samego kopiowania.

Adnotacjami Lomboka da się załatwić dużo więcej niż same propertiesy - Lombok generuje buildery, konstruktory, hashCode, equalsa, toStringa itp itd Do tego też chciałbyś ekstra składnię czy może już nie, bo C# takiej nie ma?

Mam wrażenie, że dla C#-owców jedynym słusznym kierunkiem rozwoju Javy jest upodabnianie jej do C#-a. Jak coś jest inaczej to jest źle.


"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.
edytowany 7x, ostatnio: Wibowit
Azarien
C# ma goto, a Java nie. Koniecznie trzeba dodać goto do Javy :-)
KA
sama prawda w tym komentarzu
SP
@Azarien tu akurat Java jest fajniejsza bo zamiast goto pozwala nadawać pętlom etykiety
P7
  • Rejestracja:ponad 9 lat
  • Ostatnio:6 dni
  • Lokalizacja:Warszawa
  • Postów:89
1

Biały Lew,

ok to wszysttko się zgadza, ale te ułomności to pewien kompromis. Dla biznesu i ludzi którzy decydują w co władować korporacyjne miliony, nie jest najważniejsze czy dany język ma taki czy taki ficzer tylko pewna przewidywalność samego języka , dostępności programistów itp. Przykładowo:

Kopiuj
new Thread(()-> System.out.println("backward compatibility"));

Thread był jdk 1.0, lambdy niemal 20 lat póżniej

edytowany 1x, ostatnio: Pablitto77
1
Wibowit napisał(a):

Czemu plus? To, że jest inaczej niż w C# to nie zbrodnia. Nowe bajery powinny być po to, by rozwiązać jakiś konkretny problem, a nie kopiować składnię z C# dla samego kopiowania.

Adnotacjami Lomboka da się załatwić dużo więcej niż same propertiesy - Lombok generuje buildery, konstruktory, hashCode, equalsa, toStringa itp itd Do tego też chciałbyś ekstra składnię czy może już nie, bo C# takiej nie ma?

Mam wrażenie, że dla C#-owców jedynym słusznym kierunkiem rozwoju Javy jest upodabnianie jej do C#-a. Jak coś jest inaczej to jest źle.

To nie jest "coś inaczej". To niezależne osoby dopisały te biblioteki, żeby niedociągnięcia i braki samego języka były chociaż trochę mniej uciążliwe. Tak jest z Lombokiem, tak było z Retrolambda, tak jest z Guavą itd itp

R3id4k
Apache Commons ? ... A sorki Wibowit niżej już wyjaśnił ...
Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:18 minut
3

No i chwała im za to. Zrobili i gotowe.

Niedociągnięć w każdym języku można znaleźć co najmniej miliard. Tobie nie podoba się brak propertiesów, komuś innemu na propertiesach w ogóle nie zależy, ale chciałby coś innego. Nawet gdyby propertiesy były to i tak klasy usiane byłyby automatycznie wygenerowanymi equalsami, toStringami itd, więc i tak byłoby dziadostwo. Lombok załatwia sprawę kompleksowo, nie jest półśrodkiem.

Możesz rozjaśnić o co chodzi z Guavą? Jak dla mnie to biblioteka jak wiele innych, np Apache Commons: https://commons.apache.org/ - te też są niby dowodem na ułomność Javy? A może do biblioteki standardowej Javy wrzućmy miliard klas, każdy będzie miał coś dla siebie.

Retrolambda natomiast wygląda mi raczej na ciekawostkę niż sensowne podejście. Wsteczna kompatybilność w Javie polega na tym, że można przestarzały (ale działający, więc cenny) kod odpalić na nowych wersjach Javy. Odpalanie nowego kodu Javowego na przestarzałych wersjach Javy moim zdaniem mija się z celem, no chyba że u kogoś upgrade Javy jest tak bolesny, że woli kombinować jak koń pod górę.


"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.
edytowany 4x, ostatnio: Wibowit
KA
Odpalanie nowego kodu Javowego na przestarzałych wersjach Javy moim zdaniem mija się z celem, no chyba że u kogoś upgrade Javy jest tak bolesny, że woli kombinować jak koń pod górę. okey racja, ale kiedy istnieje cały wielki ekosystem napisany w Java 1.6 a biznes nie wyraża zgody na przejście na Java 10 albo chociaż Java 8 to byłoby fajnie móc pisać w nowym stylu. Ten problem rozwiązuje Kotlin..
Michał Sikora
Michał Sikora
Trochę nie rozumiem tego ataku na Retrolambdę. Czasami upgrade jest bolesny, bo biznes nie pozwala. Czasami jest niemożliwy, bo ekosystem nie pozwala. Na Androidzie Retrolambda była przez długi czas zbawieniem, bo nie trzeba było pisać Pana Tadeusza w kodzie. Teraz na szczęście jest Kotlin albo desugar/D8, ale i tak Retrolambda była/jest bardzo użyteczna i przydatna.
S9
  • Rejestracja:ponad 10 lat
  • Ostatnio:7 miesięcy
  • Lokalizacja:Warszawa
  • Postów:3573
1

Myślę akurat że istnienie pierdylardia bibliotek do Javy to tylko jej spora zaleta :)


"w haśle <młody dynamiczny zespół> nie chodzi o to ile masz lat tylko jak często zmienia się skład"
FI
FI
  • Rejestracja:około 10 lat
  • Ostatnio:około 4 lata
  • Postów:471
1

co do lombkowa, to czy wam tez sie wykladal srednio ~2 dni w intellij? normalnie dzial, zadnych zmian, odpalasz a tu taki CHVJ,

KA
dziala bez problemu
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 4 godziny
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4709
2

Nie mam większych problemów z działaniem Lomboka. Działa ok. Tylko ta cała składnia, niestety powoduje odruchy:
Lombok


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 2x, ostatnio: jarekr000000
Wibowit
To, że istnieją lepsze alternatywy nie znaczy, że Lombok jest kiepski. No chyba, że ktoś jedną klasę adnotuje Lombokiem, Hibernatem, Springiem, JAXB i innymi rzeczami naraz - wtedy adnotacje Lomboka pogarszają sprawę. Ale to nie wina Lomboka, że ludzie robią klasy do wszystkiego.
Michał Sikora
Michał Sikora
Mam podobnie. Lombok fajnie, fajnie, ale kiedy na niego patrzę to jak z obrazka. Wolę już trochę więcej kodu samemu napisać i korzystać z AutoValue, jeżeli nie można np. z Kotlina.
WA
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 5 lat
  • Postów:2
0

w koncu :)

WhiteLightning
  • Rejestracja:prawie 14 lat
  • Ostatnio:około 3 godziny
  • Postów:3187
0

Kojarzycie czy da sie ustawic jakos w Intellij zgodnosc z Java 10? (u mnie maks 9ke pokazuje).

R3id4k
Na razie chyba tylko EAP ma wsparcie.
KA
  • Rejestracja:około 7 lat
  • Ostatnio:około 5 lat
  • Postów:30
0

Post zamienił się w konflikt C# vs. Java :) To ja dołożę swoje jako początkujący uczący się programista :) Poznaje C# (asp.net mvc, Entity Framework, Linq) i Jave(Spring Hibernate itp.) Do wyboru języka jest mam parę kryteriów

  1. Ogłoszeń o prace. W mojej okolicy w ostatnim czasie przeważa minimalnie Java. C# trochę mniej, ale jest jedno ale. Większość na Jave to utrzymanie aplikacji - co z tego, że jest Java 9, 10 i niedługo 11, jak z tego nie skorzystam przy utrzymaniu czy rozbudowie systemu? W C# ogłoszeń nie wiele mniej z tą różnicą, że do nowych projektów (np. nowy system dla jednego z banków).
  2. IDE. C# to VS 2017, a Java IntelliJ (ultimate) Jedno i drugie jest spoko, ale przyjemniej pracuje mi się w VS. Lepiej mi się je ogarnia. Jest chyba bardziej ustawne i chyba bardziej uporządkowane.
  3. Sam język. Jak ktoś słusznie zauważył C# to taka udoskonalona Java
1

No to Java... Czy moze olac i jednak Kotlin? ;)

Zobacz pozostałe 3 komentarze
jarekr000000
Ta statystyka wiele mówi dla programistów idących w ilość ofert, a nie jakość. Dla firm idących na ilość - również.
KA
Jakbym zatrudnial kotlinowca to liczylbym, ze zatrudniam doswiadczonego java deva co poznal kotlina. Oczekiwalbym tez, ze sie taki lubi uczyc i nie zatrzymal w rozwoju.
vpiotr
@jarekr000000: zdefiniuj pojęcie "programista idący w ilość ofert". Taki co lubi mieć wybór i oferty dostosowane do potrzeb?
KA
Mnie by interesowal Kotlin ale troche sie obawiam, ze np. zdechnie za 2 lata i stanie sie dlugiem publicznym. Ale na chwile obecna Kotlin raczej zostanie z nami na dlugo.
jarekr000000
@vpiotr no właśnie wybór dużej ilości w tym przypadku szczególnie niekoniczenie oznacza komfort. Java to jednak dużo starego syfu, ja przyznaję, że nawet ten syf lubię naprawiać, ale mam wrażenie, że jestem wyjątkiem. Co więcej w tym konkretnym przypadku (Kotlin), jęsli firma zaczyna w 2018 nowe projekty w Javie, a nie Kotlinie to od razu słabo świadczy o podejściu do technologii.
R3id4k
  • Rejestracja:prawie 8 lat
  • Ostatnio:prawie 4 lata
  • Postów:175
2

Nowe IntelliJ 2018 do pobrania. Zaraz sprawdzam, czy wspiera w pełni 10 :)

:)

screenshot-20180327222028.png

edytowany 1x, ostatnio: R3id4k
S1
Dzięki za info. :)
Tenonymous
  • Rejestracja:prawie 8 lat
  • Ostatnio:21 dni
  • Postów:425
0

I co, śmiga Java 10?

WhiteLightning
  • Rejestracja:prawie 14 lat
  • Ostatnio:około 3 godziny
  • Postów:3187
0

Smiga. Chociaz u mnie cos sie w Intellij przycielo po zmianie na Java 10 i musialem zrebootwac IDE bo wczesniej gdy chcialem uzyc tej nowej konstrukcji z var wyskakiwal blad ze IDE nie wie co to jest.

Tenonymous
w jaki sposob? u mnie ten sam problem
R3id4k
W mnie zadziałało od razu, dziwne.
WhiteLightning
@Tenonymous: jak w ustawieniach SDK wybiera sie zgodnosc z wersja javy, tam byly dwa wpisy dla 10, przelaczylem, reboot i poszlo.
Tenonymous
faktycznie, byla taka opcja :D dzieki :D
0

Czy Java 10 szybciej kompiluje programy względem wersji Java 8?
Czy programy napisane z książki Java 8 skompilują się poprawnie pod Java 10?
Jak wgrać Java 10 pod Linux Mint 18.3?

Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:18 minut
2

Jeśli dopiero zaczynasz przygodę z Javą to łatwiej będzie zacząć od Javy 8.


"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.
R3id4k
  • Rejestracja:prawie 8 lat
  • Ostatnio:prawie 4 lata
  • Postów:175
0

Jak ktoś mógł uczestniczyć "na żywo" to jest już dostępne nagranie >>> JetBrains Webinar: IntelliJ IDEA and Java 10

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.