We would like to start by saying thank you β€, no really π THANK YOU to ALL the moderators out there!
Without you folks, we would have no one to help keep our community safe and help build the communities both here on Lemmy.World and on other fine instances. To this end, we want to make sure your voices are heard π£ loud and clearπ£.
So, in the spirit of transparency, we would like everyone to know that we are looking to help out the folks working on Sublinks. Over the last several months we have grown to be more than just Lemmy.World. We've added platforms such as Pixelfed and Sharkey to help offer our users more diverse options for expressing themselves online. We still are very committed to Mastodon as well.
We DO NOT plan on moving away from Lemmy as a software platform at this time. Any changes in our core services would need to be discussed extensively internally AND externally with our community members. We firmly believe in the growth of the Fediverse and without the users, there would only be software, and that's no fun!
Sooo...
The Sublinks team has written up a little survey, which we feel is both thorough and inclusive. It covers a wide range of topics, such as user privacy, and community engagement, along with trying to gauge things that are difficult when moderating.
Also please be aware the information collected by this survey is completely anonymous. As many of us in the social sciences background know, if you want the REAL feelings of individuals, they need to feel safe to express themselves.
If I'm looking to build skills in a new language, that language is probably going to be Rust and not Java. One of those languages has a bright future. The other is going to look a lot like Fortran in 15 years.
I expect real performance issues with Java at some point, especially compared to Rust. The initial difficulty in picking up the language is worth it if I never have to see another Factory pattern that only returns one type. Why just use a constructor when you can use idiopathic idiomatic java?
I expect real performance issues with Java at some point
FWIW I think the performance is probably not the biggest of deals. Java isn't like Python, it's not super slow or anything.
That said, there are other reasons to favour Rust. It's a newer language that has learned from the mistakes of the past, such as overzealous OOP with inheritance and the billion dollar mistake, null pointers. Add to that a host of problems many programs run into with concurrency and shared memory and you've got a whole lot of potential bugs.
Potential bugs that are quite impossible in Rust (assuming you don't use unsafe Rust but you definitely don't need that for a web server).
In normal use cases I'd agree about performance. But on the scale of Lemmy it's absolutely likely to make a difference long term.
And if you're going to use a managed language, why not something that has less baggage and a brighter future, like C#? It's as open and multiplatform as Java these days with less of the overzealous, Java-specific OOP culture.
Feel free to start your own, to be honest I feel it's like the only major language missing now, as we have PHP with Mbin, Rust with Lemmy, Python with Piefed and Java with Sublinks
We chose that, as we already saw the things that can be done wrongly with rust. And no one of the sublinks team can do rust really, so it was just a matter of what languages can be learned faster and/or have already good knowledge about a programming language.
If you really want performance, please write your code in binary, then you have no compiler, no runtime just plain binary code, it will be fast but unreadable ( like rust if wrongly done ). Java is just a good old and known programming language. There are already some techniques to improve performance and / or cluster your application up. With an load balancers. Something like lemmy tried, but a little bit easier and extendable.
If you really want performance, please write your code in binary, then you have no compiler, no runtime just plain binary code, it will be fast but unreadable
Its a stupid take, to dismisy java and JuSt UsE RuSt. We chose java for a reason, we want to get going with development, that cant be done with slowly building up a rust team. As they are already bussy on lemmy. So it would be just a fight for developers too.
Its a stupid take, to dismisy java and JuSt UsE RuSt.
Isn't Sublinks more like dismissing Rust and saying "JuSt UsE JaVa" to use your own words? I mean Lemmy is already there with Rust and development is already going with an existing Rust team. If all the Sublinks devs wanted was to improve mod tools, it'd probably take much less time to just learn Rust and start contributing to Lemmy. But I suspect that just improving mod tools is just part of the motivation and the real motivation is to not depend on the existing Lemmy devs and use Java instead of Rust (i.e. "JuSt UsE JaVa").
To be clear, they are totally welcome to do that, but it sounds kinda weird to argue that people are saying "JuSt UsE RuSt" in some sarcastic manner when that is what is already there and is being used.
And no one of the sublinks team can do rust really, so it was just a matter of what languages can be learned faster and/or have already good knowledge about a programming language.
Nutomic, one of the main Lemmy devs, didn't know Rust either when he started contributing. It's really not so difficult to learn as it seems.
I'd love to help anyone learn btw. I unfortunately don't have the time to contribute to Lemmy myself but I love teaching so if anyone would like to learn some Rust, hit me up.
Don't tempt me. I've been meaning to put together a simple Rust API for ages and just haven't gotten around to it. AI was still bad at Rust when I last tried, making up crates, etc.
I've read, uh, half the Rust book. So I get the basic concepts.
Especially not when deciding on libraries, etc, there's literally been supply chain attacks creating fake libraries with the same fake names that chatgpt wrongly suggests
way to tell devs to fuck off and stop complaining. ngl I'm interested in this space, know java well, and still was immediately turned off by Java. SPRING BOOT no less. does your internal team work with anybody that has experience in building TEAMS and not just software? if you did, you guys should know what devs want and it's NOT writing java sb for free. this is a bad take, especially coming from an engineering leader.
Java isn't inherently better at running as a distributed system than any other language is. If you want a service that can horizontally scale infinitely, learn Erlang and use the BEAM VM.