3 ms·
Zig is fantastic, however there are a few issues (mostly related to its immature/wip status): - the build system is constantly changing in a breaking way (betw
by angra_mainyu 2y ago
Zig is fantastic, however there are a few issues (mostly related to its immature/wip status):
- the build system is constantly changing in a breaking way (between releases some of the repos I have on GH no longer build and need their build.zig to be updated).
- the comptime section of the docs needs to be heavily expanded, I'd love to see them take common Go interfaces and redo them in Zig (like io.Writer, io.Reader), breaking down the process step-by-step. It took me a little bit longer than it should've to efficiently use comptime.
- a whole section dedicated to things like using WaitGroup and multithreading, for those coming from langs like Go. Also, higher-level concurrency primitives like channels would be fantastic.
- a better import system for external zig libraries, the zig fetch => .dependency => .root_module.addImport stuff is not as straightforward as it should be although for someone coming from C it definitely does feel like using meson
None of these are critical and again, all signs of Zig's "youth".
- DeathArrow 2y ago>Also, higher-level concurrency primitives like channels would be fantastic. That can be done trough a library.
- angra_mainyu 2y agoAgreed! There is actually a nice C library (libdill: https://libdill.org https://libdill.org). Would still like it as a first-class language construct.