<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix"><font face="Tomson Talks">D. Hugh
        Redelmeier wrote on 2026-05-31 06:52:<br>
      </font></div>
    <blockquote type="cite"
      cite="mid:587d2dd5-1f93-6f8f-5e7a-022c08b685a9@mimosa.com">
      <div class="moz-text-plain" wrap="true" graphical-quote="true"
        lang="x-western">
        <pre wrap="" class="moz-quote-pre"><font face="Tomson Talks">I assume that the problem is that, by default, Zig binaries are statically 
linked.  That means that every program carries its own copy of each 
library that it uses.

As I understand it, static linking is the default for Rust and Go too.

This strikes me as a terrible idea.</font></pre>
      </div>
    </blockquote>
    <p><font face="Tomson Talks">I'll disagree. A couple reasons:</font></p>
    <ol>
      <li><font face="Tomson Talks">How else to run two different
          versions of an application, each using different library
          versions?</font></li>
      <li><font face="Tomson Talks">The devs do not want bug reports due
          to distro system library incompatibility</font></li>
      <li><font face="Tomson Talks">Item #2 is the second most frequent
          frustration</font><font face="Tomson Talks"> (as I understand
          it)</font><font face="Tomson Talks"> in bug reports after AI
          slop bug reports</font></li>
    </ol>
    <p><font face="Tomson Talks">For system applications, shared
        libraries are the way to go, for sure.</font></p>
    <p><font face="Tomson Talks"><br>
      </font></p>
    <blockquote type="cite"
      cite="mid:587d2dd5-1f93-6f8f-5e7a-022c08b685a9@mimosa.com">
      <div class="moz-text-plain" wrap="true" graphical-quote="true"
        lang="x-western">
        <pre wrap="" class="moz-quote-pre"><font face="Tomson Talks">- so many programs needing to be rebuilt whenever a bug is fixed in a 
  library.  How do you even find which programs?  Whose job is it to find 
  them?</font></pre>
      </div>
    </blockquote>
    <p><font face="Tomson Talks">The authors.</font></p>
    <p><br>
    </p>
    <blockquote type="cite"
      cite="mid:587d2dd5-1f93-6f8f-5e7a-022c08b685a9@mimosa.com">
      <div class="moz-text-plain" wrap="true" graphical-quote="true"
        lang="x-western">
        <pre wrap="" class="moz-quote-pre"><font face="Tomson Talks">Shared libraries have been working well on UNIX since the 1980s.  Linux 
copied UNIX fairly early on.</font></pre>
      </div>
    </blockquote>
    <p><font face="Tomson Talks">It's not the 1980s any more, we do some
        things differently now. For one thing, there's been exponential
        growth in software choices where incompatibilities can arise.</font></p>
    <p><font face="Tomson Talks"><br>
      </font></p>
    <blockquote type="cite"
      cite="mid:587d2dd5-1f93-6f8f-5e7a-022c08b685a9@mimosa.com">
      <div class="moz-text-plain" wrap="true" graphical-quote="true"
        lang="x-western">
        <pre wrap="" class="moz-quote-pre"><font face="Tomson Talks">I admit that not all libraries should be shared:</font></pre>
      </div>
    </blockquote>
    <font face="Tomson Talks">Oops, I should have read all the way
      before replying...</font>
    <blockquote type="cite"
      cite="mid:587d2dd5-1f93-6f8f-5e7a-022c08b685a9@mimosa.com">
      <div class="moz-text-plain" wrap="true" graphical-quote="true"
        lang="x-western">
        <pre wrap="" class="moz-quote-pre"><font face="Tomson Talks">- if library specifications are mutating rapidly, the advantages of 
  sharing disappear and the disadvantages multiply.  This is most likely 
  in young libraries: perhaps libraries should graduate to shared when 
  they are thought to be stable.</font></pre>
      </div>
    </blockquote>
    <p><font face="Tomson Talks">Fully agree. Rust, Go, etc. make sense
        to link statically as they're relatively new. Maybe after a
        decade, dynamic linking will make more sense here?</font></p>
    <p><font face="Tomson Talks"><br>
      </font></p>
    <blockquote type="cite"
      cite="mid:587d2dd5-1f93-6f8f-5e7a-022c08b685a9@mimosa.com">
      <div class="moz-text-plain" wrap="true" graphical-quote="true"
        lang="x-western">
        <pre wrap="" class="moz-quote-pre"><font face="Tomson Talks">- if a library isn't getting monotonically better, your dynamically linked 
  program may grow new bugs.  The more programs share that library, the 
  sooner such bugs are found and fixed.</font></pre>
      </div>
    </blockquote>
    <p><font face="Tomson Talks">If library X is used by package Y and
        package Z, it shouldn't matter how library X is linked?</font></p>
    <p><font face="Tomson Talks"><br>
      </font></p>
  </body>
</html>