|
This innovative text presents 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 machines. After an introduction to programming concepts, the book presents both well-known and lesser-known computation models ("programming paradigm"). 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, 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. 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. The book intends to be used in undergraduate courses on programming concepts and techniques, applied programming models, concurrent and distributed programming, computational models and on constraint programming.isbn-9788120326859
|
|
Pages : 932
|