25 Women to Read Before You Die

Special Offers see all

Enter to WIN a $100 Credit

Subscribe to PowellsBooks.news
for a chance to win.
Privacy Policy

Visit our stores

    Recently Viewed clear list

    Original Essays, Recipes | August 19, 2015

    Cara Nicoletti: IMG Ramona Quimby Yogurt-Marinated Chicken Thighs

    As a kid, I read for two reasons: the first, and most common, was to escape from my everyday life by imagining a different one — to read about... Continue »
    1. $19.60 Sale Hardcover add to wish list

Qualifying orders ship free.
Used Hardcover
Ships in 1 to 3 days
Add to Wishlist
Qty Store Section
1 Local Warehouse COMP- SWENG SWENG

Concepts of Programming Languages 5TH Edition


Concepts of Programming Languages 5TH Edition Cover


Synopses & Reviews

Publisher Comments:

B>" The fifth edition of Concepts of Programming Languages by Robert Sebesta continues the approach that has made it the undisputed market leader. It describes fundamental concepts of programming languages by presenting design issues of the various language constructs, examining the design choices for these constructs in a few common languages, and critically comparing the design alternatives. This book allows those with the ability to program to learn how to choose appropriate languages for certain tasks, increase their abilities to learn new languages, and understand the significance of implementation. It illustrates various language constructs and design alternatives through Java, JavaScript, C++, C, Ada, and Fortran, and intertwines discussions of object-oriented programming material with the discussions of the non-OO imperative languages. It also provides extensive material on semantics. This new edition is updated to include a new chapter covering parsing, new material on JavaScript, and updated material on Java 1.3. This book is suitable for programmers who want to get into the theory behind programming-language development and utilization.

Book News Annotation:

A textbook for an advanced undergraduate or graduate course in computer programming that explains how to evaluate existing and future programming languages and how to design compilers. The fifth edition accounts for changes in languages and adds a chapter on lexical and syntax analysis. No dates are noted for previous editions.
Annotation c. Book News, Inc., Portland, OR (booknews.com)


Includes bibliographical references (p. 665-676) and index.


NEW! Expands the treatment of parsing from one section to one chapter (Ch. 3).
NEW! Includes additional treatment of scripting languages.
NEW! Offers updated coverage of Java 1.3 throughout.
NEW! Added information on scripting languages.
Illustrates various language constructs and design alternatives through Java, JavaScript, C++, C, Ada, Fortran, Perl and others.

Table of Contents

1. Preliminaries.
Reasons for Studying Concepts of Programming Languages.
Programming Domains.
Language Evaluation Criteria.
Influences on Language Design.
Language Categories.
Language Design Trade-Offs.
Implementation Methods.
Programming Environments.

2. Evolution of the Major Programming Languages.
Zuse's Plankalkül.
Minimal Hardware Programming: Pseudocodes.
The 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.
Combining Imperative and Object-Oriented Features: C++.
Programming the World Wide Web: Java.

3. Describing Syntax and Semantics.
The General Problem of Describing Syntax.
Formal Methods of Describing Syntax.
Attribute Grammars.
Describing the Meanings of Programs: Dynamic Semantics.

4. Lexical and Syntax Analysis.
Lexical Analysis.
The Parsing Problem.
Recursive-Descent Parsing.
Bottom-Up Parsing.

5. Names, Bindings, Type Checking, and Scopes.
The Concept of Binding.
Type Checking.
Strong Typing.
Type Compatibility.
Scope and Lifetime.
Referencing Environments.
Named Constants.
Variable Initialization.

6. Data Types.
Primitive Data Types.
Character String Types.
User-Defined Ordinal Types.
Array Types.
Associative Arrays.
Record Types.
Union Types.
Set Types.
Pointer Types.

7. Expressions and Assignment Statements.
Arithmetic Expressions.
Overloaded Operators.
Type Conversions.
Relational and Boolean Expressions.
Short-Circuit Evaluation.
Assignment Statements.
Mixed-Mode Assignment.

8. Statement-Level Control Structures.
Compound Statements.
Selection Statements.
Iterative Statements.
Unconditional Branching.
Guarded Commands.

9. Subprograms.
Fundamentals of Subprograms.
Design Issues for Subprograms.
Local Referencing Environments.
Parameter-Passing Methods.
Parameters That Are Subprogram Names.
Overloaded Subprograms.
Generic Subprograms.
Separate and Independent Compilation.
Design Issues for Functions.
Accessing Nonlocal Environments.
User-Defined Overloaded Operators.

10. Implementing Subprograms.
The General Semantics of Calls and Returns.
Implementing FORTRAN 77 Subprograms.
Implementing Subprograms in ALGOL-Like Languages.
Implementing Dynamic Scoping.
Implementing Parameters That Are Subprogram Names.

11. Abstract Data Types.
The Concept of Abstraction.
Introduction to Data Abstraction.
Design Issues.
Language Examples.
Parameterized Abstract Data Types.

12. Support for Object-Oriented Programming.
Object-Oriented Programming.
Design Issues for Object-Oriented Languages.
Overview of Smalltalk.
Introduction to the Smalltalk Language.
Smalltalk Example Programs.
Large-Scale Features of Smalltalk.
Evaluation of Smalltalk.
Support for Object-Oriented Programming in C++.
Support for Object-Oriented Programming in Java.
Support for Object-Oriented Programming in Ada 95.
Support for Object-Oriented Programming in Eiffel.
The Object Model of JavaScript.
Implementation of Object-Oriented Constructs.

13. Concurrency.
Introduction to Subprogram-Level Concurrency.
Message Passing.
Concurrency in Ada 95.
Java Threads.
Statement-Level Concurrency.

14. Exception Handling.
Introduction to Exception Handling.
Exception Handling in PL/I.
Exception Handling in Ada.
Exception Handling in C++.
Exception Handling in Java.

15. Functional Programming Languages.
Mathematical Functions.
Fundamentals of Functional Programming Languages.
The First Functional Programming Language: LISP.
An Introduction to Scheme.
Applications of Functional Languages.
A Comparison of Functional and Imperative Languages.

16. Logic Programming Languages.
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.

Product Details

Sebesta, Robert W.
Addison Wesley Publishing Company
Programming Languages - General
Programming - General
Programming languages (electronic computers)
Programming Languages.
Edition Number:
5th ed.
Series Volume:
Publication Date:
xiii, 698 p.

Other books you might like

  1. Probability and Statistics With... Used Hardcover $139.00
  2. Microcontrollers: Architecture,... Used Hardcover $4.95
  3. The Little Schemer, 4th Edition New Trade Paper $42.50

Related Subjects

Computers and Internet » Software Engineering » General
Computers and Internet » Software Engineering » Programming and Languages

Concepts of Programming Languages 5TH Edition Used Hardcover
0 stars - 0 reviews
$5.25 In Stock
Product details xiii, 698 p. pages Addison Wesley Publishing Company - English 9780201752953 Reviews:
  • back to top


Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at Powells.com.