...
Why are you not using Kit yet?
are you sure? Zig can literally do that at compile-time. the "%s%s" is right there in the source where the compiler can see it. If you require that printf's first argument be knowable at compile-time, and can run other code at compile-time, then you can do better.
But this is Kit. Also I just realized that the printf function from the sample isn't a Kit function, but imported from stdio.h. Hello memory unsafety if you pass the wrong shit. Nice "type system" you got there.
Are you choosing to be stupid?
explain or kys yourself
that's why.
>complaining about optional GC
LARP harder.
This, I've been using nim quite a lot lately and it has actually been enjoyable. I haven't enjoyed programming this much since I used C, but now I can actually make things in less than a week. It has some problems for sure, the worst of which I've found to be the python-style clutter issue due to indentation-style scope rules, but offers c-style includes which let you break up a large file if you want. Nimble kinda sucks but nake was good enough that I stopped working on my own build system to use it.
Nim offers multiple options for garbage collection along with the option to completely disable it. I will admit I haven't tested turning it off but I am pretty sure that it would still be easier to use without than D would. On top of this you can just compile C code into your project (see nim-lang.org
Strings doesn't work with --gc:none at the moment, so shut your trap. If they really manage to make it GC less (with the stdlib not suffering a bit), I'll consider it. A GCC frontend would make it way more interesting, though.
Look user the D(ick) language said the same thing. Turns out if you design a language where almost all the code assumes GC it is fucked when you turn it off.