Remix.run Logo
overfeed 3 days ago

> is it desirable for itself, or is it just supposed to be a means to an end?

It's a means to multiple, desirable ends: first, is that it establishes an interface, which makes developing tooling easier.

Downstream of well-defined interfaces is that it makes the individual components replaceable - so I can replace the default tool with one written in rust, or a monobinary like BusyBox and everything still works - I doubt the fathers if UNIX ever imagined the idea of BusyBox.

If the individual components are replaceable, another desirable outcome is achieved: avoiding software monoculture, which is great for security and encourages innovation.

pezezin 2 days ago | parent [-]

Which well-defined interface? Most Unix tools communicate through text pipes, and provide their result in whatever random format the author likes that then requires significant effort to parse correctly.

overfeed 2 days ago | parent [-]

Traditional Unix tools have well-defined text interfaces. Well-defined =/= universal, or well-designed, or even easy to parse...some RFCs are rough to implement parsers/validators for, but I digress. My point is that it is easier to replace an individual Unix tool, that it is to replace a systemd subsystem.