3 ms·
Scala is a great language to write in. It's also good because you can learn a lot about the JVM (that you wouldn't learn as easily in Clojure, because the JVM i
by michaelochurch 13y ago
Scala is a great language to write in. It's also good because you can learn a lot about the JVM (that you wouldn't learn as easily in Clojure, because the JVM interop of Clojure is less mature and far less intuitive) but also about strong, static typing in a system almost as badass as Haskell's.
On the other hand, reading Scala code written by mediocre developers is painful. That's probably true of any language, but in Scala bad code comes with (a) minimal support from the IDEs that make shitty code navigable, (b) a less mature reflection API, and (c) serious compile-speed pains at scale. If anything kills Scala, it will be the the Java-in-Scala crowd-- the ones who failed to learn what Scala was really about and what it had to offer, but used it because their bosses demanded it.
Scala is well-designed-- extremely so, and almost no one here could have done better in that time-- in the context of its constraints (JVM) and purpose (a Haskell-like language on a VM with a top-down type system-- radically different from the bottom-up tying approach of traditional Hindley-Milner languages). Scala-bashing gets on my nerves for two reasons. First, if you understand the compromises that had to be made, it's hard to imagine it being done better. Second, you know what happens if Clojure and Scala developers beat each other up? Managers step in and make us write Java.