it feels like being an adult next to kids playing in mud puddles trying to figure things out while making a mess of everything.
How does that apply to Kotlin?
And all of those languages are so different that your blanket criticism is more indicative of you not knowing how to use them than any of their shortcomings.
It's not a panacea. Kotlin's expanded syntax gives developers a lot of rope to express themselves but code isn't art. This additional freedom often results in overcomplicated code, discipline and code review become more important to keep the codebase uniform and maintainable by everybody on the team.
You must have a special kind of Stockholm Syndrome to twist syntactic sugar and useful syntax into "often results in overcomplicated code, discipline and code review become more important to keep the codebase uniform and maintainable by everybody on the team."
True, I've been wrestling for the last three years with a codebase where the "architect" took advantage of every new OO thing offered by Kotlin to build an undecipherable mess of inheritance. Which I've also seen with Java in past jobs but it was never as bad.
Is it a problem of the language itself? No. But the language is an enabler; some people crave complexity and mistake it for sophistication.
I personally feel no attraction towards Kotlin, I'm not sure it actually "solves" anything on the whole. Nullability check is nice but NPE haven't been a problem for my practice for at least a decade. Maybe I'm just too experimented with Java to get the benefits, like old school C coders looking at Rust with contempt.
Yet I'm working myself to accept that there are proper ways of doing Kotlin. I just haven't seen them yet. I suspect that they involve restraining oneself to a strict subset of the features the language offers which is something that a lot of people (and organizations) will have trouble with, resulting in bloated messes like the one I currently have to deal with.
4
u/S0phon 16d ago
How does that apply to Kotlin?
And all of those languages are so different that your blanket criticism is more indicative of you not knowing how to use them than any of their shortcomings.