[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Go (golang) packaging, part 2

On Wed, Feb 06, 2013 at 04:31:55PM -0800, Russ Allbery wrote:
> I keep being tempted to go off on a rant about how we have all of these
> modern, sophisticated, much more expressive programming languages, and yet
> still none of them handle ABI versioning as well as C does.  Normal
> versioning problems that we just take for granted in C, such as allowing
> the coexistence of two versions of the same library with different ABIs on
> the system at the same time without doing the equivalent of static
> linking, vary between ridiculously difficult and completely impossible in
> every other programming language that I'm aware of (with the partial
> exception of C++ where it is possible to use the same facilities as C,
> just considerably more difficult).

> In fact, most new languages seem to be *regressing* here.  Both Perl and
> Python were already fairly bad at this, Java bailed on the problem and
> shoved it under the carpet of a version of static linking, and now Go is
> even worse than they are and is explicitly embracing static linking.
> Sigh.

Actually, if you look closely, you'll find that the traditional Java .jar
linking resolver precisely mirrors the behavior of the C linker on Solaris
from the same era (allows you to link dynamically, but requires top-level
objects to be linked at build time with all the recursive dependencies of
the libraries it uses).  So it's not so much that they failed to learn from
C in that case, as that they failed to learn from the Free Unices of the

But for Go, there's certainly no excuse.  They simply have ignored the
problem by deciding that it doesn't matter to their deployment model,
leaving distributions high and dry.

Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek@ubuntu.com                                     vorlon@debian.org

Attachment: signature.asc
Description: Digital signature

Reply to: