this post was submitted on 07 Sep 2024
235 points (96.8% liked)

Programmer Humor

19701 readers
213 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
235
Java Was The Future (files.catbox.moe)
submitted 2 months ago* (last edited 2 months ago) by [email protected] to c/programmer_humor
you are viewing a single comment's thread
view the rest of the comments
[–] Redkey 11 points 2 months ago (2 children)

I first learned about Java in the late 90s and it sounded fantastic. "Write once, run anywhere!" Great!

After I got past "Hello world!" and other simple text output tutorials, things took a turn for the worse. It seemed like if you wanted to do just about anything beyond producing text output with compile-time data (e.g. graphics, sound, file access), you needed to figure out what platform and which edition/version of Java your program was being run on, so you could import the right libraries and call the right functions with the right parameters. I guess that technically this was still "write once, run anywhere".

After that, I learned just enough Java to squeak past a university project that required it, then promptly forgot all of it.

I feel like Sun was trying to hit multiple moving targets at the same time, and failing to land a solid hit on any of them. They were laser-focused on portable binaries, but without standardized storage or multimedia APIs at a time when even low-powered devices were starting to come with those capabilities. I presume that things are better now, but I've never been tempted to have another look. Even just trying to get my machines set up to run other people's Java programs has been enough to keep me away.

[–] [email protected] 6 points 2 months ago (2 children)

It doesn't help that they keep deprecating and changing standard stuff every other version. It's like they can't make up their mind and everything may be subject to change. Updating to the most recent release can suddenly cause 10s or 100s of compiler warnings/errors and things may no longer behave the same. Then you look up the new documentation and realize that you have to refactor a large part of the codebase because the "new way" is for whatever reason vastly different.

[–] JackbyDev 3 points 2 months ago

Can you give some examples? I'm my experience Java has been pretty easy to upgrade to new versions. 9 was a bit wacky but that was it. It's definitely been less of a headache than worrying about using Python 2 versus 3, for example.

[–] JaxNakamura 1 points 2 months ago

They made it free so they could sell courses and consultancy hours. Can't do that if it's all straightforward. It's the death star of complexity.

[–] [email protected] 2 points 1 week ago

What I noticed right away was: It's the ugliest hello world ever. It's the slowest hello world ever. (For a long time it was also the record size hello world at something like 64MB, but that's later and on a compiler.) And it doesn't actually run on any platform except one: jre. And most binaries you find only run on one version of that one brand of jre.

Still, not the worst thing for writing web services in in late 90s. Doesn't matter how slow it starts or how much space it takes. Responding to requests, being familiar to new programmers and living in a sandbox was enough.