4 ms·
I used Scala about a decade ago extensively and I’m still waiting for features I loved in it to be available in languages I have to use on a daily basis now. I
by linotype 2y ago
I used Scala about a decade ago extensively and I’m still waiting for features I loved in it to be available in languages I have to use on a daily basis now.
I miss it a lot.
- mpweiher 2y agoWhich features would those be?
- olivermuty 2y agoYou can code the whole program with only types and no code? Albeit that is possible in typescript these days too tho.
- tossandthrow 2y agoType systems expressive enough to write actual programs is widespread these days. Typescript's typesystem is even Turing complete. Regardless, it is not very practical to use a type checker as your runtime.
- linotype 2y agoDidn’t someone implement Doom in the Typescript type system?
- thinkharderdev 2y agoFor me, the killer features were the metaprogramming abilities (both type and macro based). Not so much because I used them directly but because they allowed library authors to create extremely expressive libraries.
- sideeffffect 2y ago* Immutable-first * Immutable/persistent collections in standard library * Machinery to "modify" immutable deeply nested case classes/sealed traits. You have the copy method, you have lens libraries. Very easy and comfortable to use. * Expression oriented. if/try/etc expression can be bound to a variable * less characters to write the same idea/program, while not losing readability * better tooling: Scalafmt is ubiquitously used, supported in IntelliJ and is very good. Scalafix (a linter which can also fix some issues automatically) is used a little bit less, but is also good. * build tools: while I don't like sbt, Mill is a so much better build tool than Maven or, even worse, Gradle. Then there is also scala-cli, which is not a build tool, but can work like it, if you have a simple, single-module project (i.e. no sub-projects/sub-modules).