1. 5
  1. 2

    Google have gone through great lengths to make Go code relatively portable across platforms and architectures.

    Yeah… nah. I’ve tried to port Go to FreeBSD/aarch64, and so far, I have failed.

    Go generally requires you to get a ton of platform stuff right (including the syscall boilerplate in asm – in fscking Go assembly actually!) It’s incredibly frustrating to port.

    In comparison, Pony just required a make argument and getting libunwind to compile (proper support upcoming) (hmm I wonder if LLVM’s libunwind is compatible), Crystal was just a symlink away from working (and a cross-compilation, but a very easy one), OCaml was easy too, Julia encountered some llvm and runtime bugs but easy other than that.

    1. 2

      I’m the author of the post - what I was referring to was how Go code is relatively simple to port across platforms, not the actual Go compiler itself.