In programming courses, using the different syntax of multiple languages, such as C++, Java, PHP, and Python, for the same abstraction often confuses students new to computer science. Introduction to Programming Languages separates programming language concepts from the restraints of multiple language syntax by discussing the concepts at an abstract level.
Designed for a one-semester undergraduate course, this classroom-tested book teaches the principles of programming language design and implementation. It presents:
- Common features of programming languages at an abstract level rather than a comparative level
- The implementation model and behavior of programming paradigms at abstract levels so that students understand the power and limitations of programming paradigms
- Language constructs at a paradigm level
- A holistic view of programming language design and behavior
To make the book self-contained, the author introduces the necessary concepts of data structures and discrete structures from the perspective of programming language theory. The text covers classical topics, such as syntax and semantics, imperative programming, program structures, information exchange between subprograms, object-oriented programming, logic programming, and functional programming. It also explores newer topics, including dependency analysis, communicating sequential processes, concurrent programming constructs, web and multimedia programming, event-based programming, agent-based programming, synchronous languages, high-productivity programming on massive parallel computers, models for mobile computing, and much more. Along with problems and further reading in each chapter, the book includes in-depth examples and case studies using various languages that help students understand syntax in practical contexts.
Designed for a one-semester undergraduate course, this classroom-tested book separates programming language concepts from the restraints of multiple language syntax by discussing the concepts at an abstract level. The author explains the principles of programming language design and implementation and covers both classical and newer topics, such as concurrent programming constructs and mobile computing models. Along with problems and further reading in each chapter, the text includes in-depth examples and case studies using various languages that help students understand syntax in practical contexts.
"? a great introductory text, providing essential knowledge in the field and enabling students to place in the appropriate context the programming concepts they learned in their introductory courses. ? The author has cleverly placed an introduction to data structures commonly used by programming languages in the second chapter, minimizing prerequisites and enabling the book's usage at the sophomore level. Theory has been kept to levels suitable for a general undergraduate population and is supported by a wealth of concise, well-illustrated examples. ? Recommended."-CHOICE, August 2014