Request for consultation

Thanks for your request. You’ll soon be chatting with a consultant to get the answers you need.
Your form is submitting...
{{formPostErrorMessage.message}} [{{formPostErrorMessage.code}}]
Email Address is required. 'Email Address' must contain at least 0 characters 'Email Address' cannot exceed 0 characters Please enter a valid Email Address
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.
Cengage, at your service! How can we best meet your needs? 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

  • {{checkPublicationMessage('Published', '2011-01-26T00:00:00+0000')}}
Starting At $77.95 See pricing and ISBN options
Programming Languages: Principles and Practices 3rd Edition by Kenneth C. Louden/Kenneth A. Lambert

Overview

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

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

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 an introductory Python textbook. He is also the co-creator of the BreezySwing framework and is the creator of the breezypythongui framework.
  • 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).
  • Overview of the history of programming languages, and introduces the idea of abstraction and the concept of different language paradigms.
  • 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.
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.
Bibliography.

Textbook Only Options

Traditional eBook and Print Options

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

  • ISBN-10: 0357703774
  • ISBN-13: 9780357703779
  • RETAIL $77.95

  • ISBN-10: 1111529418
  • ISBN-13: 9781111529413
  • RETAIL $304.95