this post was submitted on 28 Dec 2025
395 points (94.0% liked)
Fediverse memes
2411 readers
1022 users here now
Memes about the Fediverse.
Rules
General
- Be respectful
- Post on topic
- No bigotry or hate speech
- Memes should not be personal attacks towards other users
Specific
- We are not YPTB. If you have a problem with the way an instance or community is run, then take it up over at !yepowertrippinbastards@lemmy.dbzer0.com.
- Addendum: Yes we know that you think ml/hexbear/grad are tankies and or .world are a bunch of liberals but it gets old quickly. Try and come up with new material.
Elsewhere in the Fediverse
Other relevant communities:
- !fediverse@lemmy.world
- !yepowertrippinbastards@lemmy.dbzer0.com
- !lemmydrama@lemmy.world
- !fediverselore@lemmy.ca
- !bestofthefediverse@lemmy.ca
- !fedigrow@lemmy.zip
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Unfortunately, you can't just "switch" to more reliability. That's not how it works. Reliability is affected by the design and implementation of the software. If your software wasn't reliable in the beginning, you'll have lots of "fun time" rewriting and even more "fun time" debugging components to try and make it more reliable.
At some point, this is no longer practically viable and the unreliable parts stay as they are. Especially if the unreliability is a design flaw. This is known as "technical debt":
https://en.wikipedia.org/wiki/Technical_debt
As for the 0 priority of testability, I found a test directory in the repo: https://codeberg.org/rimu/pyfedi/src/branch/main/tests
Though I haven't looked at how much the tests cover, there seems to be some sort of testing. So perhaps this importance table is a bit outdated indeed.
As I explained in my original comment, Rust has a few strict rules and concepts that force a particular discipline (I guess you could also call it style of code). And since it has those safety guarantees, you need to have things like lifetimes and trait bounds and such. These things naturally make the code harder to read and/or complicated. But as I said, they are worth it and will save you many bugs that might occur at runtime (especially ones you do not want to debug at runtime. like concurrency bugs).
For sure, I meant moving forward from that point on, but thanks for filling in the blanks.
At worst, if there was a large team of developers who had coded up the entire project in Python, but then certain sections needed to be re-written, let's even stipulate that it would be in Rust, then it could still be a good thing to have gotten the project off the ground and made such progress, rather than have it be "perfect" but with barely anyone using it? "Don't let perfect be the enemy of good" and all that? (Which could perhaps be used to justify some whoppers of bad decisions, so yeah, I'll preemptively say when used judiciously, as in sometimes even if not always).
For clarity, when people on Reddit say this, I strongly believe that 99(.99?)% of the time they mean the entire concept of using a federated platform, even as an end-user. People, especially non-technical ones, can end up being remarkably... let's just say "uncurious", and highly resistant to change.
And yes, for many applications I agree that Rust is, if not fully superior to C++ then at least a better choice for an inexperienced programmer to choose to use. This article was enjoyable for me to read on that topic. But... that doesn't make all other languages "wrong" choices, especially if dependent upon others for aid. And all the more so several years ago when that decision of language was made. Like, if the developer(s) simply enjoy using the language, then why not make the whole endeavor fun?
Also as others are pointing out, the existence of library support - notably Flask - is an even larger consideration than the language itself. That is, even if Rust were to be considered superior in virtually all other respects, having such a hard start could still be the deciding factor in favor of that vs. having to write everything from scratch?