Kotlin je pragmatická Scala.
Kotlin využijete na backende, lebo napr. Spring má už dnes pomerne dobrú podporu pre finty z Kotlinu. Gradle viete písať v Kotline miesto Groovy. Kotlin viete rovno využiť na Androide miesto Javy. Do Kotlinu sa pragmaticky pridávajú vlastnosti, ktoré vývojári využívajú.
Kotlin má super tooling - veď ho robia tí istí ľudia, čo IntelliJ IDEA (IntelliJ je už spolovice napísaná v Kotline). Dokonca sa vôbec nehanbia vykrádať zľava-sprava, veď data classes.
Scala je dobrá ak máte konkrétny use-case a konkrétny framework. V Scale viete písať aktorov v Akke, resp. celý aktorový stack okolo toho (Play, Akka HTTP, Lagom).
Scala má tiež rozumný FP prístup, a viete to ťahať ešte ďalej do scalaz/cats a to ste už skoro v kráse Haskellu. Otázka je, či zoženiete na reálny projekt podobne zmýšľajúcich ľudi. Ak ste FP a neviete sa rozhodnúť, pozrite si Vavr.io ako biedny protipól FP pre Java svet. V Scale samozrejme užitočné premakané veci: traity, sealed traity, data classes, silný pattern matching.
Inak strašiakom v Scale je sbt: ten je fakt aj po rokoch dosť biedny a pomalý. IntelliJ však má super plugin, v ňom sa Scala klepe krásne.
Reálny projekt v Scale stále záleží na tom kto ho založil a ako ho maintainuje. Tam je totiž veľká šírka toho, ako sa filozoficky projekt pojme, teda koľko FP a koľko OOP sa tam naprasí. Náš produkčný projekt bol pekný s rozumnou dávkou FP, ale tam to držal pohromade Lagom. Na iných projektoch sa stalo, že senior sa odpútal z reťaze a nabúchal FP, čo syntax zvládla, len sa to veľmi ťažko maintainovalo, nebodaj čítalo.