4 ms·
After 15 years of Java and 4 years of Scala I have had a chance to use Kotlin recently. I was pleasantly surprised. (+) * Kotlin is basically a poor man's Scal
by 62951413 6y ago
After 15 years of Java and 4 years of Scala I have had a chance to use Kotlin recently. I was pleasantly surprised.
(+)
* Kotlin is basically a poor man's Scala. So you get most of the syntactic sugar with no need to study much.
* Seamless integration with the the Java ecosystem from libraries to IntelliJ. In contrast with the Scala world,
so far they seem to be pushing less for building Kotlin native replacements for already existing battle-tested things.
* Not that many people trying to write Haskel in Kotlin than in Scala. So less potential for scaring away people and especially companies.
* No big new ideas (other than concurrency but from what I have seen most people just ignore that area altogether) so easy adoption
(?)
* their idiomatic approach to concurrency is highly unusual. It feels very different in comparison to most mainstream ideas (j.u.c, futures, actors). Very unlike Java or even Scala. Very little literature available on the best practices. In this respect I'd rather see project Loom come to fruition.
* their approach to null safety is less verbose than Options but tends to permeate the entire code base quickly. I love me some ternary operator but their
abbreviations remind me more hard to remember Scala collections.
I am not convinced I want to see that noise for limited benefits (NPEs are more common than OOMEs but still unusual).
There will also be a little tension with DI/ORM frameworks where not everything is initialized in constructors.
(-)
No killer app (such as Spark for Scala).
No obvious candidate to be what Akka is in Scala or Spring in Java.
No traction in the Bay Area at least this year. I literally have not seen a single backend job. For comparison, there were Scala jobs
here in 2010 when the toolchain was worse than abysmal.
No buzz in blogs. Nothing like Scala/Clojure/Erlang ten years ago or Rust/golang nowadays.
GOOG PR probably makes people think it's a frontend language.
I routinely encounter companies/teams that say that they cannot attract enough smart people to migrate to Scala.
It's extremely surprising in 2020 but it's a fact. For those people Kotlin is a perfect alternative, 80/20-style.