It's fine if you're only targeting one OS with maybe a small handful of architectures. Doing anything cross platform is terrible.

I thought C was a cross platform language.

Maybe the syntax is, but setting up the compiler and build system and linkers is very much not, especially for cross-compilation.

One of Go's major selling points is cross-compilation to other OSes and architectures is incredibly simple and fast, and _the same short build command works across every OS._

I maintain a CGO app that targets Windows macOS and multiple Linuxes and oh boy the build system is probably more complex than the app itself at this point.

I started coding with Timex 2068, developed for embedded in a past life, thus I fail to see how complicated doing a simple cross compiler in C happens to be.

I also have developed C and C++ native libraries for Tcl, Python, .NET, Java JVM/ART (JNI), Node.js.

Yeah I think this is a case of an old timer not having the perspective of the younger generation

`GOOS=windows go build ./...` versus all the jank you have to do with C is just not at all comaprable

Try to do that for a Windows UWP, iOS, Android or z/OS application, in pure Go.

Yes it is super easy, in a few selected workflows of Linux, BSD, Windows, macOS, everything else is just as "complicated" as regular C cross compilation.

Good thing I don't write code for those platforms! :P