A jakou zkušenost jsi měl s rychlostí kompilace a ekosystémem/toolingem? Když jsem se o Scalu zajímal já, přišlo mi, že to jsou hlavní potenciálně problematické věci. Samozřejmě, ta vysoká heterogenita může být nepříjemná, ale to je designové rozhodnutí a podle mě se tam dá zvolit nějaká podmnožina idiomů, které člověk používá, ale když to celé funguje divně nebo pomalu, je to zásadní problém.
Rychlost překladu ujde, řekl bych že o něco rychlejší než Rust v debug režimu - desítky tisíc řádků trvají vteřiny až desítky vteřin studené kompilace, ale docela funguje inkrementální, která to v praxi hodně zrychluje.
Jako IDE používám Intellij community version, a Scala plugin je na dost vysoké úrovni.
Dokumentace ke standardní knihovně ujde, ale teď jsem rozmazlený Rust-em, tam je to přeci jen vyšší úroveň.
Chybí mi nějaký centrální repozitář scala knihoven ala crates.io pro Rust, ale je to asi trochu dané tím, že Scala má dobrou interop s Javou (hlavně ve směru Scala používá Javu, opačně už se vývojář musí trochu snažit), takže Scala vývojář má vlastně k dispozici taky všechny Javovské balíky z Mavenu atp.
Hodně jsem nadával, a nejen já, na build/package manager sbt -
https://www.scala-sbt.org/ . Na jednoduché věci je to jednoduché, ale když si člověk chce něco customizovat, napsat vlastní plugin, nebo prostě jen dobře porozumnět tomu, jak to funguje, je to naprosté šílenství. Kdybych začínal nový větší projekt, dost bych uvažoval o tom vyzkoušet
https://github.com/lihaoyi/mill , ale osobní zkušenost nemám.
Učil jsem se z "Programming in Scala" od Oderskyho a spol, to je super knížka, prostě jsem to projel od začátku do konce a zkoušel si kód, zábavný měsíc. Dneska bych asi začal s
https://www.handsonscala.com/ . Celkově se mi líbí Scala věci od Li Haoyie (autora té knížky i Millu), jsou na používání jednoduché, ale promyšlené - a to znamená, že vymyslet je asi vůbec jednoduché nebylo. Ale je to jen moje osobní preference, někdo jiný bude mít rád shapeless.
Nevím jak hodně se ví, že Scala má nový překladač s novými featurami -
https://dotty.epfl.ch/ . U nového projektu bych do toho asi klidně šel.
Abych to nějak shrnul, považuju Scalu a ekosystém za vyzrálý a naprosto production-ready, v tom jazyce se pracuje příjemně, i když nějaké nedostatky má, a nějaké nadávání určitě taky přijde (hlavně asi sbt). Určitě bych ve Scale dělal 100x radši než v Javě.