• intensely_human
    link
    fedilink
    arrow-up
    35
    arrow-down
    1
    ·
    2 months ago

    People don’t like it because it’s declarative. It felt cool to be able to just put bash files into certain directories to have them executed on startup. That was elegant, in the sense of “everything’s a file”.

    systemd is more of an api than a framework, so it’s a different design paradigm.

    I hated systemd until I printed out the docs, for some coffee, and sat in a comfy chair to read them front to back. Then I loved it.

    Mostly I hated it because I didn’t know how to do things with it.

    Also, “journalctl” is kind of an ugly command. But really, who gives a fuck. It’s a well-designed system.

    And if a person absolutely must execute their own arbitrary code they can just declare a command to execute their script file as the startup operation on a unit.

    • Potatos_are_not_friends@lemmy.world
      link
      fedilink
      arrow-up
      22
      ·
      edit-2
      2 months ago

      Your comment summarizes my entire programming career.

      These steps:

      1. Be taught that there’s a specific way to do something because the other ways have major issues

      2. Find something that goes against that specific way and hate it

      3. After a lot of familiarity, end up understanding it

      4. Have a mix emotion of both loving it because it functions so well and hating it because it doesn’t align with the rules you’ve set up

      • intensely_human
        link
        fedilink
        arrow-up
        9
        arrow-down
        4
        ·
        2 months ago

        Developer cognition is the most expensive resource on any programming project. It is entirely rational to stick to tried and true ways of doing things. A developer’s mind is generally at capacity, and putting some of that capacity into learning new tricks comes at the cost of all the other things that developer can be doing.

        And it’s not just a matter of time. Generally speaking, a developer can only do so much mental processing between sleep cycles.

        That’s not to say it’s always bad to learn new things. In fact one has to in order to keep the system working in a changing world.

        But throwing shade at developers who hesitate to learn new things is foolish. I’d recommend every developer do shamatha and vipassana meditation so that they can more accurately monitor the state of their own mental resources. Those mental resources are the most valuable and most expensive resources on the project.

    • pkill@programming.dev
      link
      fedilink
      arrow-up
      5
      arrow-down
      2
      ·
      2 months ago

      Good that you’ve enjoyed it. But a fundamentally wrong thing about systemd is that it is actively harming the best thing about Linux – freedom. Some programs won’t work on a non-systemd distro because how tightly coupled and vendor non-agnostic anything that becomes dependent on might become at times. Of course it’s not as bad as glib(loat)c, but still if something can be done without any degradation of functionality via standard POSIX facilities, WHY either incur additional maintenance overhead for non-systemd implementations or punish people for their computing choices if there’s no one to maintain it?