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

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

コンピュータプログラミングの概念・技法・モデル』 (コンピュータプログラミングのがいねん・ぎほう・モデル、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

外部リンク[編集]