3 ms·
It's easy to see Java culture for what it is when you embrace Kotlin which is fully Java-compatible yet doesn't ape the over-abstraction and verbosity of Java.
by cutler 6y ago
It's easy to see Java culture for what it is when you embrace Kotlin which is fully Java-compatible yet doesn't ape the over-abstraction and verbosity of Java. Kotlin releases you from the OOP-only straightjacket of Java. I recently wrote an API with Kotilin/Ktor using only functions and it was a piece of cake. Not a single AbstractProxyServiceBuilderFactory in the whole codebase. Kotlin's multi-paradigm approach makes it an ideal candidate for projects begun in Ruby or Python which need to scale as all these languages are OO-based but with the option of going procedural or functional when required. PHP is weird. After PHP5 was released it's as if a spell was cast on the whole community compelling them to write their code as if the language suffered from the constraints of Java. Talk about culture envy. Procedural PHP seemed to just vanish as if it had been deprecated. So Java culture has infected other languages, notably PHP and C#.
- p2detar 6y agoFunny, I write both Java and Kotlin code. My Java code has 0 AbstractProxyServiceBuilderFactory classes. But then again, I don’t follow the common Spring culture. In one of my earliest jobs, I used to write j2me games. The code had 0 new allocations, mostly static stuff neatly organized in final classes. All of this due to hardware limitations. My point is, the language != culture.
- cutler 6y agoThat's fine when you work solo but Java, more than any language, was designed for teamwork and that's where what's idiomatic tends to weigh heavily.
- p2detar 6y agoI'm sorry if I implied that I do solo work with Java or j2me. That was/is rarely the case. But I don't really understand your point about idiomatic. Modern (new) languages, like Kotlin or Go, are less intended for teamwork or less idiomatic? That can't be true.