3 ms·
The complaints I see about Scala mostly seem to centre on whether other people are adopting Scala. "Google's backing Kotlin", "Rust and Go have more trajectory"
by wbillingsley 7y ago
The complaints I see about Scala mostly seem to centre on whether other people are adopting Scala. "Google's backing Kotlin", "Rust and Go have more trajectory", "FP programmers in Scala write too complicated code that puts off the OO developers", "FP programmers I know are moving to another language", and of course the sad twitter-wars that seem to break out within the Scala programming community that put people off.
Personally, I've found Scala to be by far the best language I've ever worked with. The complaints on the complexity of the library are ones they are (at least partially) trying to address in Scala 2.13. Dotty, though not revolutionary, looks like a nice set of improvements too.
It's not a "pure FP language" (though some might like it to be), but is a multi-paradigm language on the JVM. It has a lot in it, but moves relatively slowly. To me, those are its advantages, and for someone like me they are fantastic. I am in academia, which means that a lot of my software is written by me for courses and so I get to work on it in patches about twice per year. In Java-land, that'd mean major language versions are now faster than I get to revisit my projects. In Scala, I've had projects progress from 2.10 to 2.13 (and soon 3) with maybe two days' effort updating them so they feel fresh with the language, even though the language still feels more advanced than Java, Kotlin, and most of the "faster" competitors.
Scala.js works astonishingly well (I wrote my own react-like framework in about 1,000-lines of code, so I no longer need to fuss about whether React's just updated so everyone should be using function hooks now either). Graal looks like it's going to come along and solve the issues with native deployment soon too.
In short, while most of the complaints I hear are about Scala as a community, it seems one of its strengths is how it is robust to the winds and storms that blow through programming communities.