Bootstrapping Zig from below C level.
The first computer programs were written directly in machine code. To make things easier, automated assemblers were developed, initially in machine code as well and then in their own input language. To make things easier again, high-level (for the time) languages such as BCPL, B, and eventually C were developed, which abstracted some of the details of the underlying architecture and allowed more complex compound logic. These languages were implemented by first writing compilers for subsets of them in assembly, then using those compilers to compile compilers for the full languages. Thus, there was a concrete bootstrap chain extending right down to assembly.
Nowadays, this is a lost art. Quite literally all languages that bootstrap themselves nowadays start from a pre-existing high-level language, usually C or C++, and then reject their roots as soon as they can. Zig stands out by maintaining its bootstrap chain, but this chain begins at a sy