Deciding where to go from here
You may want to study more advanced work in any number of areas. These include programming language design, bytecode implementation, code optimization, monitoring and debugging program executions, programming environments such as IDEs, and GUI builders. In this section, we will explore just a few of these possibilities in more detail. This section reflects many of my personal biases and priorities.
Studying programming language design
It is probably more difficult to identify strong works in programming language design than most of the other technical topics mentioned in this section. Harold Abelson and Gerald Sussman once wrote a book called Structure and Interpretation of Computer Programs, which was widely reputed to be useful. Although it is not exactly a programming language design book, its insights delve into that subject.
Browsing casually, you may find many general programming language books. Rafael Finkel's Advanced Programming...