, web framework already written in Kotlin.
It's relatively small library, so we often need to extend it with a bit of custom methods.
To avoid mess created by static utility methods, we're extending base objects with extension functions.
State of Java - Quite primitive generic types implementation, mutable collections, rotting std,
nullable black holes and lack of significant changes since JDK8
made the overall experience worse for standard web application speaking of representation of business logic.
Nullability - A possibility to replace Optionals with nullable types and overall better support on language level reduces complexity.
Functional programming - Suited to FP-like codebase on syntax & std level.
Stable - Finally, Gradle 7.x+ and Kotlin 1.4+ are pretty damn stable for our needs.
Relatively easy - There is no big difference between Kotlin and Java,
every open-minded Java developer should be able to write in Kotlin within an hour.
If you're Java developer that never had contact with Kotlin, check our