Comment by danudey

3 months ago

> Unfortunately, like anything related to systemd it is flakey and buggy and the solution to most things is to restart it.

For what it's worth, I have never found this to be the case. systemd's functionality has been far more reliable to me than the old methods of using `ifupdown` and dhcpd.

> I believe that part of the problem is that it is written in C, which is an absolutely terrible language for reasoning in.

I'd love to know what you've seen from systemd that indicates that this is the case.

> Writing it in Lisp would have been smart.

Hard disagree here. You need a language that more people know if you want contributors, and you need to be able to interact as well with other libraries/languages in ways that are understandable to the typical user. Lisp is, at best, an obscure edge case in the context of mainstream programming, and would severely hamper its adoption as an open-source project.

> Writing it in Go nowadays would probably be okay.

Ehh, I agree with this only because you're so noncommital about it. I agree that it would probably be okay. Rust would be far better, in my opinion, if we're looking for a modern language with far more memory safety guarantees (which IMHO is very important for low-level system services).

> Also, bringing INI to Linux is unforgivable.

I'd love to know what you'd recommend that would meet the criteria that INI provides:

1. Simple to read, simple to write (for users)

2. Simple to parse, simple to generate (for software)

3. Uncomplicated syntax that isn't prone to errors when being written or generated (e.g. wrong indentation in YAML, missing brackets in JSON)

I can't think of any options off the top of my head that don't end up introducing additional complexity with little to no benefit, but I'd be happy to be wrong.