Our systems are now restored following recent technical disruption, and we’re working hard to catch up on publishing. We apologise for the inconvenience caused. Find out more

Recommended product

Popular links

Popular links


Concepts in Programming Languages

Concepts in Programming Languages

Concepts in Programming Languages

John C. Mitchell, Stanford University, California
November 2002
Hardback
9780521780988
£70.99
GBP
Hardback
USD
eBook

    For undergraduate and beginning graduate students, this textbook explains and examines the central concepts used in modern programming languages, such as functions, types, memory management, and control. The book is unique in its comprehensive presentation and comparison of major object-oriented programming languages. Separate chapters examine the history of objects, Simula and Smalltalk, and the prominent languages C++ and Java. The author presents foundational topics, such as lambda calculus and denotational semantics, in an easy-to-read, informal style, focusing on the main insights provided by these theories. Advanced topics include concurrency, concurrent object-oriented programming, program components, and inter-language interoperability. A chapter on logic programming illustrates the importance of specialized programming methods for certain kinds of problems. This book will give the reader a better understanding of the issues and tradeoffs that arise in programming language design, and a better appreciation of the advantages and pitfalls of the programming languages they use.

    • Extensive coverage and comparison of object-oriented languages such as C++ and Java
    • Presents theoretical concepts, language design goals, design trade-offs, implementation issues, and effect on programming style
    • Each chapter contains an extensive list of exercises

    Reviews & endorsements

    '… an extremely rich source of important information, subtle issues, and diverse and challenging exercises … the book is interesting, challenging and a pleasure to read.' JFP

    See more reviews

    Product details

    November 2002
    Hardback
    9780521780988
    540 pages
    262 × 186 × 31 mm
    1.126kg
    62 b/w illus. 14 tables 140 exercises
    Available

    Table of Contents

    • Part I. Functions and Foundations:
    • 1. Introduction
    • 2. Computability
    • 3. Lisp: functions, recursion and lists
    • 4. Fundamentals
    • Part II. Procedures, Types, Memory Management and Control:
    • 5. The Algol family and ML
    • 6. Type systems and type inference
    • 7. Scope, functions and storage management
    • 8. Control in sequential languages
    • Part III. Modularity, Abstraction and Object-Oriented Programming:
    • 9. Data abstraction and modularity
    • 10. Concepts in object-oriented languages
    • 11. History of objects: simula and smalltalk
    • 12. Objects and run-time efficiency: C++
    • 13. Portability and safety: Java
    • Part IV. Concurrency and Logic Programming:
    • 14. Concurrent and distributed programming
    • 15. The logic programming paradigm and prolog by Krzysztof Apt
    • Appendix: additional programming examples
    • Glossary.
    Resources for
    Type
    Mitchell Copy
    Size: 22 KB
    Type: application/msword
    Sign inThis resource is locked and access is given only to lecturers adopting the textbook for their class. We need to enforce this strictly so that solutions are not made available to students. To gain access to locked resources you either need first to sign in or register for an account.
    Solutions PDF
    Size: 279.04 KB
    Type: application/pdf
    Sign inThis resource is locked and access is given only to lecturers adopting the textbook for their class. We need to enforce this strictly so that solutions are not made available to students. To gain access to locked resources you either need first to sign in or register for an account.
    Mitchell flyer
    Size: 232.83 KB
    Type: application/pdf
    Sign inThis resource is locked and access is given only to lecturers adopting the textbook for their class. We need to enforce this strictly so that solutions are not made available to students. To gain access to locked resources you either need first to sign in or register for an account.