3 ms·
rustc was the first (and currently only) compiler I ever contributed to. I think many people in the Rust community are that way. IMO the way they introduce new
by est31 6y ago
rustc was the first (and currently only) compiler I ever contributed to. I think many people in the Rust community are that way. IMO the way they introduce new people to compiler development is top notch. Yes, some algorithms are extremely complicated, like how match statements are translated, but for most changes, you don't need to touch these areas. A lot of compiler engineering is "just" straightforward implementations of papers (like rustc's float parsing bases on a paper), or even simpler, shoveling data from one place to another, and doing that in a multi hundred kloc codebase. It's not trivial, but certainly not magic either.
For the future I hope that some of the custom things that the compiler requires (x.py build system, nightly RUSTC_BOOTSTRAP hack, etc) will be reduced to the needed minimum to make it easier for people from the wider rust community to jump into development, but they have already adjusted many things to rust customs, like introducing Cargo.toml, linking between compiler crates through Cargo.toml instead of just doing extern crate, gradually replacing rustc_serialize with more standard things, etc.