I've been programming for a few years now and I'm looking to more formally educate myself in general computer science. I've been told having a good grasp on compilers and interpreters can be useful for a wide variety of problems.
So far "Language Implementation Patterns" looks like it might be a promising alternative.