You’re probably not leveraging the functional natu...
# spring
r
You’re probably not leveraging the functional nature of Kotlin, which is, in my opinion, the greatest advantage. Kotlin is more expressive, more concise, safer, and truly multi-paradigm. Honestly I’ve yet to hear a good reason why sticking with java is rational. It’s usually just people that want to stick with what they already know.
a
When you have millions of LOC in Java and multiple teams around the globe on the same project. Even new Java features can introduce issues (Streams, Optionals, CompletableFutures), it takes time to accommodate and work out concise style. It takes time. Also you need to sell it somehow to management, "expressive, multi-paradigm" are kinda bad points. And I guarantee that not many developers will be happy to learn new language just to have nullability (java have nullability annotations though)/expressiveness/dataclasses (lombok)/sealed classes (poor java experience), because everything else is covered by Spring or other library and there is no point in replacing it, because benefits are too small, and codebase is too huge.
r
If you think Kotlin is just about nullability in the type system you’re missing the point
although I do empathize with the large codebase being tough to change
a
it is not, I'm just saying you need some reasoning "why should we start using kotlin now"
Most of your "good points" are good from the side of experience programmer, who knows at least 5-10 languages with different paradigms, and by knowing I mean that he has some real experience and concise (canonic) style (e.g many people claim to know C++, but everyone is ignoring core guidelines (or better: never heard of it), have no company codestyle and literally using C++ as C with classes). But in such big international projects it's a bad thing. Java is simple, the more simple (and boilerplate) the code, the better. Kotlin is not drop in replacement, so people need to learn it. I was thinking about introducing Kotlin to my company, but after some thinking I understand that there is no point in it. All the benefits are too small.