I wrote that text. People were unnecessarily trying to use Docker in order to build their Zig applications and so this is a dramatic way to point out that you don't need to do that because you can make them statically compiled and thus run in any Linux environment. That GitHub repository is only for creating Drone CI images. If you were going to put a Zig application into a Dockerfile you could use `FROM scratch`. Of…
Ask HN: Why does Zig make Docker irrelevant
11–14 of 14 posts
Re: Ask HN: Why does Zig make Docker irrelevant
#12I wrote that text. People were unnecessarily trying to use Docker in order to build their Zig applications and so this is a dramatic way to point out that you don't need to do that because you can make them statically compiled and thus run in any Linux environment. That GitHub repository is only for creating Drone CI images. If you were going to put a Zig application into a Dockerfile you could use `FROM scratch`. Of…
Isn't go statically compiled by default also..?
Re: Ask HN: Why does Zig make Docker irrelevant
#13Earlier quoted context omitted.
Isn't go statically compiled by default also..?
Quoted post unavailable.
In fact, Zig is used in combination with CGo to create statically linked executables and re-enable cross-compilation: https://dev.to/kristoff/zig-makes-go-cross-compilation-just-...
Same also applies to Rust: https://actually.fyi/posts/zig-makes-rust-cross-compilation-...
> It's still a good idea to Dockerize your apps even if they are statically compiled. If your app has C dependencies e.g. libxml2, it won't run on another system if the required C headers are missing.
You clearly don't understand the meaning of statically linked nor how dynamic linking works. Spend less time concern-trolling and more learning software engineering, friend ;^)
Re: Ask HN: Why does Zig make Docker irrelevant
#14Earlier quoted context omitted.
Quoted post unavailable.
Go is only statically linked when not depending on C code, if you're using CGo, you cannot get a statically linked executable with Go alone, and a lot of Go projects do depend on C code. You also lose Go's cross-compilation when using CGo. In fact, Zig is used in combination with CGo to create statically linked executables and re-enable cross-compilation: https://dev.to/kristoff/zig-makes-go-cross-compilation-just-..…