コンピュータプログラミングの概念・技法・モデル

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Jump to navigation Jump to search
コンピュータプログラミングの概念・技法・モデル
Concepts, Techniques, and Models of Computer Programming
著者 ピーター・ヴァン・ロイ、セイフ・ハリディ
訳者 羽永洋
発行日 2004年
発行元 翔泳社
ジャンル コンピュータサイエンス
日本
言語 日本語
ページ数 944
コード ISBN 978-4798113463
ISBN 0-262-22069-5(原書)
[ Wikidata-logo-en.svg ウィキデータ項目を編集 ]
テンプレートを表示

コンピュータプログラミングの概念・技法・モデル』 (コンピュータプログラミングのがいねん・ぎほう・モデル、CTM、CTMCP、: Concepts, Techniques, and Models of Computer Programming) は、一般的なコンピュータプログラミングの概念について説明した教科書であり、ピーター・ヴァン・ロイとセイフ・ハリディにより著された。 日本語訳の訳者は羽永洋である。 この教科書の略称はCTMもしくはCTMCPである。 ガウディ本と呼ばれることもある。 ピーター・ヴァン・ロイはルーヴァン・カトリック大学の教授であり、セイフ・ハリディはスウェーデン王立工科大学の教授である。 この教科書は2004年に MIT Press から出版され、2007年に日本語訳が翔泳社から出版された。

この教科書では、マルチパラダイムプログラミング言語Ozの注意深く選択されたサブセット (Mozartプログラミングシステム) を使い、重要なプログラミングの概念と技法とモデル (プログラミングパラダイム) を説明している。

目次[編集]

以下にこの教科書の目次を示す。

  • はじめに
  • プログラム例の実行について
  • 第1章 プログラミング概念入門
  • 第I部 一般的計算モデル
    • 第2章 宣言的計算モデル
    • 第3章 宣言的プログラミング技法
      • 3.1 宣言的とはどういうことか?
      • 3.2 反復計算
      • 3.3 再帰計算
      • 3.4 再帰を用いるプログラミング
      • 3.5 時間効率と空間効率
      • 3.6 高階プログラミング
      • 3.7 抽象データ型
      • 3.8 宣言的でない必要物
      • 3.9 小規模プログラム設計
      • 3.10 練習問題
    • 第4章 宣言的並列性
      • 4.1 データ駆動並列モデル
      • 4.2 スレッドプログラミングの基本的技法
      • 4.3 ストリーム
      • 4.4 宣言的並列モデルを直接使うこと
      • 4.5 遅延実行
      • 4.6 甘いリアルタイムプログラミング
      • 4.7 Haskell言語
      • 4.8 宣言的プログラミングの限界と拡張
      • 4.9 進んだ話題
      • 4.10 歴史に関する注記
      • 4.11 練習問題
    • 第5章 メッセージ伝達並列性
      • 5.1 メッセージ伝達並列モデル
      • 5.2 ポートオブジェクト
      • 5.3 簡単なメッセージプロトコル
      • 5.4 並列性のためのプログラム設計
      • 5.5 リフト制御システム
      • 5.6 メッセージ伝達モデルを直接使用すること
      • 5.7 Erlang言語
      • 5.8 進んだ話題
      • 5.9 練習問題
    • 第6章 明示的状態
      • 6.1 状態とは何か?
      • 6.2 状態とシステム構築
      • 6.3 明示的状態を持つ宣言的モデル
      • 6.4 データ抽象
      • 6.5 状態ありコレクション
      • 6.6 状態に関する推論
      • 6.7 大規模プログラムの設計
      • 6.8 ケーススタディ
      • 6.9 進んだ話題
      • 6.10 練習問題
    • 第7章 オブジェクト指向プログラミング
      • 7.1 継承
      • 7.2 完全なデータ抽象としてのクラス
      • 7.3 漸増的データ抽象としてのクラス
      • 7.4 継承を使うプログラミング
      • 7.5 他の計算モデルとの関係
      • 7.6 オブジェクトシステムを実装すること
      • 7.7 Java (直列部分)
      • 7.8 能動的オブジェクト
      • 7.9 練習問題
    • 第8章 状態共有並列性
    • 第9章 関係プログラミング
  • 第II部 特殊化された計算モデル
    • 第10章 グラフィカルユーザインタフェースプログラミング
      • 10.1 宣言的/手続き的手法
      • 10.2 宣言的/手続き的手法を使うこと
      • 10.3 対話的学習ツール Prototyper
      • 10.4 ケーススタディ
      • 10.5 GUIツールを実装すること
      • 10.6 練習問題
    • 第11章 分散プログラミング
      • 11.1 分散システムの分類
      • 11.2 分散モデル
      • 11.3 宣言的データの分散
      • 11.4 状態の分散
      • 11.5 ネットワークアウェアネス
      • 11.6 共通分散プログラミングパターン
      • 11.7 分散プロトコル
      • 11.8 部分的失敗
      • 11.9 セキュリティ
      • 11.10 アプリケーションを構築すること
      • 11.11 練習問題
    • 第12章 制約プログラミング
      • 12.1 伝播・探索法
      • 12.2 プログラミング技法
      • 12.3 制約ベース計算モデル
      • 12.4 計算空間を定義し,使うこと
      • 12.5 関係計算モデルを実装すること
      • 12.6 練習問題
  • 第III部 意味
    • 第13章 言語意味
      • 13.1 一般的計算モデル
      • 13.2 宣言的並列性
      • 13.3 8つの計算モデル
      • 13.4 よくある抽象の意味
      • 13.5 歴史に関する注記
      • 13.6 練習問題
  • 第IV部 付録
  • 参考文献
  • 索引

関連項目[編集]

書誌情報[編集]

  • ピーター・ヴァン・ロイ、セイフ・ハリディ、羽永洋(訳) 、『コンピュータプログラミングの概念・技法・モデル』、翔泳社、2007年、ISBN 978-4798113463
  • Peter Van-Roy, Seif Haridi, Concepts, Techniques, and Models of Computer Programming, Mit Press, 2004, ISBN 978-0262220699

外部リンク[編集]