In my company (10k+ devs) Scala seems to be losing steam. All the enthusiasts have moved to Go/Rust, while the pragmatics are staying in (moving back) in Java. No new major project is being built in Scala. Does anyone share this experience?
Same experience here. JDK11 and beyond added some more enthusiasm to base Java. If Loom lands I think a lot of people will also lose interest in Kotlin as well (because AIUI a big draw for Kotlin is the async story).
Scala 3.0.0-M1
111–120 of 148 posts
Re: Scala 3.0.0-M1
#112The Scala language is great but the ecosystem sacrifices simplicity for pure FP. Scala has always suffered from complexity problems due to libraries. For example, using Http/JSON/Database libraries have always been a lot harder than they need to be due to a die hard approach to pure FP. Scala 3 looks pretty good, but I just can NOT see myself using Scala again, after having worked with it for 4-5 years at work and on…
Re: Scala 3.0.0-M1
#113Re: Scala 3.0.0-M1
#114The Scala language is great but the ecosystem sacrifices simplicity for pure FP. Scala has always suffered from complexity problems due to libraries. For example, using Http/JSON/Database libraries have always been a lot harder than they need to be due to a die hard approach to pure FP. Scala 3 looks pretty good, but I just can NOT see myself using Scala again, after having worked with it for 4-5 years at work and on…
Hu? There are plenty of alternatives to the pure FP ecosystem.
HTTP: Dispatch, Requests-Scala, literally any Java client if that's still too FP for you
JSON: uPickle, Play JSON, or simply Jackson
DB: ScalikeJDBC. Quill and Slick do a lot more but are not particularly die-hard FP either.
Re: Scala 3.0.0-M1
#115Scala can be nice but up until now compilation is way too slow to live with. Hopefully this will make it more palatable, but I've moved to Kotlin already.
Re: Scala 3.0.0-M1
#116Earlier quoted context omitted.
If you would call it pipe operator, like it's called in many (Elm, Elixir, F#, OCaml) other languages that have it, people would understand you faster IMHO. It is even discussed for inclusion into JavaScript.
https://www.scala-lang.org/api/current/scala/util/ChainingOp...
"foo |> bar |> baz" just visually parses easier than "foo pipe bar pipe baz"
Re: Scala 3.0.0-M1
#117Earlier quoted context omitted.
Same experience here. JDK11 and beyond added some more enthusiasm to base Java. If Loom lands I think a lot of people will also lose interest in Kotlin as well (because AIUI a big draw for Kotlin is the async story).
I completely disagree. The best things in Kotlin has nothing to do with coroutines, it is the extension functions and the soon-to-be released typeclasses (multiple receivers). Java is lagging behind, while Kotlin gets pragmatic and useful features very frequently.
But I am interested to learn more. Do you know any good resources?
Re: Scala 3.0.0-M1
#118Earlier quoted context omitted.
For me scala's feature set is absurdly big and there are always 10 ways todo things. Look at the spec of Scala. Its 200 pages long. That's insane. I'd rather use Kotlin.
This is like saying, airplanes are too complex. There are so many knobs and buttons. I'd rather just walk or ride a bike everywhere. Scala is a very powerful, very expressive language. There are some features which you can just choose to leave out. If you do, you end up with a very clean, concise, and powerful language that makes you really productive. I've literally had moments where I made my algorithm 5x faster ju…
Re: Scala 3.0.0-M1
#119In my company (10k+ devs) Scala seems to be losing steam. All the enthusiasts have moved to Go/Rust, while the pragmatics are staying in (moving back) in Java. No new major project is being built in Scala. Does anyone share this experience?
Scala was the first serious attempt to break Java's stranglehold on the JVM that made any impact. A lot of people got very excited by it. But then Kotlin, Ceylon, Clojure and others started to steal it's thunder and now it's just "one of the pack". In fact, I'd say Java itself has stolen back from all those other languages to a large extent, with its language enhancements since v8.
Clojure is a nice, expressive, dynamic language that is really great for messing with arbitrarily-shaped data.
Java is a workhorse language that has been powering businesses small and large for decades.
Kotlin is a modern spin on Java, and the degree to which they share functionality (with differing or identical semantics) over time will be interesting.
And then Scala exists for all your meta-type-wankery needs.
It seems natural that Kotlin/Java would be most popular over time, with Clojure and Scala hanging out with small amounts of market share.
Re: Scala 3.0.0-M1
#120Earlier quoted context omitted.
This is like saying, airplanes are too complex. There are so many knobs and buttons. I'd rather just walk or ride a bike everywhere. Scala is a very powerful, very expressive language. There are some features which you can just choose to leave out. If you do, you end up with a very clean, concise, and powerful language that makes you really productive. I've literally had moments where I made my algorithm 5x faster ju…
Its more like saying: I need to cut some paper ( i need to program): Swiss army knifes (scala) are too complex, I just need a pair of pair of scissors (lisp / other languages).
You CAN write bad and hairy scala code just like you can in any language. But that doesn’t mean the language is to blame.