4 ms·
Coursera: Compiler Class, taught by Alex Aiken
- cottonseed 15y agoCompilers is a great class. I took it as a sophomore, and each year afterwards, when the compiler project was announced, I'd spend a few sleepless nights (and days) banging out a compiler. I must have written four or five compilers for various architectures before I turned pro. No surprise my biggest exit was a software tools company.
- int3 15y agoDo you mean that you did your school's compiler class project each year despite not taking the class, and every year they were targeting a different architecture?
- cottonseed 15y agoYeah. They redesigned the class the year after I took it (we programmed in CLU and targeted the VAX) and different people taught it, so it was also changing. Also, I'd vary things. One year I wrote a sparc babckend (which had some unusual features like register windows) in C; that definitely wasn't what the class was doing.
- int3 15y agoI like that idea, and I think I'm going to try it. I'm slightly perturbed that my school doesn't have an advanced compilers course, but I could definitely use this strategy as a way of learning more.
- cottonseed 15y agoA few other ideas to play with: you might go through a book like Programming Language Pragmatics by Scott and implement various kinds of languages and language features. Understanding how various language features map to the bare metal can be very illuminating. The second is to play with various backends. I was crazy about learning ISAs and computer architecture back then. Finally, you can play with "middle end" ideas: IRs, program analyses and optimizations. Once you get past the book stage, there is a HUGE literature on compiler analyses and optimizations.
- int3 15y agoSounds like a plan. Thanks for the ideas!