𝔖 Bobbio Scriptorium
✦   LIBER   ✦

Concepts, Techniques, and Models of Computer Programming


Book ID
126017295
Year
2003
Tongue
English
Weight
1 MB
Category
Standards

No coin nor oath required. For personal study only.

✦ Synopsis


Site
Review
"In almost 20 years since Abelson and Sussman revolutionized the teaching of computer science with their Structure and Interpretation of Computer Programs, this is the first book I've seen that focuses on big ideas and multiple paradigms, as SICP does, but chooses a very different core model (declarative programming). I wouldn't have made all the choices Van Roy and Haridi have made, but I learned a lot from reading this book, and I hope it gets a wide audience."
β€”Brian Harvey, Lecturer, Computer Science Division, University of California, Berkeley

"This book follows in the fine tradition of Abelson/Sussman and Kamin's book on interpreters, but goes well beyond them, covering functional and Smalltalk-like languages as well as more advanced concepts in concurrent programming, distributed programming, and some of the finer points of C++ and Java."
β€”Peter Norvig, Google Inc.
Product Description
This innovative text presents computer programming as a unified discipline in a way that is both practical and scientifically sound. The book focuses on techniques of lasting value and explains them precisely in terms of a simple abstract machine. The book presents all major programming paradigms in a uniform framework that shows their deep relationships and how and where to use them together. After an introduction to programming concepts, the book presents both well-known and lesser-known computation models ("programming paradigms"). Each model has its own set of techniques and each is included on the basis of its usefulness in practice. The general models include declarative programming, declarative concurrency, message-passing concurrency, explicit state, object-oriented programming, shared-state concurrency, and relational programming. Specialized models include graphical user interface programming, distributed programming, and constraint programming. Each model is based on its kernel language--a simple core language that consists of a small number of programmer- significant elements. The kernel languages are introduced progressively, adding concepts one by one, thus showing the deep relationships between different models. The kernel languages are defined precisely in terms of a simple abstract machine. Because a wide variety of languages and programming paradigms can be modeled by a small set of closely related kernel languages, this approach allows programmer and student to grasp the underlying unity of programming. The book has many program fragments and exercises, all of which can be run on the Mozart Programming System, an Open Source software package that features an interactive incremental development environment.

✦ Subjects


comp_programming


πŸ“œ SIMILAR VOLUMES


Concepts, techniques, and models of comp
✍ Peter Van Roy, Seif Haridi πŸ“‚ Library πŸ“… 2004 πŸ› MIT Press 🌐 English βš– 4 MB

This innovative text presents computer programming as a unified discipline in a way that is both practical and scientifically sound. The book focuses on techniques of lasting value and explains them precisely in terms of a simple abstract machine. The book presents all major programming paradigms in

Concepts and techniques of computer prog
✍ Peter Van Roy, Seif Haridi πŸ“‚ Library πŸ“… 2004 πŸ› The MIT Press 🌐 English βš– 2 MB

This innovative text presents computer programming as a unified discipline in a way that is both practical and scientifically sound. The book focuses on techniques of lasting value and explains them precisely in terms of a simple abstract machine. The book presents all major programming paradigms in

Mental models and computer programming
✍ JosΓ© Juan CaΓ±as; Maria Teresa Bajo; Pilar Gonzalvo πŸ“‚ Article πŸ“… 1994 πŸ› Elsevier Science 🌐 English βš– 569 KB
[Undergraduate Topics in Computer Scienc
✍ Sestoft, Peter πŸ“‚ Article πŸ“… 2012 πŸ› Springer London 🌐 English βš– 210 KB

Programming Language Concepts uses a functional programming language (F#) as the metalanguage in which to present all concepts and examples, and thus has an operational flavour, enabling practical experiments and exercises. It includes basic concepts such as abstract syntax, interpretation, stack ma