In this reality, you HAVE to maintain build.zig file, just like any other piece of software that humans produce. Computers solve abstracted issues, not real problems. And we constantly have to adjust these abstractions to sync with needs of real problems that evolve with the society.
If you are thinking that “hiding” the build file is limiting your control, then you are forgetting that zig init does the exact same thing and gives you no control as well. A build file is not the high-level, that would be a zon file.
zig init isn’t hiding anything, it generates a starting point of source code that contains everything explicitly, you are meant to edit the source code afterwards, it doesn’t need to give you control over what is created because that would be just a another “multiple ways to do things”, you already have a code editor for editing use it and edit it.
That is the biggest strength of the build system for sure.
There’s no risk of that. Andrew was brainstorming a default set of actions which could be taken on the basis of build.zig.zon, it will be interesting to see what comes of that but there’s 0% change that it will replace build.zig entirely. The idea will only pass muster if the result is that a project with a build.zig.zon and no build.zig does easy-to-predict things.
The Zon format is fundamentally just Zig’s struct initialization syntax, it doesn’t entail learning some separate thing. Even if my random idea were implemented (there are no plans for that) it would be a way of driving steps in the build system, this would still be possible using pure Zig code, and in fact necessary to do things which any declarative format didn’t anticipate.
Will adding new information to build.zig.zon improve tool chain?
Specially for the building of zig project with a lot of zig libraries
Or current dependencies are good enough
I am not saying it is hiding something, I am highlighting the amount of control (hence “hiding” is in quotes).
No idea what are you talking about. I am not saying that editing file is a problem (thats just silly). I am saying that thinking you would never have to maintain a file in a computer program is a problem.