Synopses & Reviews
andlt;Pandgt;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.andlt;/Pandgt;
Review
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. The MIT Press
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. < b=""> Peter Norvig <> , Google Inc.
Review
"This is a fascinating book. It's been almost 20 years since Abelson and Sussman revolutionized the teaching of computer science with their _Structure and Interpretation of Computer Programs_. In all that time, there have been several books (some of them quite good) following SICP's ideas pretty closely, and of course many books following the old pedagogy in which the details of aprogramming language are the focus, with few deep ideas. But 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) -- the first real intellectual competition to Abelson and Sussman. 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, BerkeleyPlease note: This is the full endorsement text, to be used if possible in publicity and promotional materials. For the book cover, and in places where a shorter version is needed, please use the following: "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." The MIT Press
Review
andlt;Pandgt;"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.andlt;/Pandgt; The MIT Press
Review
andlt;Pandgt;"In almost 20 years since Abelson and Sussman revolutionized the teaching of computer science with their andlt;Iandgt;Structure and Interpretation of Computer Programsandlt;/Iandgt;, this is the first book I've seen that focuses on big ideas and multiple paradigms, as andlt;Iandgt;SICPandlt;/Iandgt; 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." -- andlt;Bandgt;Brian Harvey andlt;/Bandgt;, Lecturer, Computer Science Division, University of California, Berkeleyandlt;/Pandgt; The MIT Press The MIT Press
Review
andlt;Pandgt;"This is a fascinating book. It's been almost 20 years since Abelson and Sussman revolutionized the teaching of computer science with their _Structure and Interpretation of Computer Programs_. In all that time, there have been several books (some of them quite good) following SICP's ideas pretty closely, and of course many books following the old pedagogy in which the details of aprogramming language are the focus, with few deep ideas. But 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) -- the first real intellectual competition to Abelson and Sussman. 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, BerkeleyPlease note: This is the full endorsement text, to be used if possible in publicity and promotional materials. For the book cover, and in places where a shorter version is needed, please use the following: "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."andlt;/Pandgt; The MIT Press
Synopsis
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.
Synopsis
Teaching the science and the technology of programming as a unified discipline that shows the deep relationships between programming paradigms.
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.
Synopsis
Teaching the science and the technology of programming as a unified discipline that shows the deep relationships between programming paradigms.
Synopsis
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.
Synopsis
andlt;Pandgt;Teaching the science and the technology of programming as a unified discipline that shows the deep relationships between programming paradigms.andlt;/Pandgt;
About the Author
Peter Van Roy is Professor in the Department of Computing Science and Engineering at Université catholique de Louvain, at Louvain-la-Neuve, Belgium.Seif Haridi is Professor of Computer Systems in the Department of Microelectronics and Information Technology at the Royal Institute of Technology, Sweden, and Chief Scientific Advisor of the Swedish Institute of Computer Science.