Understanding Programming Languages
by Monti Ben-Ari
Publisher: John Wiley & Sons 1996
Number of pages: 322
Understanding Programming Languages explains what alternatives are available to the language designer, how language constructs should be used for safety and readability, how language constructs are implemented, the role of language in expressing and enforcing abstractions. The book compares constructs from C with constructs from Ada in terms of levels of abstraction. Studying these languages provides a firm foundation for an extensive examination of object-oriented language support in C++ and Ada 95. The final chapters introduce functional (ML) and logic (Prolog) programming languages to demonstrate that imperative languages are not conceptual necessities for programming.
Home page url
Download or read it online for free here:
by Harold Abelson, Gerald Jay Sussman, Julie Sussman - McGraw-Hill
The book teaches how to program by employing the tools of abstraction and modularity. The central philosophy is that programming is the task of breaking large problems into small ones. You will learn how to program and how to think about programming.
by J. Girard, Y. Lafont, P. Taylor - Cambridge University Press
This little book comes from a short graduate course on typed lambda-calculus given at the Universite Paris. It is not intended to be encyclopedic and the selection of topics was really quite haphazard. Some very basic knowledge of logic is needed.
by Peter Selinger - Dalhousie University
Topics covered in these notes include the untyped lambda calculus, the Church-Rosser theorem, combinatory algebras, the simply-typed lambda calculus, the Curry-Howard isomorphism, weak and strong normalization, type inference, etc.
by John R. Levine - Morgan Kaufmann
The author presents clear practical advice to help you create faster, cleaner code. You'll learn to avoid the pitfalls associated with Windows DLLs, take advantage of the performance-improving techniques supported by many modern linkers, etc.