top | item 25479168

(no title)

knur | 5 years ago

I've been using kotlin in the backend for a few years now, in a team of more than 50 engineers.

The experience is for the most part pleasing, and I'm sure you will find a lot claims supporting that, so I'll focus on the things that I don't like:

* people tend to abuse some of the features (like extension functions), which sometimes does more harm in terms of readability

* Kotlin offers means to do quasi-functional programming, and people tend to write horrible one liners just for the sake of it.

* most tooling seems stuck in Java 8. So you are stuck in that ecosystem (you can, though, compile with Java 8 and run in java 11 of course).

* for mid-sized applications where it makes sense to use DI, using kapt is sometimes a pain (it's better this days, but still I hate the thing)

* even though the jetbrains support is first class, it is still considerably slower then pure Java code. * very personal: I've come to miss Java's verboseness.

* some tools don't integrate well with it (yet)... So do not expect things like static analyzers to be good or even existent.

discuss

order

cs-szazz|5 years ago

Very similar experience, especially around people abusing extension functions and opting for clever one-liners. We had to really push back on that during code reviews, but even then we still have some weird code in certain spots.