> I think of Go, Rust, Haskell, Erlang, Clojure, Kotlin, Scala as more hardcore languages.
I can tell about Scala: it can be insane hardcore if you want, but it can also be just "a much better Java" as easily - the weird parts are easy to avoid and the normal parts work better. Unless you are a Java veteran and also plan to hire more developers, using Scala instead of Java will save you much time and effort.
And Kotlin is, by design, kind of Scala minus the hardcore.
The problem with Scala is the same as the problem with Lisp. It's too flexible and it ends up having a bunch of dialects. Sure you can only use a subset, but that doesn't fix the problem that the fragmentation makes it hard to find libraries and code examples that only use the subset of Scala you're comfortable with.
I can tell about Scala: it can be insane hardcore if you want, but it can also be just "a much better Java" as easily - the weird parts are easy to avoid and the normal parts work better. Unless you are a Java veteran and also plan to hire more developers, using Scala instead of Java will save you much time and effort.
And Kotlin is, by design, kind of Scala minus the hardcore.