I haven't studied the field in awhile, but back when I did, I got a lot from Advanced Compiler Design & Implementation by Steven Muchnick.
There is an unfortunate tendency, when teaching about compilers, to teach about components in the order they would be built in a project course, which puts a lot of undue emphasis on the boring solved problem of parsing. The layman's view of a compiler is that it translates from high-level languages to machine code; the reality is that it translates from a high-level language through a series of intermediate representations, each of which brings out some property that makes it amenable to optimizations; and these optimizations and representations are what make up the bulk of a compiler. A good litmus-test for understanding, is ability to translate a function into static single assignment (SSA) form.
Subscribe to RSS Feed
= f037147d6e6c911a85753b9abdedda8d)
Career/finance
http://www.mrmoneymustache.com fixed what I was doing with personal finance. In particular, not saving for retirement consistent with what my goals are on reflection. The best part is that what he tells you to do for investing is really easy and involves almost no choice, which meant I got started immediately while reading more about other life changes. He also drills into you that the naive cost/benefit calculation for outsourcing small home repairs done by a lot of us geeks misses less obvious costs of outsourcing and under-counts the benefit of learning skills, which was a big update for me.