Hacker News new | ask | show | jobs
by IshKebab 3424 days ago
I think that's mostly because Go trivially generates static binaries, and cross-compiling is also trivial (as long as you don't use CGo).

I can't actually think of a single other language that matches that. Rust might get there one day but cross-compiling still requires a C cross-compiler (ugh) and C dependencies (e.g. OpenSSL) are often dynamically linked.

1 comments

Cross compiling shouldn't require a C compiler unless you have a dependency on C code.

Most wrappers should at least provide an option to statically link the C; I know the OpenSSL ones do.

Not a C compiler, but you need a C linker, which is just as much hassle. Apparently there is work going on to use LLVM's lld linker, which I guess might support cross-compiling in a sane way but I haven't checked.

And yeah most wrappers provide a static linking option but there's not much consistency which is rather annoying.