Co z tą Scalą ?

Odpowiedz Nowy wątek
2015-10-27 22:12
eL
2

Cześć.
Pracuję jako programista Javy i sporo od różnych osób słyszę coś pozytywnego na temat Scali. Ostatnio postanowiłem prześledzić temat.
Sam język stosunkowo młody już nie jest, jednakże w internecie treści na jego temat aż tak wiele też nie znalazłem (a już na pewno nie po polskiej stronie). Nie mniej jednak kiedy zacząłem przeglądać składnię to... zakochałem się. Naprawdę, może to pierwsze wrażenie, może to że jestem jeszcze juniorem z niespełna rocznym doświadczeniem i niewiele w życiu widziałem ale składnia, elastyczność i możliwości języka niesamowicie mi się spodobały. Czytając trochę o języku znalazłem wiele pozytywnych opinii, nawet na 4p przewinęło się kilka tematów:

Ostatnio napotykam sporo opinii, że Scala jest takim świetnym językiem programowania.

(rok 2009: Scala) . Nawet na swoim blogu Pan Jacek Laskowski (notabene ceniona persona) napisał:

Rok 2015 musi być rokiem Scali w Polsce (...)
(http://jlaskowski.blogspot.co[...]-pracy-woko-jezyka-scala.html)
Jednakże jakąkolwiek wyszukiwarkę pracy zapytać o Scalę to wypluwa jedynie kilka ogłoszeń. Zdaję sobie sprawę że nie jest to żaden wyznacznik, jednakże mam wrażenie że wiele osób się zachwyca a język mimo wszystko dalej jest technologią niszową.

Chciałbym się więc zapytać, co z tą Scalą? Dlaczego pomimo tak sporego zachwytu język nie jest tak popularny? Dlaczego tak niewiele projektów (przynajmniej takie mam wrażenie) pisanych jest z wykorzystaniem Scali? Co sprawia że ludzie się nim zachwycają ale z niego nie korzystają? (Są to oczywiście tezy bez pokrycia jednakże takie odnoszę wrażenie).
Osobiście nie planuję się nagle przebranżowić, jednakże poświęcam trochę czasu dla nauki języka ponieważ sprawia mi sporo przyjemności i bardzo przypadł mi do gustu.

Jakie jest Wasze zdanie?
Pozdrawiam,
eL

jak patrzyłem kiedyś na indeed to całkiem sporo roboty w Scali w Polsce - Wizzie 2015-10-28 15:37

Pozostało 580 znaków

2017-12-08 07:40
0

Tu chyba jest najistotniejsze stwierdzenie - https://dogwood008.github.io/kotlin-web-site-ja/docs/reference/comparison-to-scala.html - "Taking this into account, if you are happy with Scala, you most likely do not need Kotlin" - ja jestem happy with scala :D

Pozostało 580 znaków

2017-12-08 09:26
1

Kotlin raczej nigdy nie był i nie jest zagrożeniem dla Scali. Może być atrakcyjny co najwyżej dla osób, które wybrały Scalę z niewłaściwego powodu tj. jako Java++ z lambdami i ładniejszą składnią.

Ale esencją Scali jest to, że pozwala budować znacznie silniejsze abstrakcje niż Java/Kotlin choćby przez to, że obsługuje typy wyższych rzędów, typowanie zależne, typeclasses, makra. Dzięki temu Scala ładnie radzi sobie w sytuacji, gdzie w takiej Javie czy Kotlinie trzeba zrobić copy-paste kodu (złamanie DRY) albo modyfikować istniejące klasy (złamanie open-closed principle), albo używać refleksji czasu wykonania. Jest to bardzo ważne dla twórców bibliotek.

Jeśli chodzi o praktyczne aspekty Scala też nie stoi w miejscu. W 2017:

  • Wsparcie IDE jest na bardzo wysokim poziomie, właściwie nie gorsze niż dla Javy. Przez ostatnie pół roku nie miałem ani jednej sytuacji aby IDE pomyliło się w podkreśleniu błędów czy zepsuło coś przy refactoringu. Szybkość też jest bardzo dobra. Zarzut, że do Scali nie ma dobrego IDE to już przeszłość.
  • Współdziałanie Scali i Javy jest na tym samym poziomie co Kotlin. Od Scali 2.12 Scala rozumie lambdy Java i na odwrót, podobnie można już generować metody statyczne dla klientów w Javie.
  • Kompilator jest szybszy niż kiedyś. 2.12 nawet o 30% szybszy od 2.11. Przy odpowiednio skonfigurowanym serwerze kompilacji i kompilacji przyrostowej czas kompilacji nie jest w praktyce problemem. Nadal nie wszystkie narzędzia niestety to wspierają - np. Gradle jest mocno w tyle za SBT, bo nie umie używać serwera kompilacji prawidłowo i tam kompilacja mocno ssie. Twitter pracuje nad dalszymi ulepszeniami kompilatora, Dotty też ma być znacznie szybszy.
  • Ekipa Oderskiego pracuje nad równoczesnym uproszczeniem języka i zwiększeniem jego ekspresywności. Pewne rzeczy, o które się można było pokaleczyć są systematycznie usuwane (np. typy egzystencjalne). Makra, które są potężne, ale trudne, też mają przejść odnowę.
edytowany 3x, ostatnio: Krolik, 2017-12-08 09:51
@Krolik: a jak to wyglada z debugowaniem duzych rzeczy w Scali? Faktycznie taki koszmar jak w internetach pisza? - WhiteLightning 2017-12-08 09:31
Ale co i gdzie piszą? Nie zauważyłem żadnego problemu z debugowaniem. Debugger działa jak trzeba. - Krolik 2017-12-08 09:49
Seliga mówił, że jest problem. A Seliga jak coś mówi, to wie, bo dużo mówi. ;) - somekind 2017-12-08 11:15
Dla niektórych stacktrace głębszy niż 5 linijek to problem nie do przeskoczenia, więc proszę o konkrety panowie :] - Wibowit 2017-12-08 14:08
Tu nawet @Krolik się wypowiedział w kwestii tego, co Seliga mówił: https://4programmers.net/Forum/Flame/261990-wojciechseliga?p=1200973#id1200973 - somekind 2017-12-08 14:22

