3 ms·
In my dayjob we originally used Scala, but I pushed for a couple of new services to be written in TypeScript/Node as it was really hard to hire Scala developers
by fy20 5y ago
In my dayjob we originally used Scala, but I pushed for a couple of new services to be written in TypeScript/Node as it was really hard to hire Scala developers. I'd say it worked well, we even took a somewhat functional approach to building things. We tried fp-ts but that was a bit hardcore (when you are trying to hire TypeScript developers who don't know functional programming), so just built Either and Option types which provided 99% of what we needed.
There are still a few things I miss though:
* Pattern matching and exhaustive checking. Using a switch statement it is possible to define a function that can emulate the compile-time exhaustive checking, but it's still rather weak compared to what you can do in Scala.
* Implicits. Being able to define something that can convert say a UUID to a String or vice versa automatically just feels like magic, especially when dealing with data from third party systems.
* Compiler macros and metaprogramming. It enables tools like Chimney (https://scalalandio.github.io/chimney/ https://scalalandio.github.io/chimney/) to be built, which I don't think are possible with TypeScript right now.
- rad_gruchalski 5y ago> as it was really hard to hire Scala developers This is by far the biggest problem of Scala. After Typesafe rebranding and dropping the ball as a main Scala supporting body, it all went downhill from there. Ehich is a shame as Scala is a solid language with very good features.
- halfmatthalfcat 5y agoNever understood why they changed the name and still think “Lightbend” is an absolutely fucking awful name. Pisses me off to this day.