Our great sponsors
-
zig
General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
-
zls
A Zig language server supporting Zig developers with features like autocomplete and goto definition
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Not quite - what you said is true for a hypothetical "stage4" however there is a distinct difference between stage2 and stage3. While they are built from the same source code, and therefore have the same logic, they are lowered by different backends, meaning they will have potentially drastically different performance characteristics depending on the differences between the stage1 and stage2 backend, respectively.
Related: https://github.com/ziglang/zig/issues/12183
They have a project for maintaining this: https://github.com/ziglang/zig-bootstrap
Since February, the mrustc project [0] has been capable of bootstrapping a relatively-recent Rust compiler from C++. (It would take another 8 Rust-to-Rust steps to reach the latest stable version.) I've personally tested it on my x86_64-linux-gnu machine, but I don't know how tough it would be to get it to support new targets.
[0] https://github.com/thepowersgang/mrustc
Yeah, it's a binary blob, but it's small enough to be easily auditable. Anyone with some knowledge of x86 assembly can read the annotated version [1] and verify that it does what it claims (which is to convert ASCII hex with comments into binary).
You're right, it also requires a Linux kernel, and of course, you also have to trust the hardware you're running it on. Still, it reduces the amount of stuff we have to take for granted as trusted, which I think is a good thing. (I'm not involved in the project, just an admirer).
[1]: https://github.com/oriansj/bootstrap-seeds/blob/b09a8b8cbcb6...
Related posts
- MicroZig: Unified abstraction layer and HAL for Zig on several microcontrollers
- Zig cookbook: collection of simple Zig programs that demonstrate good practices
- I think C++ is still a desirable coding platform compared to Rust
- Rust – Faster compilation with the parallel front-end in nightly
- Forty years of GNU and the free software movement