5 ms·
Yet Java is still a defacto choice even today. Arguably minimal fuss & stable. Java code written today will still run without change in 5 years. Can't say the
by cobookman 7y ago
Yet Java is still a defacto choice even today.
Arguably minimal fuss & stable. Java code written today will still run without change in 5 years. Can't say the same of other languages.
What other language would you recommend for a large eng organization of 1000+ ppl?
- rebeccaskinner 7y agoI would argue that in an organization with 1000+ developers, trying to pick a single language is doomed regardless of what that language is.
- mpiedrav 7y agoPython (3.x, as 2.x is mostly deprecated) can do and there are plenty of libraries around. Not just for data science, but about everything under the Sun. For performance-critical sections, you can plug in C/C++, wrapped in Python APIs. A 500K SLOC project in Python might be unwieldy, though.
- philwelch 7y ago> Python (3.x, as 2.x is mostly deprecated) can do and there are plenty of libraries around. Not just for data science, but about everything under the Sun. Unfortunately there's no great way of managing all of those dependencies for build and deployment.
- koolba 7y ago> Java code written today will still run without change in 5 years. Can't say the same of other languages. That’s only half true now that Java actually has a steady release cycle. There were plenty of breaking changes from 8+.
- stickfigure 7y agoAs a polyglot, I have to say this is a misleading and false equivalence. The upgrade treadmill in Java is nothing like the upgrade treadmill in any other popular language - certainly not Javascript, Python, Ruby, or Go.
- koolba 7y agoIt's nowhere near as much as those languages but it's also nowhere near as seamless as it was for prior versions. Non-trivial applications and libraries do break going from 8 to 8+ (usually on the way to 9 but sometimes 11 as well). This is in contrast to the legendary backwards compatibility of 1.4 to 1.5 to 6 to 7 to 8.
- verdverm 7y agoGolang
- rhizome 7y agoWhat languages can't run 5yo code right now?
- webkike 7y agoYou can say the same with plenty of languages.
- devnulloverflow 7y agoI can't think of a single use case where Java is more useful than C++. Unless it is the "we've hired some Java programmers, now what do we do with them" use case.
- petersellers 7y agoAndroid apps? How about pretty much any web app?
- eloff 7y agoYou literally could not pay me to program in Java. I've written non trivial code in over twenty languages, but Java, php, and perl are so bad for team projects that I would rather find a different job.
- kjeetgill 7y agoI was ready to be sarcastic here, but I'm curious which of your 17 other languages do you prefer? And why? And to do what? I've always found that Java particularly shines in team settings in a way that a lot of individual productivity languages like python and Ruby fall down atleast. Obviously there is a broad spectrum of other languages between and beyond them, but which do you prefer?
- eloff 7y agoMy favorite for a decade was Python, but it falls down in bigger teams and projects. A little better these days with the static typing available and proper linters and formatters, but not my first choice anymore. I like Go and Rust the most these days. Not because they're perfect by any means, but they avoid a lot of traps of the other languages and scale well for the whole lifecycle of actual software development in teams. Java is bad for a few reasons. The JVM makes everything an object on the heap, which means you're always in a war with your garbage collector. You have to run in bigger machines with plenty of memory headroom. There's a lot of backward compatibility cruft, like the fake generics. The worst part is the people though. The language is too mainstream but not hard enough to weed out the bad coders, and they make a mess out of the code base.
- dclusin 7y agoStreams and lambdas have really helped reduce boiler plate. Libraries like Lombok reduce it even further.