Discussion summary

Zig has moved package management from the compiler to the build system, sparking discussions on language ecosystems and build tools.

What the discussion says

  • Some see Zig's move as a well-reasoned separation of concerns.
  • Others note the lack of standardized package systems in C/C++ and see Zig filling that gap.
  • There are mentions of established package managers like Conan and vcpkg.
  • Debate on the need for a universal cross-platform build system, with Buck and Bazel mentioned.
  • Some users consider Zig a good alternative to Go.
“Zig's move is a well-reasoned separation of concerns.”
— arikrahman
“C/C++ lack a standardized package system, Zig is filling that gap.”
— small_model

Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • A very well-reasoned separation of concerns.
  • Everytime I see a language creating their own package system, all I can think of it how much we've missed here.

    The only exception is C/C++, where there is none established that well, for good or bad.

    These choices may create later super-convoluted processes when you have to mix more than one language together.

    Packaging systems makes thing easy, but complicate further the line if another language needs to be used.

  • Good for zig. I am very tempted to switch from go to zig but also enjoying things from the sidelines.
  • So this is the change that forced Zig to remove @cImport (and into the build system), right?

    I know that it’s purely a UX concern, and that the changes (to decouple the build system and the compiler) are pretty critical for the maintainers, but it’s still a bit sad that development sanity comes first than the UX. (It’s the right call, just that it’s sad.) @cImport was a big killing feature imho to the language…

  • I've read somewhere that the longer-term goal is to move the build system into a WebAssembly VM. If so, this is incredible.
  • Development of Zig feels so wholesome.
  • Zig, Go, and Python developers do this thing, where they announce that "We have removed the radiator fluid from the fuel tank", and all their supporters cheer about how this is good for the language, how performance will surely improve significantly, and I'm over here wondering why did they put the radiator fluid in the fuel tank in the first place.

Explore Birbla archives