The revision of a popular, text/reference guide analyzes and evaluates the important concepts found in current programming languages based on how the language supports software development. Revisions include a consideration of more languages, new chapters on declarative programming and formal semantics, expanded coverage of object oriented programming and operational semantics, a more thorough discussion of programming environments, as well as more examples, explanations, and exercises. Improves the reader's ability to appreciate and evaluate programming languages. Identifies the important concepts in programming languages and reviews their strengths and limitations.