Earlier quoted context omitted.
It's because of the compiler and SBT to be frank. They are very very clunky.
You don't need SBT. Gradle builds Scala projects just fine.
Scala 2.13 is now available
21–30 of 87 posts
Re: Scala 2.13 is now available
#22Why is Scala not more popular? It seems like such an awesome language, is it because of it academic origins or because it's not functional enough?
All of these factors contributed to Scala adopters like LinkedIn subsequently retracing their steps and doing new development only in Java.
So, academic origins are fine (many good programming languages have academic or at least research-influenced origins), but an academic attitude to the development work that a language should support (predictability of breaking changes, possibility of good IDE support) harms the adoption of a language.
Re: Scala 2.13 is now available
#23Why is Scala not more popular? It seems like such an awesome language, is it because of it academic origins or because it's not functional enough?
It's because of the compiler and SBT to be frank. They are very very clunky.
See https://scala-ci.typesafe.com/grafana/dashboard/db/scala-ben...
Also SBT has been much less of a nuisance recently. They've made quite some effort to get rid of the most obscure syntax and with the recent improvements in compiler speed it's inching to 'acceptable' territory.
I admit that I really love the language, though.
Re: Scala 2.13 is now available
#24When I joined a few years ago, I was honestly not most excited about working with Scala, but the more I got into it, the more I realised that Scala got a lot of things just right.
In particular, I really miss working with the collections and futures API whenever I switch to another language.
And it's overall a pretty good package: very predictable behaviour, easy to debug (IntelliJ Idea helps a lot here), fast runtime and high quality libraries available for pretty much anything you might need.
Re: Scala 2.13 is now available
#25Why is Scala not more popular? It seems like such an awesome language, is it because of it academic origins or because it's not functional enough?
Non-FP folks can hate on it because FP is confusing. FP folks can hate on it because it doesn't have pure functions. I don't believe the "best of both worlds" selling point. Anyway I don't think it's worth dwelling on popularity. Networking and political effects seem to be more powerful than the merits of a language.
Not best of both, but it's the ability to solve the task with either FP or OO depending on the task and do it seamlessly.
> Networking and political effects seem to be more powerful than the merits of a language.
That's probably more true than anything, also it's not hipster enough to convince your regular clojurescript aficionados.
Re: Scala 2.13 is now available
#26Re: Scala 2.13 is now available
#27I work at a major online fashion aggregator and my team uses Scala extensively for our search API (with Twitter's Finatra) and also in several of our data pipeline systems (Akka, Spark). When I joined a few years ago, I was honestly not most excited about working with Scala, but the more I got into it, the more I realised that Scala got a lot of things just right. In particular, I really miss working with the collect…
1. The community was terribly split between FP purists who wanted to write Haskell on the JVM and pragmatists who leaned more towards the "better Java" side of things. Plus the occasional ex-Rubyists who came up with method names consisting solely of interpunction ("embedded DSL!"). Has any side won? It would be nice to have anything resembling "idiomatic Scala" out there.
2. The compilation times were horrid, really blocking a fast edit-compile-run(-tests) loop, often making my attention wander away etc. Has this improved sufficiently much that you can edit code, switch to the browser (or wherever) and pretty much immediately see the result?
Re: Scala 2.13 is now available
#28Re: Scala 2.13 is now available
#29I personally really like how this release turned out. Tons of polish, cleanup, simplification, and performance work. Basically tackling the core problems with the language, with minimal feature creep or additional complexity (I must admit to contributing to that creep in a small way)
Partial type application is frustratingly cumbersome. For the last 3 releases or so - which is what, 6 years of language development? - people have been using the kind-projector plugin to the point that it's now pretty much entrenched. Any kind of built in solution - even if it were just bundling kind-projector into the compiler - would have been better for the ecosystem in terms of things like good compilation errors (which experienced users don't notice, but can be a major pain for newcomers).
The situation for enums is even worse, with what must be a dozen competing libraries/macros/..., none of which manages to be as nice as Java's "enum" (to the extent that I actually write enums in Java when writing Scala). I get that everyone has their own preferences, but even if the solution was just to adopt the Java solution directly (but allow writing the body in Scala) that would be a huge advance from where we currently are.
I love Scala but I really wish the developers had solved these two cases before, effectively, freezing development of new language features for 5 years and counting.
Re: Scala 2.13 is now available
#30I work at a major online fashion aggregator and my team uses Scala extensively for our search API (with Twitter's Finatra) and also in several of our data pipeline systems (Akka, Spark). When I joined a few years ago, I was honestly not most excited about working with Scala, but the more I got into it, the more I realised that Scala got a lot of things just right. In particular, I really miss working with the collect…
I used Scala five-ish years ago, and I loved it, but I had two qualms: 1. The community was terribly split between FP purists who wanted to write Haskell on the JVM and pragmatists who leaned more towards the "better Java" side of things. Plus the occasional ex-Rubyists who came up with method names consisting solely of interpunction ("embedded DSL!"). Has any side won? It would be nice to have anything resembling "i…