Hacker News new | ask | show | jobs
by _snydly 3749 days ago
I'm curious, why Scala over all other options?
3 comments

It's a fantastic language. It combines the conciseness and readability (if you stick to sensible method names) of Python with the safety of OCaml and the performance of Java. It combines the type-level power of Haskell (i.e. the ability to explicitly sequence effects) with traditional OO inheritance/subtyping and performance behaviour you can reason about (helped by the JVM's well-established profiling/instrumentation support). If you want to use a single language for everything, it can scale up to critical core codebases and down to throwaway scripts / interactive notebook-type use. What else would you use?
> What else would you use?

Oh, no, I was asking mostly as a noob. I've since decided to have a go at learning Scala, and your answer reinforces that decision.

AFAIK, quite some components (Hadoop, Kafka, Spark, etc) of a typical big data stack are JVM based. Scala is JVM. And quite some people hate Java. That could be an answer.
It's the best language you can get currently.

There are a few "copy-cats", but it shows that the creators lacked the experience and time to really think about how to achieve coherence of language constructs and how different parts play together.

In addition to that, Scala has a huge head-start and is quite stable and mature. The language is expressive enough that I can't envision many features which couldn't be expressed with the existing language. For example, Scala.js didn't require any language extensions at all.