← Back to context

Comment by overfeed

4 hours 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.