Comment by scintill76
3 months ago
> I started using Linux because I liked stability.
> I believe that part of the problem is that it is written in C,
You know the Linux kernel, and probably most of your userspace, are also written in C? Why do you say systemd is a disaster solely based on its use of the C language but seem to be believe the rest of "Linux" is stable despite also using C?
I mean, there could be some argument here about everything systemd does actually being harder than a kernel's job... but you didn't say that.
I'm on the C-hate bandwagon as much as anyone else, but it doesn't make sense. I have mixed feelings about systemd though.
> You know the Linux kernel, and probably most of your userspace, are also written in C?
I’m aware. It would be nice were that not the case. One of my favourite userspace programs uses C, but just to build a Lisp runtime!
> Why do you say systemd is a disaster solely based on its use of the C language
I wrote ‘part of the problem.’ Systemd is a disaster in part due to its use of C. Its bugs are in part because C is not a language which is really suitable for abstraction and reasoning over abstractions.
I do think that what systemd does is more complex than the parts of a kernel which require assembler or C. I wasn’t constructing a full argument, just opining. I think that the sheer weight of C required to do anything complex makes it very difficult to reason about what that code is doing. Languages higher on the abstraction curve make it easier to reason about abstractions. Reasoning about abstractions helps prevent design bugs. And also languages with good abstraction capabilities tend to help avoid implementation bugs.