An excellent introduction to the concepts underlying the major programming paradigms.
A very clear introduction to implementing programming languages, that covers parsing, code generation, and interpretation. One of the books I used while I was developing the Demonstrably Correct Compiler.