Programming languages principles and practice - Louden, Kenneth C.; Lambert, Kenneth Alfred (Course Technology Cengage Learning, 2012)
This text provides advanced undergraduate students an overview of programming languages through general principles combined with details about many modern languages. Major languages used in this edition include C, C++, Smalltalk, Java, Ada, ML, Haskell, Scheme, and Prolog; many other languages are discussed more briefly.