Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Is following the "Unix way" a terminal value? I.e., is it desirable for itself, or is it just supposed to be a means to an end?

In discussions such as these, the Unix philosophy of "do one thing and do it well" is often being touted as a proxy for (and a necessary attribute of) "good design", as if all possible wisdom about the future of computing was available to the creators of UNIX in 1969.



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


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.


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: