After learning the basics of programming language design by implementing a simple tree-walker interpreter for an SQL-like language at university, I wanted to pick up a book that goes into further detail on the topic. Crafting Interpreters was recommended by my professor and other colleagues.