zlacker

[parent] [thread] 3 comments
1. adwn+(OP)[view] [source] 2025-08-23 05:25:41
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.

replies(1): >>overfe+N11
2. overfe+N11[view] [source] 2025-08-23 17:08:41
>>adwn+(OP)
> 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.

replies(1): >>pezezi+VJ2
◧◩
3. pezezi+VJ2[view] [source] [discussion] 2025-08-24 13:03:10
>>overfe+N11
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.
replies(1): >>overfe+M43
◧◩◪
4. overfe+M43[view] [source] [discussion] 2025-08-24 15:59:15
>>pezezi+VJ2
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.
[go to top]