this post was submitted on 06 Apr 2024
67 points (82.5% liked)
Fediverse
28744 readers
51 users here now
A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).
If you wanted to get help with moderating your own community then head over to !moderators@lemmy.world!
Rules
- Posts must be on topic.
- Be respectful of others.
- Cite the sources used for graphs and other statistics.
- Follow the general Lemmy.world rules.
Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy
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
It literally is. The main maintainer didn’t want to learn Rust.
That's not true, I wrote a blog post about it: https://jasongr.im/blog/why-i-started-sublinks/
Even if that were true - does it matter?
Java is a perfectly valid choice for something like this.
Yes, Rust is “faster”, uses less memory, etc…
Java is fast enough, though. It offers a fantastic ecosystem and, seeing as these projects are ran by volunteers who do this in their free time, there’s a lot more people willing to chip in some work.
Rust's speed is a cherry on top. The main reason to use it is its language design / correctness guarantees.
I've been programming for several decades and understand nuance and subjectivity vs objectivity when it comes to this, and strongly believe Rust is just objectively much better than Java as a language.
One example is that Rust doesn't have null while Java does. The creator of null gave an excellent talk called The Billion Dollar Mistake about why null was such a bad idea, and said languages shouldn't not have used it. Instead, the alternative he gives is what Rust does.
Things like this are actually hugely important.
Also, Rust was "most loved" language in the StackOverflow developer survey for eight years in a row for a reason.
https://survey.stackoverflow.co/2023/#section-admired-and-desired-programming-scripting-and-markup-languages
Other than Sublinks, I have never seen anyone post about how they really want to work with Java.
I have seen people wanting to do Java, and while I personally prefer rust, I do see why.
Outside of the entire Sublinks discussion, it’s important to note that Java is not just Java anymore either. Kotlin offers many of the same advantages syntax-wise that Rust does (including the lack of null), and has access to Java’s excellent ecosystem.
Ultimately, it is up to people to decide what they want to use. Regarding of your opinions on Java or Rust, it is a valid choice either way for this type of software. It’s a personal choice.
Yes because it fragments development of an already not well supported platform
How? The sublinks devs started the project just because they didn’t want to work on Lemmy for whatever reason. If they did, they would have worked on Lemmy. It’s either Lemmy AND Sublinks, or Just Lemmy with the same developers.
Having multiple implementations is a good thing, regardless of what language they use. They all implement the same protocol, should be (mostly) compatible, and can learn from (and compete with) each other.
Look at other OSS. There’s so many Linux distributions, Why doesn’t everyone just work on a single one?
Because everyone has a slightly different view on things. This makes the OSS community stronger.
So rather than the relatively simple task of learning rust (honestly not that tough for any half decent engineer, a couple of weekend toy projects had me more or less up to speed with it) they're going to rebuild and track lemmy API changes—a technically endless task?
And I've just seen it's Spring Boot too, which I'm fairly sure most of the industry is trying to move away from.
Shame the engineers want to spend all that effort that would be better spent improving lemmy rather than fracturing development resources between the two projects.
~~I've now gone from ambivalent towards this to actively hoping it fails.~~
Edit: see the above comment's blog post for more context that changed my mind
Java isn't my preferred language. I did learn Rust to try to contribute but found the code base in less than ideal state and the process of contributing to risky. They don't always accept all PRs. I also have low faith in the success of Lemmy due to it's poor QA process and it's major lack of features.
I believe Java is the best option for this type of application, I almost did it in PHP. My goal was to attract as many people as possible to want to contribute. It's worked, I have a ton of people contributing in some way, Sublinks roadmap is clear and organized, and we have a super-motivated and driven team.
We won't fail.
You know what, I've read your blog post linked to another reply and understand your reasoning more and it now seems like a much less hostile project than it was initially coming across, which at the end of my previous comment had started to look a bit like EEE to me. I'm a lot less negative towards the project now I know you guys have attempted to contribute to lemmy unsuccessfully in a few ways.
I'm still a little sad that a cooperative solution couldn't be worked out with the Lemmy guys, as more people pulling the same way is always better than two groups pulling in different directions IMO (even if they're currently aligned today), especially for relatively small projects like these. But if that wasn't ever gonna happen for whatever reason, I get the reason for a split.
FWIW, the language doesn't really matter if it does the job effectively, it wouldn't have been my choice, but obviously I'm not the one building it so that doesn't really matter. I've been "lucky" enough to have seen multiple horror shows in perl which are still in production today and serve miraculous amounts of traffic—again it absolutely wouldn't be my choice, but it does the job.
So good luck then, it will be interesting to see how things develop with this project. I'll edit out the last line of my previous comment.
Nice comment, have a good one
Why?
It's a reputable web development language and Spring Framework is very robust. I knew it would make development very quick and easy. Also, everyone learns Java just a little so I feel like it's easy for the average person to contribute. Rust is certainly fun but Java is tried and true. The organization of the Lemmy project's code vs Sublinks is night and day. It's so easy to extend and grow Sublinks.
That would be news to me, someone in the industry, who works with Spring Boot.
Got anything to back that up?
They don’t because it’s not true.
There’s a few things moving to quarkus, but a lot of that is being pushed by Redhat (whose own software was not even spring boot but JEE)
Unfortunately given I've not been an active java engineer in over a decade, I'm getting this from conversations I've had and presentations I've seen from the Java engineers at my workplace and that I've previously worked with. I'm genuinely happy to be corrected though, I've definitely not got a horse in the Java framework race, at any rate.
Perhaps I'm/they're mistaken, but I've got the impression from them that everything is heading towards Micronaut or Quarkus (and perhaps others that people I work with aren't looking at) if you're sticking with Java, and starting something new in SB would be against that direction of travel. Might be worth pointing out that a few of the Java devs seem to be doing more in kotlin as well, so perhaps it might be more to do with that and I've got the wrong end of the stick.