For courses in computer programming.
Evaluating the Fundamentals of Computer Programming Languages
Concepts of Computer Programming Languages introduces students to the fundamental concepts of computer programming languages and provides them with the tools necessary to evaluate contemporary and future languages. An in-depth discussion of programming language structures, such as syntax and lexical and syntactic analysis, also prepares students to study compiler design.
The Eleventh Edition maintains an up-to-date discussion on the topic with the removal of outdated languages such as Ada and Fortran. The addition of relevant new topics and examples such as reflection and exception handling in Python and Ruby add to the currency of the text. Through a critical analysis of design issues of various program languages, Concepts of Computer Programming Languages teaches students the essential differences between computing with specific languages.
本書特色
Concepts of Computer Programming Languages uses the following features to facilitate learning:
UPDATED! The most current information on contemporary computer programming languages
●REVISED! Much of the discussion on outdated languages Ada and Fortran have been removed, including:
。Chapter 6 description of Ada’s records, union types, and pointers.
。Chapter 8 discussion of Ada’s for statement.
。Chapter 10 example Main_2 has been rewritten from Ada to Javascript.
。Chapter 11 section on Ada’s abstract data types.
●Chapter 4 discusses the important topics of lexical and syntactical analysis and can stand alone from the rest of the book as its own source material.
●REVISED! Chapter 12 has been substantially revised with new sections and paragraphs, including an added a section on reflection with two complete program examples and a table of design choices of common languages that support object-oriented programming.
●Chapters 5-14 discuss in detail the design issues of contemporary programming languages, using specific examples to demonstrate each.
。Chapter 5 covers the many characteristics of variables.
。Chapter 6 explains different data types.
。Chapter 7 discusses expressions and assignment statements.
。Chapter 8 explains control statements.
。Chapters 9 and 10 cover subprograms and their implementations.
。Chapter 11 examines data abstraction facilities.
。Chapter 12 details language features that support object-oriented programming.
。Chapter 13 discusses concurrent program units.
。NEW! Chapter 14 has added a discussion of exception handling in Python and Ruby.
●Chapters 15 and 16 introduce and explain functional programming and logic programming, two of the most important alternative programming paradigms, with an introduction to and discussion of Scheme, ML, Haskell, and F#, as well as the logic programming language Prolog.
The fundamental concepts of programming languages are taught through detailed examination of specific languages
●Chapter 3 introduces formal methods for describing the syntax and semantics of programming languages.
●Chapters 4 and 10 discuss implementation techniques for various language constructs using lexical and syntax analysis and the implementation of subprogram linkage.
●Coverage of advanced object-oriented topics and languages is integrated throughout.
A historical viewpoint provides context for learning different programming languages
●NEW! Chapter 2 outlines the evolution of various languages to help students get a sense of their histories.
●Historical boxes and interviews with James Gosling, Larry Wall, Alan Cooper, Bjarne Stroustrup, and others put the material in context.
●Valuable historical foundations that set out the origins, purposes, and contributions of the most important languages discussed in the rest of the text are introduced early on.
●In-depth discussions of the design issues faced by the early versions of relevant languages are presented in later chapters.