Pozostało 580 znaków

2017-12-08 09:32
0

Pisze od kilku tygodni projekt w kotlinie - nie chciałem się bić o Scalę - stwierdziłem, ze kotlin będzie i tak OK.
Ogólnie dramatu nie ma - łatwiej jest programować Haskella w Kotlinie niż Haskella w Javie ( co mi sie do tej pory często zdarzało).

Ale brakuje najbardziej mi:

  • for comprehension

  • type projections (i wychodzi momentami dramatycznie generykowaty kod),

  • type classes: ( tego ostatniego wielu https://github.com/Kotlin/KEEP/pull/87)

  • typealiasy w kotlinie to bieda (to mnie zaskoczyło - wyczytałem, że są... i dopiero w trakcie wyszło, że tylko globalne)
    (a ja akurat lubię lokalne typealiasy bardzo)


Bardzo lubie Singletony, dlatego robię po kilka instancji każdego.
edytowany 3x, ostatnio: jarekr000000, 2017-12-08 09:34
Pokaż pozostałe 14 komentarzy
dodatkowo wątpię że ZGC pojawi się szybko - shenandoah jest już open-sourced od dawna, pokazują ją na konferencjach i działa - ZGC to tylko announcement (chociaż 6'tego wyszedł branch http://mail.openjdk.java.net/[...]dev/2017-December/000000.html - nie mam zielonego pojęcia co tam się znajduje) - rubaszny_karp 2017-12-08 14:51
A ten per-thread safepoint poll to nie jest przypadkiem coś podobnego do thread-local handshakes które ma wejść do Javy 10: http://openjdk.java.net/jeps/312 ? - Wibowit 2017-12-08 22:35
nie widziałem tego, dzięki !!! brzmi .... jak ten sam kierunek, ale Azul jest o wiele dalej, w Motivation opisują bardzo "nieskomplikowane" operacje. Chociaż ten use-case z "safer stack trace sampling " - jest trochę ... hmm .. rozwiązany - AsyncGetCallTrace i np: flamegraphs (https://github.com/jvm-profil[...]ace-errors-and-what-they-mean) nie potrzebujemy osiągać safepoint - chociaż to jest trochę hardcorowy sposób profilowania XD - rubaszny_karp 2017-12-08 22:59
jeszcze w temacie ostatnich komentarzy - już jest http://cr.openjdk.java.net/~pliden/zgc/ - rubaszny_karp 2017-12-09 14:23
pojawiła się nawet podstrona na openjdk.java.net: http://openjdk.java.net/projects/zgc/ - Wibowit 2017-12-09 18:52

Pozostało 580 znaków

2017-12-08 10:42
Błękitny Kura
1
Zakręcony Wąż napisał(a):

Scala jest świeża, ale Kotlin świeższy. Ale nie lubię Kotlina, bo ruscy wymordowali całą Polską inteligencję i nie będę wspierał ich języka programowania i ich IDE. Wybieram Scala i Eclipse/NetBeans.

Rozumiem, ze niemieckimi samochodami tez nie jezdzisz, bo wojna? Do Austrii na narty nigdy nie pojedziesz, bo Adolf? Z Ukraincami wspolpracowal nie bedziesz, bo Wolyn?

Pozostało 580 znaków

2017-12-08 11:07
0

Generalnie nie jestem fanem JVM. Nie jestem też fanem Javy, ale uważam Kotlina za lepszy język.
Próbowałem ostatnio „wyrzeźbić” w Kotlinie coś używając OpenGL-a, niestety okazało się że biblioteka wrapująca (JOGL) nieprawidłowo inicjalizuje kontekst GLa, więc wczoraj pomysł poszedł do kosza.
Ale Kotlin to fajny język. Gdyby tak wydali wersję na .NET…

edytowany 1x, ostatnio: Azarien, 2017-12-08 11:08
Spokojnie, MS jest dobry w podkradaniu dobrych pomysłów -> Java->C#, Ocaml/Scala -> F#, więc jak dasz im trochę czasu to pojawi się pewnie i .netowa wersja Kotlina. - Shalom 2017-12-08 11:29
Prędzej MS rozepcha C# tak by niewiele odstawał od Kotlina w ilości bajerów. Tych MS-owych języków na .NET wcale nie przybywa ZTCW. Te co teraz są w standardzie w .NETu istnieją od .NETa 1, a nowych od MS nie ma. Jest nawet jeden język na .NET od MS, który zdechł i nazywa się J#. - Wibowit 2017-12-08 22:32
Poza tym, jeśli chodzi o problem opisany w poście to polecam użycie https://www.lwjgl.org/ - to najbardziej rozwinięte bindingi do OpenGLa i pokrewnych API. - Wibowit 2017-12-08 23:11

Pozostało 580 znaków

2017-12-08 11:27
0
Zakręcony Wąż napisał(a):

Ale nie lubię Kotlina, bo ruscy wymordowali całą Polską inteligencję i nie będę wspierał ich języka programowania i ich IDE.

Szkoda, że wymordowali, bo może teraz więcej ludzi by wiedziało jak prawidłowo pisze się przymiotniki.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."
Pokaż pozostałe 3 komentarze
„ruscy” pełni tu funkcję rzeczownika, więc wypadałoby dużą (lub, jak kto woli, „wielką”) - Azarien 2017-12-08 14:26
Oczywiście masz rację, ale mój komentarz dotyczył przymiotnika, a nie rzeczownika. - somekind 2017-12-08 14:38
Ruscy dużą w środku zdania :D. Ta germanizacja postępuje w zastraszającym tempie. - loza_szydercow 2017-12-08 15:01
@loza_szydercow: z tego co pisałeś wcześniej raczej to powrót do gramatyki przodków - jarekr000000 2017-12-08 23:18
Ja to rozumiem i pochwalam ale po co w międzyczasie udawać że Polska wstaje z kolan? :D - loza_szydercow 2017-12-09 00:03

Pozostało 580 znaków

2017-12-09 01:55
Trzeźwy Jeleń
0
somekind napisał(a):
Zakręcony Wąż napisał(a):

Ale nie lubię Kotlina, bo ruscy wymordowali całą Polską inteligencję i nie będę wspierał ich języka programowania i ich IDE.

Szkoda, że wymordowali, bo może teraz więcej ludzi by wiedziało jak prawidłowo pisze się przymiotniki.

Szkoda że nie masz jaj poprawiać błędy zarejestrowanych użytkowników, ach ta poprawność polityczna. Zapewne nie chcesz się narazić.

Nie, wcale nie poprawiam zarejestrowanych użytkowników. :D :D :D - somekind 2017-12-09 18:24

Pozostało 580 znaków

2019-11-07 06:59
eL
0

W temacie nikt nic nie pisał przez prawie 2 lata więc jako autor wątku pozwolę sobie go odświeżyć pytając czy coś się zmieniło ostatnimi czasy w świecie Scali?
Zauważyliście jakąś poprawę jeśli chodzi o rozwój i popularność języka? Z tego co widze to trochę się poprawiło ale raczej nieznacznie (przynajmniej patrząc po ogłoszeniach). Dużo się jednak mówiło o tym że Scala znalazła nisze w postaci big data etc natomiast zastanawiam się czy rozwój i popularnośc Pythona trochę nie przykryje Scali? Kotlin też się dość mocno rozwija - pracowałem nawet w jednym teamie który robił apkę (niezwiązaną z Androidem!) w Kotlinie i było to naprawdę ciekawe doświadczenie. Osobiście też mam jakieś takie odczucie jakby Kotlin był bardziej intuicyjny i przyjemny. Co myślicie? Co z tą Scalą?

Pozostało 580 znaków

2019-11-07 10:15
0

Wydarzyło sie pare dram, środowisko sie podzieliło, poza tym nadal ch**** ale stabilnie. :D

Pozostało 580 znaków

2019-11-07 13:06
0

Na Górnym Śląsku bez zmian. Jest jedna firma która mało płaci. Ale teraz przejeło ich jakieś korpo i będą zatrudniać, to może też zaczną normailnie płacić


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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