kotlin vs scala

1

swoje przeczucia na ten temat mam, choć pewnie kulawy bo kotlina nie znam za dobrze

szukałem, ale takiego tematu chyba nie było jeszcze

co sądzicie o tych dwóch językach? czy wg was kotlin pozostanie na androidzie i raczej poza niego nie wyjdzie, a scala zostanie tam gdzie jest teraz czy może coś się ruszy?
właściwie to temat flame.. :) gdybanie z nudów

0

Kotlin jest łatwiejszy od Javy i Scali.
Kotlin jest wolniejszy od Javy i Scali.
Kotlin ma mniej rozwlekłą składnię od Javy ale ciut większą od Scali.
Kotlin to przyszłość Androida, Scala nie wiadomo jak w web.
Polecam Ceylon od Red Hat.

0

Myślę, że Kotlin osiągnie większą popularność, bo jest bardziej przyjazny dla Javowców i wykorzystuje ekosystem Javy (Spring 5)
Natomiast Scala często odcina się od Javowych rozwiązań (Typelevel). Do tego Odersky wczoraj zaproponował, żeby zastąpić klamerki wcięciami https://github.com/lampepfl/dotty/issues/2491, co może spowodować, że Scala będzie jeszcze bardziej egzotyczna dla programistów Javy.

0

Scalę (przynajmniej idiomatyczną) bym prędzej porównywał z Clojure niż z Kotlinem

2

Wszystko zmierza w formatowanie kodu bez klamerek: Python, Ruby, CoffeScript, Elixir, teraz Scala.

1

Kotlin ma wolniejszy bytecode od javy i scali? Wtf?

Wedlug mnie kotlin to moze byc przyjety jako lepsza java i wsparcie na androidzie i od springa uwolni nas od Oracle...

A scala wedlug mnie znalazla nisze wokol data science, streaming, big data itp.

2

Kotlin ma tą przewagę, że jest tworzony przez JetBrains. A jak wszyscy dobrze wiemy, sporo ludzi używa InteliJ i innych produktów JetBrains. Pamiętam początki z kotlinem na Androidzie. Build trwał dwa razy dłużej, ale teraz to się bardzo poprawiło i już nie ma takich problemów. Poza tym Kotlin jest bardzo dużym ułatwieniem w Androidzie i to tutaj wróże mu przyszłość, ale z tego co wiem to pchają się też do backendu.

2

Nie mam doświadczenia ze Scalą na Androidzie, ale moim zdaniem dużą rolę odgrywają w tym przypadku dwie rzeczy:

  • waga dodatkowych bibliotek (zarówno w pamięci stałej jak i RAMie) i opóźnienie związane z ich ładowaniem, JITowaniem (czy też AOTowaniem),
  • odpowiednia ilość nakładek na istniejące Javowe API tak by można było pisać idiomatyczny kod, a nie po Javowemu tylko bez klamerek,

To oczywiście ponad wsparcie od IDE i systemów do budowania aplikacji.

Kotlin:

  • ma lżejszą bibliotekę standardową
  • nie wymaga rozbudowanych nakładek, bo Kotlin jest w dużej mierze zwięźlejszym zapisem dla Javy, a nie platformą, która chce się niezależnie od Javy rozwijać,
  • jest oficjalnie wspierany na Androidzie przez JetBrains i Google,

Ja tam ciągle mam nadzieję, że Scala osiągnie popularność we frontendzie webowym (czyli chodzi mi o Scala.js). Wraz ze wzrostem stopnia skomplikowania interfejsów webowych to ma coraz więcej sensu.

Są też ludzie, którzy używają Scala.js, by pisać programy dla Androida w React Native i to działa, ale z drugiej strony słyszałem, że React Native sam z siebie działa dość wolno. Gdyby wydajność RN została poprawiona to użycie RN ze Scalą.js byłoby niezłym pomysłem.

0

A co z Data Science? :) Chyba Scala tam jest dobrze "odbierana" ?

1

to że scala raczej króluje w bigdata, data science (choć tu python ją chyba ostro zjada) to raczej wiadomka, troche też w webie

ale nikt jej nie bierze na serio jako coś "w zamian za" jave
kotlin za to z tego co mi wiadomo ma dużo ze scali, a jest lekki i znacznie przyjaźniejszy programiście, a teraz zaczął być wspierany przez google co dało mi do myślenia czy aby niedługo wszystkie javowe framework nie zaczna oficjalnie supportować kotlina bo programiści będą go po prostu woleli (choć prawde mówiąc to już można klepać w kotlinie zamiast javy, ale nie o to chodzi :))

oczywiście gdybam i nawet gdyby miał się tak stać to zapewne jeszcze długa droga, ale wydaje mi się, że to całkiem możliwe.. :)

ostatnio w pracy w porywie nudy wpadliśmy na pomysł żeby jedna z aplikacji przepisac na kotlina.. bo czemu nie :) i zobaczyć co z tego będzie

1

Z kotlinem javowcy muszą na poczatku tylko z paroma rzeczami uważać ;) I pamietac, ze w kotlinie jest null safety.
np. brak publicznych nieargumentowych domyslnych konstruktorów na czym opiera sie mnostwo javowych frameworkow.

