The reason why compilers are quite possibly _the most_ important subject of CS, and should be a mandatory course in every department was well outlined in Steve Yegge's "Rich Programmer Food" blog post. The quick-and-dirty summary: anyone who can do compilers has the tools to manage codebases that are a magnitude larger than someone who doesn't. http://steve-yegge.blogspot.com/2007/06/rich-programmer-food...