Skip to product information
1 of 1
Regular price £57.99 GBP
Regular price £67.99 GBP Sale price £57.99 GBP
Sale Sold out
Free UK Shipping

Freshly Printed - allow 8 days lead

Concepts in Programming Languages

A comprehensive undergraduate textbook covering both theory and practical design issues, with an emphasis on object-oriented languages.

John C. Mitchell (Author)

9780521780988, Cambridge University Press

Hardback, published 14 October 2002

540 pages, 62 b/w illus. 14 tables 140 exercises
26.2 x 18.6 x 3.1 cm, 1.126 kg

'… 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

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.

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.

Subject Areas: Computer science [UY], Programming & scripting languages: general [UMX]

View full details