Written for computer science students, this text is organized around the principle of language paradigms. A paradigm is used to categorize a group of languages by abstract features - organizing languages by three imperative paradigms (Block structured, Object-based, Distributed), and three declarative paradigms (Relational, Functional and Database). The text is accompanied by mini-language manuals which can be used either to teach languages or as lab texts.
I use this book to augment my course CS-4337 "Organization of Programming Languages" at UT Dallas. The primary textbook for my course is Sebesta's Concepts of Programming Languages. I prefer the order of topics in Appleby's text, but wish it had been kept up to date, like the Sebesta.