Yes, and that’s the FUNNY part about it! Lennart went against the UNIX philosophy and is hated for it, but so did Linus Torvalds with the monolithic kernel, and Richard Stallman with Emacs.
The “do one thing and do it well” mantra is such bullshit. You can slice up the things stuff does differently however best suits your argument. Oh, wc? I don’t use it because it violates the unix philosophy. It can count words and lines. That’s two things.
The Unix philosophy never made sense.
All parts of a program should do one thing well and communicate with other modules over a simple, common interface.
But software that offers all the features a user will need under a big umbrella with unified UI and UX is much better than “this program uses different syntax because it came from Unix and not GNU”
But software that offers all the features a user will need under a big umbrella with unified UI and UX is much better than “this program uses different syntax because it came from Unix and not GNU”
Yes and no.
A consistent UX is definitely a major bonus, but not if it comes at the cost of oversimplification. If the program gives me an experience gift-wrapped and with a nice little bow on top, but only gives me that kids’ gloves experience, it becomes a much worse experience when you need to do anything outside the happy path.
Imagine trying to script git workflows without access to any of the plumbing commands like rev-parse, rev-list, and format strings. You would have to parse the output of git log and git show, hoping that they don’t introduce a new change to the output—a much worse experience.
All parts of a program should do one thing well and communicate with other modules over a simple, common interface.
And systemd don’t violate it, systemd is the name of the project with a bunch of binary inside each onde doing their job, it’s like complaining that Mesa don’t follow Unix philosophy just because it has multiple drives inside the project
Yes, and that’s the FUNNY part about it! Lennart went against the UNIX philosophy and is hated for it, but so did Linus Torvalds with the monolithic kernel, and Richard Stallman with Emacs.
The “do one thing and do it well” mantra is such bullshit. You can slice up the things stuff does differently however best suits your argument. Oh,
wc
? I don’t use it because it violates the unix philosophy. It can count words and lines. That’s two things.The Unix philosophy never made sense.
All parts of a program should do one thing well and communicate with other modules over a simple, common interface.
But software that offers all the features a user will need under a big umbrella with unified UI and UX is much better than “this program uses different syntax because it came from Unix and not GNU”
Yes and no.
A consistent UX is definitely a major bonus, but not if it comes at the cost of oversimplification. If the program gives me an experience gift-wrapped and with a nice little bow on top, but only gives me that kids’ gloves experience, it becomes a much worse experience when you need to do anything outside the happy path.
Imagine trying to script
git
workflows without access to any of the plumbing commands likerev-parse
,rev-list
, and format strings. You would have to parse the output ofgit log
andgit show
, hoping that they don’t introduce a new change to the output—a much worse experience.Fun fact: you basically described dbus.
And systemd don’t violate it, systemd is the name of the project with a bunch of binary inside each onde doing their job, it’s like complaining that Mesa don’t follow Unix philosophy just because it has multiple drives inside the project