Live data from Hacker News

Don’t call it a comeback: Java is still champ

github.com

41–50 of 557 posts

Re: Don’t call it a comeback: Java is still champ

#41

...and it's still a security nightmare... I think some developers took "write once, run anywhere" as a challenge, which is why I still have to keep virtual machines with ancient Java versions around to configure and use certain remote IP-based KVMs, certain IPMI functions, certain older fibre channel switches, certain poorly thought out IP cameras, and so on.

Java has been very good at backwards compatibility for me except when they removed some unsupported internal classes from the 1.9 JDK, but there existed a workaround for still using it.

I don't worry about security problems in the JDK or major libraries any more than anything else. I'm not sure where your security concerns are coming from.

Re: Don’t call it a comeback: Java is still champ

#42

Earlier quoted context omitted.

Corollas don't come with all sorts of weird (now aging) buzzword-driven preferences like nudging you towards xml, factories, etc.

Personal rant: I've never understood the hate towards XML. It's a practical and flexible markup language that does not depend on whitespace or quoting every bloody thing. Plus, every markup language invented since has had to re-invent XML things that, surprise surprise were actually needed. Paths, schemas, comments, etc. I get frustrated with JSON because of things I could do in XML that I can't do in JSON without br…

You consider JSON to be more verbose than XML? I'm curious to hear why.

Re: Don’t call it a comeback: Java is still champ

#43

...and it's still a security nightmare... I think some developers took "write once, run anywhere" as a challenge, which is why I still have to keep virtual machines with ancient Java versions around to configure and use certain remote IP-based KVMs, certain IPMI functions, certain older fibre channel switches, certain poorly thought out IP cameras, and so on.

Why is that Java’s fault? Isn’t that the fault of the developers of your applications from not upgrading?

Re: Don’t call it a comeback: Java is still champ

#44
post #11

I recently started a side new project in Java targetting GraalVM with language version 17. Aside from Java's innate finickyness, it has been an unexpected pleasure. I think a lot of it has to do with its static typing (I typically work in dynamic languages, and it's nice knowing that if the program compiles it likely works), and how simple the language keeps its primitives. But you need really good tooling to use it,…

Have you explored Kotlin? It's really not just for Android.

Re: Don’t call it a comeback: Java is still champ

#45

Earlier quoted context omitted.

Corollas don't come with all sorts of weird (now aging) buzzword-driven preferences like nudging you towards xml, factories, etc.

Personal rant: I've never understood the hate towards XML. It's a practical and flexible markup language that does not depend on whitespace or quoting every bloody thing. Plus, every markup language invented since has had to re-invent XML things that, surprise surprise were actually needed. Paths, schemas, comments, etc. I get frustrated with JSON because of things I could do in XML that I can't do in JSON without br…

I think people dislike XML precisely because it's so flexible and unopinionated. It means that when you're parsing a new XML source, you have to look for data that might be encoded in two or three little niches. God help you if it's encoded in each of them, and if the data therein is contradictory. Basically, it's easy to "hold it wrong" in a way that harms consumers.

Re: Don’t call it a comeback: Java is still champ

#46
I wrote a lot of small Java programs when I was in school, and Eclipse felt like being on developer steroids compared to using an IDE with a dynamic language. My software just worked and was pretty fast. I have mostly worked with Python since I became a pro developer and I often wish it was a more "boring" language.

Re: Don’t call it a comeback: Java is still champ

#47
post #5

Java's adequate. It's like a Toyota Corolla (insert your boring car of choice here if you don't feel this one works for the analogy). Not the prettiest, not the fastest, not the most efficient. But it gets you from point A to point B with little fuss or muss. I totally get why companies adopt and standardize on it. Do I use it for personal projects? Nope. Because it's not fun to "drive". For that, I pick the equivale…

What does that make Scala? A RAV4?

A Pontiac Aztek.

Re: Don’t call it a comeback: Java is still champ

#48
post #43

...and it's still a security nightmare... I think some developers took "write once, run anywhere" as a challenge, which is why I still have to keep virtual machines with ancient Java versions around to configure and use certain remote IP-based KVMs, certain IPMI functions, certain older fibre channel switches, certain poorly thought out IP cameras, and so on.

Why is that Java’s fault? Isn’t that the fault of the developers of your applications from not upgrading?

I might be wrong but I think they stopped working on major new versions for a decade. There seems to be Java 6 or 1.6 or whatever for a really long time. Like Netscape's version 4.

Re: Don’t call it a comeback: Java is still champ

#50
post #3

Earlier quoted context omitted.

Hmm Javascript has async though, no?

That's exactly what was meant. With Loom Java will hopefully not have the same function split as languages like JavaScript (or C# for that matter) where you have to add lots of async/await everywhere; and instead will have something like Go (where everything is async). https://journal.stuffwithstuff.com/2015/02/01/what-color-is-...

I don't understand the part about go, does that mean go doesn't require async but gives you the functionality of async? (I never tried go)

The problem with async is that we can separate when to start a task and when to ask for its result. The compiler can just add await everywhere an async function is called, it is trivial, but you don't get the flexibility of async. If everything is treated as async, you will need to await everything (perhaps some syntactic sugar to allow for immediate await)

Post reply on HN