__For courses in computer programming.__ **Evaluating the Fundamentals of Computer Programming Languages** **__Concepts of Computer Programming Languages__** introduces students to the fundamental concepts of computer programming languages and provides them with the tools necessary to evaluate contemporary and future languages. An in-depth discussion of programming language structures, such as syntax and lexical and syntactic analysis, also prepares readers to study compiler design. The **Eleventh Edition** maintains an up-to-date discussion on the topic with the removal of outdated languages such as Ada and Fortran. The addition of relevant new topics and examples such as reflection and exception handling in Python and Ruby add to the currency of the text. Through a critical analysis of design issues of various program languages, **__Concepts of Computer Programming Languages__** teaches programmers the essential differences between computing with specific languages. For courses in computer programming. Evaluating the Fundamentals of Computer Programming LanguagesConcepts of Computer Programming Languages introduces students to the fundamental concepts of computer programming languages and provides them with the tools necessary to evaluate contemporary and future languages. An in-depth discussion of programming language structures, such as syntax and lexical and syntactic analysis, also prepares students to study compiler design.The Eleventh Edition maintains an up-to-date discussion on the topic with the removal of outdated languages such as Ada and Fortran. The addition of relevant new topics and examples such as reflection and exception handling in Python and Ruby add to the currency of the text. Through a critical analysis of design issues of various program languages, Concepts of Computer Programming Languages teaches students the essential differences between computing with specific languages. Introduces students to the fundamental concepts of computer programming languages and provides them with the tools necessary to evaluate contemporary and future languages. An in-depth discussion of programming language structures, such as syntax and lexical and syntactic analysis, also prepares students to study compiler design. The Eleventh Edition maintains an up-to-date discussion on the topic with the removal of outdated languages such as Ada and Fortran. The addition of relevant new topics and examples such as reflection and exception handling in Python and Ruby add to the currency of the text. Through a critical analysis of design issues of various program languages, Concepts of Programming Languages teaches students the essential differences between computing with specific languages. Robert W. Sebesta is Associate Professor Emeritus, Computer Science Office, UCCS, University of Colorado at Colorado Springs. -- Publisher's note The goals, overall structure, and approach of this eleventh edition of Concepts of Programming Languages remain the same as those of the ten earlier editions. The principal goals are to introduce the fundamental constructs of contemporary programming languages and to provide the reader with the tools necessary for the critical evaluation of existing and future programming languages. A secondary goal is to prepare the reader for the study of compiler design, by providing an in-depth discussion of programming language structures, presenting a formal method of describing syntax, and introducing approaches to lexical and syntactic analysis Preliminaries Evolution of the Major Programming Languages Describing Syntax and Semantics Lexical and Syntax Analysis Names, Binding, and Scopes Data Types Expression and Assignment Statements Statement-Level Control Structures Subprograms Impementing Subprograms Abstract Data Types and Encapsulation Constructs Support for Object-Oriented Programming Concurrency Exception Handling and Event Handling Functional Programming Languages Logic Programming Languages This title introduces students to the main constructs of contemporary programming languages and provides the tools necessary to critically evaluate existing and future programming languages