Does anyone share this experience?
Does anyone share this experience?
So far it’s going okay. But I personally am surprised at how disinterested most folks are in learning anything new.
same here, we don't do Scala but it's basically impossible to get people here to learn something new. Introducing a new language (like Scala,F# etc) would be impossible.
A secret ulterior motive of mine was that Scala has bad support for Spring. Every other Java service at the company uses Spring, and I abhor it, so if I can drive adoption of Scala on my team then we can avoid Spring and also provide pressure to make all our shared JVM libs Spring-agnostic (which I believe is a good move in general).
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.
- enthusiasts who will stay with scala
- others who think they should have used kotlin/java from the beginning.
The latter camp is bigger and growing.
I mean, if Rust had higher-kinded types, and the established library ecosystem, and the IDE support that Scala does, then I'd move to Rust too. But it doesn't. When you have a large codebase and need to manage cross-cutting concerns, the only thing that can do that as well as Scala does except Haskell (or more obscure options like Idris), and the state of Haskell tooling is miles behind Scala. I'm not attached to Scala for Scala's sake, but it's still my first choice.
But I am interested to learn more. Do you know any good resources?