| ▲ | swampdeer 2 hours ago | |
Having used Scala3 in anger for a couple years its just a badly designed language with bad tooling, a bad standard library [1], and small under-resourced and oddly insular community. Scala has none of the referential transparency or type inference benefits of a regular functional language like haskell, or ocaml while adding an intimidating veneer of category theory elitism that keeps people away. Its type system would at least have a safety benefit if it didn't infer stupid things like ((if (a) then 1 else false) : Bool | Int) and convention wasnt to erase everything to some generic trait in the middle of a 30-deep inheritance hierarchy which dynamic-dispatches function calls to any of their overridden implementations in one of the dozen the mixins. The language seems to be a poor choice both if you want a good functional language (the language design & jvm) or if you want a good object oriented language (performance & tooling). It makes it easy to write very complex, implicit and dynamic code and requires expertise to write simple code. Hence it doesn't work for teams with a mix of backgrounds and experience, its at least too difficult to be worth it for me and my resources. One also gets the impression the community is always off chasing the new shiny thing while the ecosystem is continually slightly broken everywhere. E.g. introducing significant indentation, rewriting the repl, sbt->mill, scaladoc, the languauge server, the unit test libs. The rest of the community I guess is siloed into these huge frameworks/companies or scala 2. Currently the hype is about generating docs for everything with AI which doesn't really impress [2]. While I find its a joy to learn about edge cases like the value restriction in ocaml, because they point to something more universal and true about type inference and programming languages; I've never been pleased to have to learn about a new arbitrary decision made by the scala compiler or standard library developers or imposed by the jvm. [1] https://stackoverflow.com/questions/1722726/is-the-scala-2-8... [2] https://www.scala-lang.org/blog/2026/07/06/quality-from-gena... | ||