3 ms·
Java's new features are always going to be on paper. The ecosystem, with all its legacy code, is always going to be a decade behind. And if you are starting a n
by esafak 11mo ago
Java's new features are always going to be on paper. The ecosystem, with all its legacy code, is always going to be a decade behind. And if you are starting a new project, why would you pick Java over Kotlin?
- hylaride 11mo agoThat's kind of what I'm asking. I did have a former co-worker write a micro service in Kotlin around 2018. He said that as nice as the language is, the ecosystem was (at the time, not sure how it is today) so utterly dominated by Android development, that he said he wouldn't recommend using it again - half the time he was calling out Java anyways.
- esafak 11mo agoI use kotlin and I do not feel oppressed by Android in any way. And I'd rather call Java libraries from Kotlin than Java. Many have Kotlin wrappers.
- dtech 11mo agoThat's a weird take. Even if true, kotlin has perfect interop with calling Java libs so there's not really a downside to keep using Java libs. There's not that much demand for kotlin-specific libs outside multiplatform which includes Android. For what it's worth, Spring has first tier Kotlin support, I haven't noticed this bias.
- gavinray 11mo agoKotlins "ecosystem" is all of Java, and then all of Kotlin. Put another way: Java only has access to a subset of the ecosystem Almost all of the backend libraries I use are Java libs. Some of them have additional Kotlin extension libs that add syntax sugar for more idiomatic code.
- adrianN 11mo agoIt’s a lot cheaper to hire for Java than for „modern“ languages.
- blandflakes 11mo agoHave you ever heard the expression "you get what you pay for?"
- still_grokking 11mo agoPeople on HN down-voting facts? And yes, "you get what you pay for" is part of this.
- frje1400 11mo ago> And if you are starting a new project, why would you pick Java over Kotlin? Because in 5-10 years you'll have a Java project that people can still maintain as if it's any other Java project. If you pick Kotlin, that might at that point no longer be a popular language in whatever niche you are in. What used to be the cool Kotlin project is now seen as a burden. See: Groovy, Clojure, Scala. Of course, I recognize that not all projects work on these kinds of timelines, but many do, including most things that I work on.
- wrathofmonads 11mo agoClojure has never been a popular language, nor has it aimed to be mainstream. That is the Lisp curse. It has never positioned itself as a "better Java". It shines in applications where immutable, consistent, and queryable data is crucial, and it has found another niche in UIs through ClojureScript.
- fulafel 11mo agoI don't think Clojure belongs there. It was never as big as Kotlin, but it's got great community, longevity and takes backwards compatibility very seriously, and 10 year old Clojure projects seem to be aging at least as well as 10 year old Java projects.
- esafak 11mo agoKotlin has already been around for ~10 years and it's in the TIOBE top 20. https://www.tiobe.com/tiobe-index/kotlin/ https://www.tiobe.com/tiobe-index/kotlin/
- still_grokking 11mo agohttps://nindalf.com/posts/stop-citing-tiobe/ https://nindalf.com/posts/stop-citing-tiobe/ https://medium.com/@ankushroy7/tiobe-is-trash-why-it-gets-more-credit-than-it-deserves-what-to-use-instead-afccc415b978 https://medium.com/@ankushroy7/tiobe-is-trash-why-it-gets-mo... Tiobe bullshit unfolding looks like: https://news.ycombinator.com/item?id=24997496 https://news.ycombinator.com/item?id=24997496
- pjmlp 11mo agoBecause the Java Virtual Machine is designed for Java, and that is what all vendors care about. Kotlin is Google's C#, with Android being Google's .NET, after Google being sued by coming up with Google's J++, Android Java dialect. Since Google wasn't able to come up with a replacement themselves, Fuchsia/Dart lost the internal politics, they adopted the language of the JetBrains, thanks to internal JetBrains advocates.
- bhawks 11mo ago| Android being Google's .NET, after Google being sued by coming up with Google's J++, Android Java dialect. The Oracle v Google was specifically over copyright infringement concerning the Java APIs used in Android's original implementation (Dalvik/ART), not about creating a "J++" dialect. Android never ran a JVM on mobile because it cannot be optimized for resource constrained devices a solution like DalvikVM was necessary. If you want to level critiques about creating fragmented dialects of Java I would recommend starting with J2ME. The only nice thing I can say about J2ME is at least it died. The Android ecosystem was far too mature for Fuchsia/Dart to be successful without a very compelling interop story that was never produced. As a technology Kotlin met Android's platform and community needs. Advocacy and politicking played a minimal, if any, role.
- pjmlp 11mo agoLies sold by Google. Nokia and Sony Ericsson were using J2ME perfectly fine, as did Blackberry. I should know ad ex-Nokian. Kotlin met nothing, it was pushed by Kotlin heads working on Android Studio, telling lies comparing Kotlin to Java 7, instead of Java was already offering at the time. To this day they never do Kotlin vs Java samples, where modern Java is used, rather the version that bests fits their purpose to sell why Kotlin. Fragmentation, what a joke, the fragmentation got so bad in Android, that JetPack libraries, previously Android X, exist to work around the fragmentation and lack of OEM updates. Gosling said it better, regarding Google's "good" intentions https://www.youtube.com/watch?v=ZYw3X4RZv6Y&feature=youtu.be&t=57m42s https://www.youtube.com/watch?v=ZYw3X4RZv6Y&feature=youtu.be...
- 11mo ago
- spicybbq 11mo ago> And if you are starting a new project, why would you pick Java over Kotlin? I've written multiple production services in Kotlin Spring Boot. Now, we're building a new system and using Java 21 (25 soon). Why? Kotlin the language is great, but there are corresponding tradeoffs in interop. Meanwhile, Java the language has improved to the point that it's good enough, and Java feels like it's headed in the right direction. In my opinion, AI models are better at Java than Kotlin. If you prefer a weaker claim, the models are trained on more Java code than Kotlin code. Finally, from an enterprise perspective, it is a safer long-term investment for a Java shop to own an application written in Java rather than in Kotlin.
- vips7L 11mo agoThe ecosystem is perfectly fine. You’re more than likely using the ecosystem when you choose Kotlin, that’s the whole point. This comment doesn’t make any sense.