There was a time where this debate was bigger. It seems the world has shifted towards architectures and tooling that does not allow dynamic linking or makes it harder. This compromise makes it easier for the maintainers of the tools / languages, but does take away choice from the user / developer. But maybe that’s not important? What are your thoughts?

  • colonial@lemmy.world
    link
    fedilink
    arrow-up
    14
    ·
    1 year ago

    Personally, I prefer static linking. There’s just something appealing about an all-in-one binary.

    It’s also important to note that applications are rarely 100% one or the other. Full static linking is really only possible in the Linux (and BSD?) worlds thanks to syscall stability - on macOS and Windows, dynamically linking the local libc is the only good way to talk to the kernel.

    (There have been some attempts made to avoid this. Most famously, Go attempted to bypass linking libc on macOS in favor of raw syscalls… only to discover that when the kernel devs say “unstable,” they mean it.)

    • ck_
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      There’s just something appealing about an all-in-one binary.

      Certainly agree. I remember the days when you could just copy a binary from one computer to another and it would just work™ Good times…