Programming books you might want to consider reading
A little-known book, quite dated by now, but one of those books that takes a tightly-focused problem and shows how to solve it in a beautiful way that doesn't just solve the problem but also creates meaning that transcends the initial problem, is "Threaded Interpretive Languages" by Loeliger.