Concepts, Techniques, and Models of Computer Programming (Hardcover)

Peter Van Roy, Seif Haridi

  • 出版商: MIT
  • 出版日期: 2004-02-20
  • 售價: $1,152
  • 語言: 英文
  • 頁數: 936
  • 裝訂: Hardcover
  • ISBN: 0262220695
  • ISBN-13: 9780262220699
  • 相關分類: R 語言
  • 下單後立即進貨 (約5~7天)

買這商品的人也買了...

商品描述

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.

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.

 

Table of Contents:

 

Preface xiii
 
  Running the Example Programs xxix
 
1. Introduction to Programming Concepts 1
 
I. GENERAL COMPUTATION MODELS 27
 
2. Declarative Computation Model 29
 
3. Declarative Programming Techniques 111
 
4. Declarative Concurrency 233
 
5. Message-Passing Concurrency 345
 
6. Explicit State 405
 
7. Object-Oriented Programming 489
 
8. Shared-State Concurrency 569
 
9. Relational Programming 621
 
II. SPECIALIZED COMPUTATION MODELS 677
 
10. Graphical User Interface Programming 679
 
11. Distributed Programming 707
 
12. Constraint Programming 749
 
III. SEMANTICS 777
 
13. Language Semantics 779
 
IV. APPENDICES 813
 
A. Mozart System Development Environment                                                                            815
 
B. Basic Data Types 819
 
C. Language Syntax 833
 
D. General Computation Model 843
 
  References 853
 
  Index 863

商品描述(中文翻譯)

描述:
這本創新的書以實用和科學的方式將電腦編程呈現為一個統一的學科。該書專注於具有持久價值的技術,並以一個簡單的抽象機器來精確解釋這些技術。該書以統一的框架呈現了所有主要的編程範式,展示了它們之間的深層關係以及如何在何處使用它們。

在介紹編程概念之後,該書介紹了眾所周知和較少人知的計算模型(“編程範式”)。每個模型都有自己的技術集,並且基於其在實踐中的有用性而被包含在內。通用模型包括聲明式編程、聲明式並發、消息傳遞並發、顯式狀態、面向對象編程、共享狀態並發和關聯式編程。專門的模型包括圖形用戶界面編程、分佈式編程和約束編程。每個模型都基於其核心語言 - 一種由少數程序員重要元素組成的簡單核心語言。核心語言逐步引入,逐一添加概念,從而展示不同模型之間的深層關係。核心語言以一個簡單的抽象機器精確定義。由於一個小集合的緊密相關的核心語言可以模擬各種語言和編程範式,這種方法使程序員和學生能夠理解編程的基本統一性。該書包含許多程序片段和練習,所有這些都可以在Mozart編程系統上運行,該系統是一個具有交互式增量開發環境的開源軟件包。

Peter Van Roy是比利時魯汶大學計算科學與工程系的教授。

Seif Haridi是瑞典皇家理工學院微電子與信息技術系的計算機系統教授,也是瑞典計算機科學研究所的首席科學顧問。

目錄:
前言
運行示例程序
1. 編程概念介紹
I. 通用計算模型