Zig Package Manager MVP
github.com
github.com
The docs are also still not great, but I think it's just a matter of time before they are. The team appears to be putting in a huge amount of effort on them.
But a package manager would probably be nice :)
Please don't tread on my dreams! ;)
Yeah, the compiler bugs and shifting language are annoying, but at least for me they are a lot less annoying that dealing with C's bullshit.
My biggest gripe with Zig is its handling of async, which is pretty much magic, even more so than in other languages with async, while everything else in the language tries to be extremely straightforward to the point of inconvenience.
That said, the fact that Zig tries to be colorblind in regards to async means I don't have to worry about a split in the ecosystem and can simply ignore it.
The zig folks should really have this talk running on a loop: https://m.youtube.com/watch?v=lw6TaiXzHAE
> compiler is not even ready for hobby projects
Depends on the kind of hobby projects you have. We held a conference with two workshops a while ago and everything went great, just as a data point :^)
Zig really needs some subset carved out and some stability guaranteed placed on that so that innovation can't only happen by the core team, but also by the community.
Rust does a much better job in that regard, by marking at least some things as stable.
It's extremely hard to contribute to the ecosystem when everything is build on sand without at least some save haven of stability. E.g. if Zig had a `loop` statement like Rust, that could be marked stable from day one, because the syntax surface is so small. Same goes for extern structs, because they are already defined in terms of C ABI.
My point is that there is no concept of stability at all. Zig currently treats "async" as the same kind of unstable as "for" and "@max".
I don't mind "for" being unstable, the new syntax IS much better than the old one. But by also providing for example a stable "loop { break; }" the language would empower people from the community to focus on building tooling by making the tradeoff of restricting themselves to a more more cumbersome, sugarless, and minimalistic subset.
Your comment makes sense, but this is just not the model that we follow. I think the time for more contributions from the outside world will come (and the pkg manager is a big step in that direction), but when it comes to the core language it's a different story.
In case you haven't read it, I blogged a while ago about how decision-making happens in the Zig project: