5 ms·
>Do Java projects in industry even use the new stuff? Yes. Kotlin fans need to understand that Kotlin is not competing with the old Java ways and stop mentioni
by ivan_gammel 3y ago
>Do Java projects in industry even use the new stuff?
Yes. Kotlin fans need to understand that Kotlin is not competing with the old Java ways and stop mentioning bloody enterprise as an argument against Java, because bloody enterprise is largely ignorant to Kotlin‘s cause. EnterpriseStrategyAdapter anti-pattern is not a language problem, it is a management problem. It won’t be solved neither by new features of Java nor by new features of Kotlin. The real competition is in the new code in startups and Java has one big advantage there: faster recruiting, more reliability in tooling, better quality of business code for the money.
Kotlin is a good perk for developers in late stage startups, where the teams are big, delivery timelines more relaxed and you can afford fancy but less mature language or tool to consume resources instead of delivering more business value.
- esafak 3y agoYour sibling commenter said (s)he just got off Java 8 in 2023. My experience was similar; that's why I asked. Also, it's hard to find Java programmers who haven't been tainted by that enterprise mentality, so in a way it makes hiring hard if you don't have the resources to filter the junk. When you see Clojure or Scala on a resume you know they're above that.
- ivan_gammel 3y agoWell, my team is now on latest LTS (21) and we do use new features in our code. Hiring an engineer who can write modern code is not any more difficult than hiring without this requirement. It is generally a management problem, that any skilled senior manager should be able to solve. After all, enterprise anti-patterns are not uncurable poison, e.g. switching to record-style accessors is something people can do on their first day easily.
- msy 3y agoI could count the number of startups I’m aware of building on Java on one hand, after a wood chipper accident. For perf it’s rust, for web it’s Go or node/deno/bun for single front/back language.
- ivan_gammel 3y agoI know a number of them, but that’s not really important. You didn’t mention Kotlin, right? :) Often enough whatever stack was used at the seed stage, it is eventually either replaced or complemented by Java, meaning that new code is written either on latest LTS or even on evergreen version.
- DeathArrow 3y agoSo you think Rust and Go are more frequently used than Java for new code? Do you have something to support you claim? Looking at TIOBE and PYPL, it comes that for backend Java and .NET are huge, followed by .Node.js, followed by Python and then PHP.
- threeseed 3y agoJava is often faster than Rust on typical single-threaded code. Rust is faster when you want to leverage features like SIMD. And when it comes to concurrency Rust is the worst language I've ever used by far. The type checker makes dealing with objects between threads extremely painful. With the JVM it's all just handed for you. Rust is great when you want a tiny binary with minimal memory consumption.
- MrBuddyCasino 3y agoI have never seen Golang being used for business logic backends, its Java, Kotlin or .NET, and then nothing else for a long while. It is not expressive enough but shines in other areas, mainly infrastructure. Remember that "Systems Programming", which is what Golang was designed for, isn't necessarily just Kernel and device drivers, but everything that isn't "Application Programming", and that includes the whole K8S networking and container stuff where it is very successful.
- mustermannBB 3y agoKotlin is weird inclusion in that list with Java and .NET unless you'd include Android.
- DeathArrow 3y ago>Kotlin is a good perk for developers in late stage startups, where the teams are big, delivery timelines more relaxed and you can afford fancy but less mature language or tool to consume resources instead of delivering more business value. The proof being?
- the_gipsy 3y ago> new code in startups and Java has one big advantage there: faster recruiting, more reliability in tooling, better quality of business code for the money. You're delusional if you really think any of this is true. There are, proportionally to "enterprise", extremely few startups using java. For good reasons.
- ivan_gammel 3y agoI have no idea what „good reasons“ are you talking about except fancy language as a compensation perk. Java is a good choice for startups, even if it is not the most popular choice (often for bad reasons). I have proven it several times by being able to ship working and scalable solutions quickly and hiring decent team with time to close open vacancy within 1 month.