2 ms·
Kotlin is a cool language, but doesn't do enough to differentiate itself from Java 8. There are real benefits to picking the mainstream / popular option, which
by bad_user 10y ago
Kotlin is a cool language, but doesn't do enough to differentiate itself from Java 8.
There are real benefits to picking the mainstream / popular option, which includes tons of documentation, forum discussions, books and developers available immediately for it. So when you go against the mainstream, those alternative tools have to be worth it.
I think Scala got over the worthiness threshold, by exposing one of the best OOP implementations exposed in a static language, sane generics, higher kinded types and implicits which make it possible to encode type-classes, which led to a community emphasizing on functional programming.
I think Kotlin isn't over that threshold. Some people view its thin layer approach to be an advantage. But it either has to evolve in being more than that, or to divorce itself from the JVM, because it is in direct competition with Java 8 otherwise. Evolving to be more than a Java++ goes against its own philosophy. Divorcing itself from the JVM is a work in progress, they also have a Javascript compiler, but the results aren't convincing enough for now.
It's a nice language, but personally I like those with a strong community of functional programmers and libraries. If I'll see http://typelevel.org http://typelevel.org for Kotlin, I might reconsider.
- virtualwhys 10y ago> but doesn't do enough to differentiate itself from Java 8 Short of implicits and higher kinded types what has Kotlin not yet copied from Scala? FP in the pure sense is still very much niche, nobody cares about Scalaz and Cats in Java land. Providing a less powerful Scala as an alternative to Java might very well prove to be a great strategic move. Scala's certainly not going mainstream anytime soon, probably in part due to its being too powerful. Going on 6 years in Scala, staying put for now, but will jump ship if/when something better comes along (for me Kotlin is not it).