|
|
|
|
|
by gnull
1266 days ago
|
|
Funny. I was working on an RSS reader inspired by Newsboat too. Although my project's goal was to avoid the C's rough edges that Newsboat has: better parsers, richer feeds file syntax, more configurability (done in a nicer way), less segfaults. I chose to implement it in Haskell, even got a working prototype, but then didn't keep working on it consistently (and I was unsure about the concept). 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. 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. |
|
> 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