The actual build system functionality is 'just' an extension to the stdlib.
So is the mess of ISO defined languages, where compiler toolchains are an abstract concept.
Also a good point to note that OpenGroup and POSIX never bothered to standardise UNIX package management.
It can compile almost any dependency on demand, even doing cross-compilation. And it's used by at least Microsoft and Google.
In Zig all those things are in the same toolchain install, which is a a single executable plus a bunch of cross-platform system headers and libraries, all under a single version number and trivially downloadable as a zip archive which works right after unzipping without setting up paths or running an 'installer'.
Package managers are a lot more complex than people realize. Every attempt I've seen in every language has significant lacks for common real world cases.
Most commonly they assume all the world is their language. Very commonly they want to take over all package management but don't have a good easy story for working with the OS package manager (I know Windows doesn't really have a package manager - but you still need to interoperate with it!). Those are big issues anyone in a complex project will face in the real world, there are also lots of little warts that will bite you.
Yes package managers are nice on your trival project. However they all get in the way in your non-complex project - some more than others.
Because if they don't integrate you end up with several different versions of the same package installed. When you program grabs the wrong version how do you fix it. Now what if you are in support trying to help a customer.
> on Linux, the distributed packages are normally about 2 to 4 years out of date
Maybe you need to find a different distribution. Some make it a point to be out of date. Some make it a point to be up to date.
The anti-solution of ignoring the problem is what got us here.
Successful I agree. I have issues on any system I use it on because now I have the package installed by PIP and the package installed by my OS package manager - slightly different.
With hindsight, it is strange that the C community, with all the people and money behind it (and what scale!) never even managed to build a proper packaging manager (okay, there's now Conan, but that came from Python guys).
But then, there even still isn't a perfect C string library around (something that would combine GLib, SDS, ICU, say, and then standardize it in C2038).
[1] Hanson's C: Interfaces & Implementations (CII) - Str: https://cii.s3.amazonaws.com/book/pdf/quickref.pdf
[2] ICU - https://icu.unicode.org
[3] SDS - https://github.com/antirez/sds
[4] GLib - https://docs.gtk.org/glib/struct.String.html