How to become an expert in compilers the long way?

This. Going from a compilers textbook to a project like LLVM/Clang/Swift is like building a paper airplane and then working on A320s. Nothing in my undergraduate or graduate compilers courses really prepared me for anything more than toy work. (Those courses predated Clang, so I hope modern courses try to do it a little better, but 15 weeks isn't nearly enough time.)

Compared to similar projects of size and scope, the LLVM and Swift projects are some of the cleanest, better-documented ones that I've experienced. Grab a debugger, sprinkle some breakpoints around, explore, and just start calling the dump() method on literally everything. There's a ton of useful information baked in there to figure out what's going on, and you'll probably be productive faster than you initially expected.

10 Likes