| I also worked on an RSS feed reader that was supposed to work on both desktop, mobile and low-RAM embedded systems (<64MB of RAM). It was also written in C, but the focus was on bringing a synced decentralised cross-platform experience. I ran out of time to continue working on it, but could be convinced to start again. > Newsboat's authors are rewriting it in Rust. They concluded (last time I checked) that C and some early design decisions were bad for its development now and they want to rewrite it in Rust because this is something that can be done gradually (and, I think, because they liked Rust). Before they settled down with Rust, they even considered Haskell, but Rust won. There seems to be a common pattern that people believe "program that compiles to binary suffers from segfaults, therefore use Rust". Rust will not fix your poorly designed code, now it is harder to develop and runs slower. Your broken logic is still broken. > Surprising that this project is in C. Given a chance to start fresh, why not choose a better language? Even Rust, I think, is unnecessarily low-level for an applied, not performance-critical program like an RSS reader. That's why I chose Haskell. Any other high-level programming language would be a better choice than C. The code could do with some comments, but it's otherwise clean. It has been mostly worked on by Grigory Kirillov [1] and maybe this is a language they like [1]. Given the use of `func_name(void)` and `int64_t` it seems like somebody quite capable of writing C safely. With some regression testing this could be a fast and reliable program. [1] https://codeberg.org/grisha |
> Rust will not fix your poorly designed code
Nobody said it will. But segfaults hardly come from poor design. They come from accidental mistakes, lack of static analysis, and gotchas that your language offers.
> now it is harder to develop
Only if you're a C programmer who doesn't know Rust.
> and runs slower
This is plan false. Please back it up.
> it seems like somebody quite capable of writing C safely
Try using it for a week, and count for me how many times it segfaults on your face. (That is not to diminish Grigory's work, which I have nothing against.)