Remix.run Logo
hocuspocus 2 days ago

The small pool of experienced developers is actually awesome. I waste a lot less time screening candidates and they're usually above average.

Moreover, despite what people claim I've had no issues mentoring juniors or people coming from other paradigms but willing to learn.

Tooling isn't as good as plain Java but good enough, and certainly better than that of more niche FP languages.

The ecosystem is pretty rich in spaces where Scala really shines, in some cases it's even better than libraries and frameworks you can find in Java or Kotlin. Plus you can always consume any Java library.

Performance is good enough for Twitter or big data workloads at major tech companies (many of them use Spark). And nowadays with GraalVM native images you can even reduce the memory footprint to very reasonable levels, not very far from Go.

btreecat 2 days ago | parent [-]

You have a lot fewer candidates to pull from too, which is often a more limiting factor for a business.

Business don't need everyone to be a rockstar who's also a FP whiz. But FP languages need that.

hocuspocus 2 days ago | parent | next [-]

I've been leading hiring efforts for my team for a while now and Scala has never been the bottleneck. Especially now that the Scala market has shrunk a bit.

It's true you need some level of expertise and seniority, but that doesn't mean you need to hire only FP wizards, far from it. I believe most modern hybrid languages can be dangerous without supervision.

GregarianChild 2 days ago | parent | prev [-]

For what it's worth, Scala is a multi-paradigm language and can be used as a pure OO language. This is a great way to start for programmers with an OO background

hocuspocus 2 days ago | parent [-]

I'm not sure it's a good idea though. Scala failed (mainly to Kotlin) as a "better Java". If you aren't committed to Scala's unique features, I would avoid it. It doesn't mean you need to go all in though, Scala can be simple, simpler than Java in fact.