In the context of a master level course on programming paradigms for software engineers, I'm looking for a good book on the history of programming languages, explained from the point of view of the main design principles introduced by the different programming languages. I've always liked Bruce J. MacLennan’s book on Principles of Programming Languages (2nd edition, 1986, ISBN 0-03-005163-0). If you've never read it, it's definitely a must-read. However, it seems to be getting a bit oldish since there haven't been any recent editions anymore. Therefore, for a while I've been looking for a good alternative book, but haven't found any worthy replacement so far. Any suggestions?