3 ms·
I really enjoy Java: static typing, near-cpp execution speed, and a very mature set of build tools. …And an emphasis on long term stability. The ecosystem seem
by exabrial 4y ago
I really enjoy Java: static typing, near-cpp execution speed, and a very mature set of build tools.
…And an emphasis on long term stability. The ecosystem seems to understand this. If you’re building things that will last over a year, use Java.
- nailer 4y agoI think the mentality has changed. We know unmaintained systems fail, so updates are considered part of the cost. That old app that has a bunch of exploits and network stack bugs is probably going to be Java.
- hugi 4y agoYou can write unmaintained applications in any language or stack. An unmaintained system is not the language's fault, it's the maintainer's fault.
- nailer 4y agoSure it’s a culture thing, not a technical thing, but programming languages are technology with their own culture around them. Parent poster was advocating for ’write it and you’re done’ which was the nineties / early 2000s mentality. Because of the time Java was released it’s still common to think this way. Not a slight on Java, there’s things we’ll believe in 2040 that 2023 people won’t quite feel the same way about.
- hugi 4y agoI didn't understand the parent poster as advocating for "write it and you're done". To me "long term stability" and "things that will last over a year" simply mean it excels at creating maintainable software. Sure, the mentality you mention has always existed, regardless of language or environment. But I believe that by it's verbose, static nature, Java's maintainability is a great tool to fight against it.
- nailer 4y agoInteresting. I don’t see any additional value using Java over any other language for long term software that is actually maintained - supporting eg old versions of the compiler / runtime is an indication the parent is in the (still very common in some companies) ‘make it and it’s done’ approach. Oracle is appealing to the same companies that want to run Operating Systems till the end of life.
- pulse7 4y agoAnd "the fastest growing Kotlin", which runs on the same JVM will solve all those "exploits and network stack bugs"?
- nailer 4y agoNot at all. You have to be very careful about the tools you use and how to use them. Picking the latest thing because it has new tech is a bad idea, just like believing unmaintained software will keep working is a bad idea.
- bluepizza 4y agoThat's true when you have plenty engineering power at your disposal. Most companies can't afford to regularly replace their legacies. That's how they became legacies, after all.
- nailer 4y agoMaintenance isn’t replacement. It’s maintenance. The companies that don’t maintain end up replacing. And perhaps paying even more, when the big bang replacement project has troubles.
- hotpotamus 4y agoAccording to Oracle's roadmap, Java 8 is scheduled to get support from March 2014 to December 2030, and I can't think of other software that has ever had that long of a support lifecycle.
- lolive 4y agoSame feeling here. But my professional life has made me switch between Java, TS and Python. So in term of time spent, Java is now probably my number 3. But the one I definitely enjoy the most. Plus 99% of the production code I ship is in Java.