this post was submitted on 24 Jan 2024
36 points (90.9% liked)
Java
1432 readers
1 users here now
For discussing Java, the JVM, languages that run on the JVM, and other related technologies.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Well Lemmy is Rust - Plus Lemmy is already an alternative for Reddit, so all the "normies" are still on Reddit - So Lemmy itself is already a bit of a niche sample size.
Rust developers are already known (/memed) to be elitist about Rust - and "Java is Bad" is also just the general consensus among developers, especially ones using more niche languages
They're also extremely toxic. An example from 4 months ago when they vandalized cppreference.com :
The meme is that most Rust devs merely shout slogans like "memory-safety" without knowing what they mean, precisely because many of them come from web dev backgrounds (this video by Prime Time proves why that's problematic: https://www.youtube.com/watch?v=Wz0H8HFkI9U , the guy has no clue what
std::unique_ptr
is) and have never touched a pointer in their lives. Easy and "appealing to hobbyists" languages are always an issue as the community usually ends up becoming toxic and full of wrong practices being normalized, and a prime example of that is PHP.Another example is how Lemmy initially struggled to handle 10k~20k users during the Reddit exodus despite the backend being written in the "ultra-fast memory-safe totally-will-replace-C++" Rust. Why? See this: https://github.com/LemmyNet/lemmy/issues/2877 and they were doing stuff like joining huge-ass tables before the filtering. If phiresky didn't save them with his SQL prowess Lemmy would have literally died and its backend being written in Rust would not have changed a single thing.
Rust gives hobbyists the illusion that their projects will suddenly become fast and bug-free if they write them in Rust, and they don't even hide that mentality as you can see that on almost every single project that's written in Rust they list "written in Rust" as the main selling argument. This is probably the only language I've seen where this happens.
Now as for the "Java bad", I'm kind of guilty of it too. I very much dislike how academia is obsessed with UML diagrams and the "Java way" of seeing OOP and interfaces everywhere. CPUs and GPUs do not think in OOP. They do not see "objects". They see data, registers, caches, branches but certainly not your "beautiful abstract class". When you think you did a good job of crafting a "clean" UML diagram with lots of "nice interfaces" which you then implement using virtual polymorphism in C++ and abuse
dynamic_cast
, you're torturing the CPU with indirections, cache misses and branch mispredictions. Dynamic polymorphism and virtual inheritance in particular should not be the standard way to solve problems, yet that's exactly what academia teaches and most of those who push those ideas coincidentally also happen to be from Java backgrounds and that's why the "Java bad" meme is still alive.That said, beyond academia, I think it's obviously stupid to religiously shit on Java. Lot's of advanced features are coming out, Android is a thing thanks to Java and lots of web services are working with high reliability thanks to it. Also obviously, one has a much better chance at landing a high-paid software engineering job if one knows Java than if one knew only Rust.
Thank you for the detailed answer