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.

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.

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:

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

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

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

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ę.

1

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

1

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

2

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

0

w koncu :)

0

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

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? ;)

2

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

:)

screenshot-20180327222028.png

0

I co, śmiga Java 10?

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.

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?

2

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

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.