rust is dead. long live rust https://hachyderm.io/@Mara/116580147649240612
Post
@hipsterelectron can't wait for the moment people will realise rust is bad, actually, and will "deoxidise" their codebases
@SRAZKVT C EVANGELISM STRIKE FORCE
@hipsterelectron no c fucking sucks
but none of the "c killers" actually solve any problem c has, while piling on more complexity
@SRAZKVT @hipsterelectron any specific problem you see with zig? I'm consistently amazed by it.
@kris @hipsterelectron only one implementation, not standardised, and not even stable yet, and also i get bad vibes from the fact it seems to be heavily discouraged to use a more proper build system (like meson) and instead insists on using zig build scripts
@SRAZKVT @hipsterelectron fair enough, but only one impl is just stating the fact that it's still not finished.
The zig build system is one of the reasons that i really love zig, since basically all you need is one executable to do anything that meson and friends require a whole posix setup to do (shell, make, python, autotools, various ancient macro systems)
If you're already building on that, sure that makes sense, but i really love that i can run complex builds in a sandbox that has little more than /bin/zig and its lib dir in there
@kris @hipsterelectron yea that's exactly what i don't want. i want individual responsibilities split up between different programs, such that i can switch them up as needed
@kris @hipsterelectron projects also tend to be based on several things and a language specific build system will usually get in the way (ever tried to build go code without using the go build system ? it's a nightmare, and not because of the gc), as they are designed to be sitting at the top, when in such cases it is expected they sit under another build system instead
@SRAZKVT @hipsterelectron zig is great at building c/c++ because it's clang in a trenchcoat. The plan is to move off llvm as a library to using clang as a process for this though.
I never built any go without the go build system, but i can't say i enjoy building go _with_ the go build system either.
the zig build system gets a lot of very difficult things right (caching, all deps referred by hash) that i have not seen anywhere else.
there is no 'make clean' equivalent, you don't need it with correct caching
@kris @hipsterelectron ... but i don't want to use clang
what if i want gcc or tcc or slimcc or cproc instead
for the build system part, @hipsterelectron is more suited than i am
and make clean isn't necessary, i can use git clean -fdX instead
Yeah then you should probably use meson or similar, if you want to build zig code with zig and link it with a gcc-built c program that is also possible.
The point is that you don't need to clear your cache for reasons other than garbage collection. most other build systems use clean to get out of bad states due to caching issues.
But i'm not trying to convince you of anything else than zig being a very worthwile, simple language in the c tradition, that happens to have a great build system that you can use if you want or run as part of a meson build.
I'm expecting alternative implementations as soon as the language spec is final, and it would be great to have a c/lua impl for bootstrapping purposes. (at the moment the _full_ bootstrap chain is fairly long, through the legacy c++ compiler)
@hipsterelectron 99% of c's problems are either the api being fucking dogshit or shit being implicit or unclear