Yesterday I’ve finished reading
Programming Language Pragmatics by Michael L. Scott
and it’s a big book with a lot of exercises (I’ve tried to do most of them) and with a ton of additional
material on PLP CD. This book covers most of PL related concepts from grammar to concurrency and
memory management. Also it explains why something implemented the way it implemented in exists
programming languages. And has information about ton of languages, from Algol to Haskell.
But some chapters is outdated, for example chapter about in-browser scripting. And some chapters covers not all aspects, it’s like 50 pages about mutexes and locks and only 2 pages about message passing in chapter about concurrency.
Despite this, I guess it’s must read book for software developers.