• HaraldvonBlauzahn@feddit.org
    link
    fedilink
    arrow-up
    1
    ·
    20 days ago

    The slightly frustrating thing is that there isn’t a great answer for what to use instead.

    Packaging libraries with Guix is a great solution.

    Also, strict backwards compatibility in APIs is totally worth it. It makes developing larger systems so much easier.

    • FizzyOrange@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      19 days ago

      Yeah I’ve seen Nix and Guix suggested but they seem like a huge extra layer of complexity.

      Also, strict backwards compatibility in APIs is totally worth it. It makes developing larger systems so much easier.

      Usually not for first party code. It adds extra maintenance burden for little benefit.

      For example suppose you want to add an extra parameter to a function. In a monorepos you just do that and fix all the compilation errors. Send one PR through CI. Job done.

      With submodules… You have to add a new function so it’s backwards compatible. Deal with a default value for the old call, maybe add a deprecation warning. Oh and you need to version your library now. Then good luck finding all the places that function is called and updating them…