Request for consultation

Thanks for your request. You’ll soon be chatting with a consultant to get the answers you need.
{{formPostErrorMessage.message}} [{{formPostErrorMessage.code}}]
First Name is required. 'First Name' must contain at least 0 characters 'First Name' cannot exceed 0 characters Please enter a valid First Name
Last Name is required. 'Last Name' must contain at least 0 characters 'Last Name' cannot exceed 0 characters Please enter a valid Last Name
Institution is required.
Discipline is required.
Why are you contacting us today? is required. 'Why are you contacting us today?' must contain at least 0 characters 'Why are you contacting us today?' cannot exceed 0 characters Please enter a valid Why are you contacting us today?

Programming Languages: Principles and Practices 3rd Edition

Kenneth C. Louden, Kenneth A. Lambert

  • Published
  • Previous Editions 2003, 1993
  • 704 Pages


Kenneth Louden and Kenneth Lambert's new edition of PROGRAMMING LANGUAGES: PRINCIPLES AND PRACTICE, 3E gives advanced undergraduate students an overview of programming languages through general principles combined with details about many modern languages. Major languages used in this edition include C, C++, Smalltalk, Java, Ada, ML, Haskell, Scheme, and Prolog; many other languages are discussed more briefly. The text also contains extensive coverage of implementation issues, the theoretical foundations of programming languages, and a large number of exercises, making it the perfect bridge to compiler courses and to the theoretical study of programming languages.

Kenneth C. Louden, San Jose State University

Kenneth C. Louden is Emeritus Professor of Computer Science and a past chair of the Department of Computer Science at San Jose State University, Silicon Valley's primary supplier of graduates to the tech industry. He has written several texts and articles on advanced topics in computer science.

Kenneth A. Lambert, Washington and Lee University

Kenneth A. Lambert is Professor of Computer Science and Head of the Department at Washington and Lee University. He has taught programming language design for 25 years and has been an active researcher in computer science education. Lambert has co-authored a series of introductory C++ textbooks with Douglas Nance and Thomas Naps and a series of introductory Java textbooks with Martin Osborne, and is the author of a new introductory Python textbook
  • NEW! Earlier exposure to programming languages and paradigms, allowing students to become aware of their power and their limitations.
  • NEW! Students will have an opportunity to write programs in one or more new languages much earlier in the course, thus giving them an opportunity to become proficient in alternative styles of programming.
  • NEW! The material on the history of programming languages in Chapter 2 has been condensed and moved to Chapter 1, thus shortening the book by one chapter. A brief discussion of machine language and assembly language has also been added to this chapter.
  • NEW! A case study on the design of Python, a popular general-purpose scripting language, now follows the case study on C++ in Chapter 2. The two case studies illustrate the tradeoffs that occur when designing new languages.
  • NEW! The chapter on object-oriented programming is now the last of the three chapters on programming paradigms instead of the first one. The order of these chapters now reflects the increasing complexity of the underlying models of computation of each programming paradigm (functions, logic, objects).
  • NEW! Object-oriented programming in Chapter 5 is now introduced with Smalltalk rather than Java. This new order of presentation will allow students to learn how a language was cleanly built around object-oriented concepts, before they see the tradeoffs and compromises that designers had to make in designing Java and C++.
  • NEW! The section on logical constraint languages in the chapter on logic programming has been replaced with a discussion of the functional logic language Curry.
  • NEW! Beginning in Chapter 6, on syntax, and extending through the Chapters 7-10, on semantics, new end-of-chapter sections present a case study of a parser for a small language that resembles Ada. The design of this software is presented incrementally, starting with a raw syntax analyzer and adding features to handle static semantic analysis, such as scope analysis and type checking. This new case study will give students extra practical experience with the concepts they learn in each of these chapters.
  • Overview of language design criteria.
  • Address three major language paradigms.
  • Covers syntax in some detail, including the use of BNF, EBNF, and syntax diagrams.
  • Covers the central semantic issues of programming languages.
  • Overview of modules and abstract data types, including language mechanisms for equational, or algebraic, specification.
  • Introduces the three principal methods of formal semantics: operational, denotational, and axiomatic.
  • the major ways parallelism has been introduced into programming languages.
  • Overview of the history of programming languages, and introduces the idea of abstraction and the concept of different language paradigms.
1. Introduction.
2. Language Design Criteria.
3. Functional Programming.
4. Logic Programming.
5. Object-Oriented Programming.
6. Syntax.
7. Basic Semantics.
8. Data Types.
9. Control I - Expressions and Statements.
10. Control II - Procedures and Environments.
11. Abstract Data Types and Modules.
12. Formal Semantics.
13. Parallel Programming.

Textbook Only Options

Traditional eBook and Print Options

{{collapseContainerClosed['detail_0'] ? 'Show More' : 'Show Less'}}

  • ISBN-10: 1133464645
  • ISBN-13: 9781133464648
  • STARTING AT $22.49

  • STARTING AT $43.99

  • ISBN-10: 1111529418
  • ISBN-13: 9781111529413
  • Bookstore Wholesale Price $207.00
  • RETAIL $275.95

Cengage provides a range of supplements that are updated in coordination with the main title selection. For more information about these supplements, contact your Learning Consultant.


Instructor's Resource CD-ROM

ISBN: 9781111529420
Now all instructor materials are available on one convenient and easy-to-use CD. Designed to help facilitate classroom instruction, this CD has instructor files unique to the textbook. All of these tools can help motivate students and enhance their knowledge and course appreciation. Please note that all supplements (with the exception of figure files) are also available for download on the Companion site for the text at KEY FEATURES: The Instructor Resources CD includes: Data and solution files for this course, Figure files to help you customize handouts and presentations, ExamView test banks with true/false, modified true/false, multiple choice, completion, matching, case-based critical thinking, and essay question types to help you assess student understanding, Instructor's manuals for each lesson to help you gain insight on how to fully engage students and effectively teach the material, PowerPoint Presentations to help you discuss new tasks and vocabulary terms covered in each lesson, Sample syllabus to help you design your course from beginning to end.