• madthumbs@lemmy.worldOPM
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    3
    ·
    8 days ago

    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.

    • JackbyDev@programming.dev
      link
      fedilink
      English
      arrow-up
      9
      arrow-down
      2
      ·
      8 days ago

      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.

    • superkret@feddit.org
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      2
      ·
      8 days ago

      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”

      • pivot_root@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        8 days ago

        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.

        Fun fact: you basically described dbus.

    • Vilian@lemmy.ca
      link
      fedilink
      English
      arrow-up
      1
      ·
      7 days ago

      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