
Concepts of Programming Languages
by Robert W. Sebesta
12th Edition
Publisher: Pearson
Book Details
| Print ISBN | 9780134997186 |
| eText ISBN | 9780135102251 |
| Publisher | Pearson |
| Publishing Year | 2019 |
| Edition | 12th Edition |
| Language | English |
| Pages | 784 |
In an era dominated by rapid technological shifts and the constant emergence of new software development paradigms, understanding the underlying architectural choices of software tools is critical. Concepts of Programming Languages 12th Edition provides an essential framework for analyzing and understanding the structural design of modern coding environments. Rather than focusing on the syntax of a single language, this text equips students with the analytical tools necessary to evaluate contemporary and future systems. By establishing a deep conceptual foundation, it helps developers and software engineers make informed decisions when choosing the right tool for a specific project, ultimately leading to more robust and efficient software solutions in a competitive global market.
Robert W. Sebesta approaches the subject in Concepts of Programming Languages 12th Edition with a rigorous, comparative perspective that highlights the trade-offs inherent in language design. The text explores critical themes such as syntax, semantics, data types, control structures, and subprogram implementation. By examining how different paradigms handle these core elements, the book reveals the fundamental differences between imperative, functional, logic, and object-oriented approaches. This comprehensive analysis prepares readers to understand not only how languages work but also how they are implemented, which is invaluable for anyone interested in compiler design or advanced software engineering. It bridges the gap between writing code and understanding the underlying execution models that govern modern computing systems.
Designed primarily for computer science students, this edition introduces exciting updates that reflect the current state of the industry. Outdated discussions have been replaced with coverage of modern languages like Swift and Python, ensuring the material remains highly relevant. Instructors and students alike will appreciate the structured pedagogy, which includes review questions, problem sets, and language-specific mini-manuals. Acquiring the Concepts of Programming Languages 12th Edition PDF allows learners to easily navigate these complex topics, making it an indispensable resource for academic courses and professional reference. This update ensures that the next generation of developers is prepared for the challenges of tomorrow's software engineering landscape.
Table of Contents
Chapter 1: Preliminaries
- • Why Study Programming Languages?
- • Programming Domains
- • Language Evaluation Criteria
- • Influences on Language Design
- • Language Categories
- • Language Design Trade-offs
- • Implementation Methods
- • Programming Environments
Chapter 2: Evolution of the Major Programming Languages
- • Zuse's Plankalkül
- • Pseudocodes
- • IBM 704 and Fortran
- • Functional Programming: LISP
- • The First Step Toward Sophistication: ALGOL 60
- • Computerizing Business Records: COBOL
- • The Beginnings of Timesharing: BASIC
- • Everything for Everybody: PL/I
- • Two Early Dynamic Languages: APL and SNOBOL
- • The Beginnings of Data Abstraction: SIMULA 67
- • Orthogonal Design: ALGOL 68
- • Some Important Descendants of the ALGOLs
- • Programming Based on Logic: Prolog
- • History's Largest Design Effort: Ada
- • Object-Oriented Programming: Smalltalk
- • Relation to Imperative Languages: C++
- • An Imperative-Based Object-Oriented Language: Java
- • Scripting Languages
- • The Flagship .NET Language: C#
- • Markup-Programming Hybrid Languages
Chapter 3: Describing Syntax and Semantics
- • Introduction
- • The General Problem of Describing Syntax
- • Formal Methods of Describing Syntax
- • Attribute Grammars
- • Describing the Meanings of Programs: Dynamic Semantics
Chapter 4: Lexical and Syntax Analysis
- • Introduction
- • Lexical Analysis
- • The Parsing Problem
- • Recursive-Descent Parsing
- • Bottom-Up Parsing
Chapter 5: Names, Bindings, and Scopes
- • Introduction
- • Names
- • Variables
- • The Concept of Binding
- • Scope
- • Scope and Lifecycle
- • Referencing Environments
- • Named Constants
Chapter 6: Data Types
- • Introduction
- • Primitive Data Types
- • Character String Types
- • User-Defined Ordinal Types
- • Array Types
- • Associative Arrays
- • Record Types
- • Tuple Types
- • List Types
- • Union Types
- • Pointer and Reference Types
- • Optional Types
- • Type Checking
- • Strong Typing
- • Type Equivalence
- • Theory and Data Types
Chapter 7: Expressions and Assignment Statements
- • Introduction
- • Arithmetic Expressions
- • Overloaded Operators
- • Type Conversions
- • Relational and Boolean Expressions
- • Short-Circuit Evaluation
- • Assignment Statements
- • Mixed-Mode Assignment
Chapter 8: Statement-Level Control Structures
- • Introduction
- • Selection Statements
- • Iterative Statements
- • Unconditional Branching
- • Guarded Commands
- • Conclusions
Chapter 9: Subprograms
- • Introduction
- • Fundamentals of Subprograms
- • Design Issues for Subprograms
- • Local Referencing Environments
- • Parameter-Passing Methods
- • Parameters That Are Subprograms
- • Calling Subprograms Indirectly
- • Overloaded Subprograms
- • Generic Subprograms
- • User-Defined Overloaded Operators
- • Closures
- • Coroutines
Chapter 10: Implementing Subprograms
- • The General Semantics of Call and Return
- • Implementing Subprograms with Stack-Dynamic Local Variables
- • Nested Subprograms
- • Blocks
- • Implementing Dynamic Scopes
Chapter 11: Abstract Data Types and Encapsulation Constructs
- • The Concept of Abstraction
- • Introduction to Data Abstraction
- • Design Issues for Abstract Data Types
- • Language Examples
- • Parameterized Abstract Data Types
- • Encapsulation Constructs
- • Naming Encapsulations
Chapter 12: Support for Object-Oriented Programming
- • Introduction
- • Object-Oriented Programming
- • Design Issues for Object-Oriented Languages
- • Support for Object-Oriented Programming in Specific Languages
- • Implementation of Object-Oriented Constructs
Chapter 13: Concurrency
- • Introduction
- • Introduction to Subprogram-Level Concurrency
- • Semaphores
- • Monitors
- • Message Passing
- • Ada Support for Concurrency
- • Java Threads
- • C# Threads
- • Concurrency in Functional Languages
- • Statement-Level Concurrency
Chapter 14: Exception Handling and Event Handling
- • Introduction to Exception Handling
- • Exception Handling in Specific Languages
- • Introduction to Event Handling
- • Event Handling with Java
- • Event Handling in C#
Chapter 15: Functional Programming Languages
- • Introduction
- • Mathematical Functions
- • Fundamentals of Functional Programming Languages
- • Introduction to Scheme
- • Common LISP
- • ML
- • Haskell
- • F#
- • Support for Functional Programming in Primarily Imperative Languages
- • Comparison of Functional and Imperative Languages
Chapter 16: Logic Programming Languages
- • Introduction
- • A Brief Introduction to Predicate Calculus
- • Predicate Calculus and Proving Theorems
- • An Overview of Logic Programming
- • The Origins of Prolog
- • The Basic Elements of Prolog
- • Deficiencies of Prolog
- • Applications of Logic Programming
Customer Reviews
0.0
0 reviews
No reviews yet. Be the first to review this book!
Write a Review
Reviewed by GradeFocus
▶Research Sources (12)
- [PDF] CONCEPTS OF PROGRAMMING LANGUAGES
- [Available] [True PDF] Concepts of Programming Languages 12th ...
- Concepts of Programming Languages... | Rent | 9780134997186
- Concepts Of Programming Languages 12th Edition, Sebesta
- [Available] [Solution Manual] Concepts of Programming Languages ...
- Concepts of Programming Languages:
- Concepts of Programming Languages [RENTAL EDITION] - BooksRun
- Concepts of Programming Languages [Rental Edition]
- Robert W. Sebesta Concepts of Programming Languages.pdf - GitHub
- Concepts of Programming Languages: Twelfth Edition Study Guide
- Concepts of Programming Languages (12th edition) - Alibris
- Concepts of programming languages Twelfth Edition Sebesta - Scribd