i co za tym idzie jakies tam rzeczy przy repozytoriach springa i trzeba tam jakas adnotacje dodac, podobnie przy serializacji jsonow itp.

Ale ogolnie to raczej przyjemniejsza java, gdzie mamy chocby data i imutable classes.

Nie powiedzialbym ,ze ma wiele ze scali. np. pattern matching to w scali jest lepszy.

0

Ja sobie napisalem cos prostego na spring boot. To takie moje doswiadczenia byly.

Uzywalem tez gradle kotlin script. Calkiem spoko i raczej gradle tez idzie w strone kotlina.

0

Akurat wczoraj to czytałem: https://agilewombat.com/2016/02/01/scala-vs-kotlin/ - streszcza temat bez nadmiernego męczenia buły

0

Porównywanie Kotlina ze Scalą to tak jakby porównywać Basic z Pythonem.

Poza tym wyszła Java 8, która ma prawie wszystko co Kotlin, a Google ogłosił, że Android będzie mieć wsparcie dla Javy 8. To po co wtedy komu Kotlin?

2

@Krolik, z Kotlina warto wziąć:

  • nullcheck w czasie kompilacji i system typów chroniący przed NPE
  • moduły projektów na poziomie języka
  • „skryptologię” w postaci „swobodnych” funkcji
  • aliasy typów
  • dekompozycję obiektów
  • domyślne wartości w parametrach i parametry nazwane
  • przeładowania podstawowych operatorów, w tym dobrze wymyślona obsługa ==

No i w porównaniu z Javą ma czasami przyjaźniejszą składnię :)

1

Smart casts, data classes, when, jest tego sporo.

Zresztą w pokrewnym wątku dyskutowaliśmy na ten temat, pewna osoba chciała tam udowodnić, że w Javie 8 da się napisać to samo co w Kotlinie. I dało się istotnie, tyle że z groupBy { it } zrobiło się collect(Collectors.groupingBy(Function.identity(), Collectors.counting())) ;) javowatość zawsze z Javy wyjdzie.

0
Krolik napisał(a):

Porównywanie Kotlina ze Scalą to tak jakby porównywać Basic z Pythonem.

Poza tym wyszła Java 8, która ma prawie wszystko co Kotlin, a Google ogłosił, że Android będzie mieć wsparcie dla Javy 8. To po co wtedy komu Kotlin?

Skąd to info ? Google miał wiecznie problem z Oracle.

0
Biały Mleczarz napisał(a):

Skąd to info ? Google miał wiecznie problem z Oracle.

Już teraz Android wspiera część ficzerów z Javy 8, więc nie wiem skąd te pytanie?! Artykuł podsumowujący, które ficzery wspiera i od której wersji masz tu: https://developer.android.com/guide/platform/j8-jack.html

0

Trochę lanie wody, ale ładnie opisany temat https://www.reactivesystems.eu/2017/05/21/java-scala-kotlin-skiing.html

0

Która przyjemniejsza składnia ?
http://nilhcem.com/swift-is-like-kotlin/
W chwili obecnej wydaje się, ze Kotlin może być próbą reanimacji i podjęcia rękawicy Apple i walka z jego językiem Swift - który bardzo niebezpiecznie dla Google staje się popularny i oficjalnie wybranym za język nr 1 np. przez IBM.
Google posiada doskonały język Go, który został stworzony jednak w innym celu - dlatego wybór Kotlina - jest jasnym i jedynym krokiem na możliwość konkurowania z Apple. Bo jeżeli ta próba się nie powiedzie, to zgodnie pojawiającymi się plotkami, jedyną drogą dla Google będzie wykorzystanie Swift'a.

1

Kotlin. A Scala jest fuj.

1
Mały Termit napisał(a):

W chwili obecnej wydaje się, ze Kotlin może być próbą reanimacji i podjęcia rękawicy Apple i walka z jego językiem Swift - który bardzo niebezpiecznie dla Google staje się popularny

"Reanimacji" czego? Sam Kotlin pojawił się kilka lat wcześniej niż Swift.

0

Kotlin pojawił się wcześniej od Swift, ale jeszcze wtedy nie miał wsparcia od Google, stąd tak mało jest o nim materiałów w porównaniu do Swift. Ba, nawet na helion.pl Swift ma już całkiem pokaźną bibliotekę książek w języku Polskim, a Kotlin ani jednej. Być może teraz to się zmieni jak Google połączyło siły z JetBrains.

0

Z tego linku jedynie wynika, że Scala ma najfajniejsze logo jak jakiś wycinek DNA?

0

Nie wycinek DNA, a fikuśne schody: https://www.scala-lang.org/old/node/3486.html

0

Ja pracuję komercyjnie w Scali i nie pakujemy się w monady IO, ani ogólnie w scalaz/ cats. Jeśli coś ze scalaz jest to jest to pozostałość po poprzednim zespole.

0
margor90 napisał(a):

Co mnie przekonuje to oficjalne wsparcie Springa, więc za pół roku pewnie sam będę lansował pisanie backendów w Kotlinie.

To super pisząc backend w Kotlinie, sądziłem że Kotlin to tylko zmiana Javy na Androidzie, a tu nawet w pisanie aplikacji po stronie serwera będzie. Obecnie jest troszkę wolniejszy od Javy, ale może to się kiedyś zmieni.

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