Request for consultation
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.
- 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.
2. Language Design Criteria.
3. Functional Programming.
4. Logic Programming.
5. Object-Oriented Programming.
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.
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
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 www.cengage.com. 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.