Hello world!
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.
πModeration Survey HEREπ
Please feel free to comment in this thread, we will do our best to respond to any genuine questions.
We look forward to hearing from each and every one of you!
=Sincerely,
Fedihosting Foundation
PS ... also if this sounds like a corporate press release to you folks, we still punk π€ππ€
A lot of people here seem to think that Java code is awful and disgusting and no projects should ever use it. The thing about popular languages is that more code existing in a language inevitably means a lot of it ends up being bad. The same thing will likely happen to rust as it gets popular, but that isn't exactly a problem. It's possible to have a well-maintained Java codebase.
Debate between functionality of the actual programming languages at this point is pretty meaningless, if they have good development standards then a Java program could end up just as well maintained as rust. Any time saved by compiler enforcement of specific standards (like no using null) would be lost by the fact that the devs don't know rust tooling. You could just have a requirement in PRs that null isn't used. Both Java and Rust have usable frameworks for REST API development, so using one or the other comes down to familiarity.
The idea that programming languages make code suddenly good or bad is pretty silly. Different languages have different language-level guarantees which can help produce good or working code. That being said, it's not like it's impossible to write good Java code, just like it's not impossible to write bad rust code. Most people seem to be conflating guaranteed functionality and safety with maintainability, stability, and readability. Rust is still a new language, so although it's great, Java will probably be the better choice for the latter 3 qualities.
That being said, something like Kotlin would probably have been a better starting point since it can interact with Java (and works like Java in most cases) but also has some nice improvements like stricter null checking (Kotlin nulls are treated similarly to rust's
Option<T>
, it's just described asT?
instead and the syntax is generally a lot more concise). There's also the benefit of being able to write some code in Kotlin and some in Java since they are mostly cross-compatible.I generally agree, you can write good and bad code in any language.
However, I also think it is equally naive to think that the tool you use has no influence on the end result. It does have an influence. In my experience, exception-based error handling like that used by Java and many other older languages just doesn't work that well. It's too easy to forget to catch them and make mistakes. And there's a host of other stuff that Rust improves on.
This really shouldn't be surprising. Rust is a newer language, of course it would try to improve the status quo with the experience we've gained from previous languages like Java. It even went and invented whole new concepts like ownership and the borrow checker to make it work. I imagine that future languages will have similar concepts, just like many languages today have garbage collectors or other common functionality.
So yes, programming language choice is a tenuous thing... But I don't think it's correct to say it doesn't matter.
Also if we do entertain the notion that it doesn't matter, the reasoning for Sublinks get even weirder, as the argument that Java is a better choice falls out the window.
Sorry for being unclear, I wasn't trying to say language doesn't make a difference (e.g. static vs. dynamic typing would make a big difference). I also personally like the error handling of rust a lot more, even if it does take a bit getting used to when my education has mostly been in languages with Java-style exception handling.
I mostly meant that the language-level performance and features aren't necessarily holding the codebase back in a debate between Java and Rust for a lemmy-like REST API. As long as the developers are aware of the pitfalls of Java (null, mutation, error-handling, etc.), it's possible to have good code.
I just think that from a maintainability standpoint, a Java-style codebase is much easier for most people to read, understand, and maintain because that's what most people are familiar with. Especially when many of the developers are volunteer contributors, that type of thing could make a big difference.
The main problem with Rust is that it's only starting to get adoption now, it isn't taught in most education curriculums, and it's industry use is pretty small at the moment. It's kind of a catch-22, because rust adoption won't increase unless large projects like lemmy exist. But that's also why I think having more options is also fine. Sublinks might get more developers short term because of its language, but that also doesn't mean it'll completely replace Lemmy. Both projects can exist at the same time, and hopefully benefit from each other's development.
That's fair. I do think Rust has a lot more hype online and in the open source space these days though, so I don't buy that Java would be easier to get more contributors for. We've yet to see that at least.