トップQs
タイムライン
チャット
視点

計算機プログラムの構造と解釈

ウィキペディアから

計算機プログラムの構造と解釈
Remove ads

計算機プログラムの構造と解釈』(けいさんきプログラムのこうぞうとかいしゃく、原題: Structure and Interpretation of Computer Programs、略称: SICP)は、1985年にMIT出版から刊行された、計算機科学分野の古典的な教科書。著者はマサチューセッツ工科大学 (MIT) の教授ハル・アベルソンジェラルド・ジェイ・サスマン、ジュリー・サスマン。

概要 著者, 題材 ...
Remove ads

表紙に魔術師が描かれているため、「魔術師本」(Wizard Book)、またはまれに表紙の色をとって「紫本」(Purple Book)と呼ばれる。計算機科学の基本原理、すなわち再帰抽象化モジュールプログラミング言語の設計と実装について書かれている。

1984年に初版、1996年に第二版が出版され、1984年から2007年まで、MITの計算機科学入門講義の教科書として使用された。SICPは、特定の問題を解決するための一般的なパターンの発見と、それらのパターンを利用するソフトウェアシステムの構築に焦点を当てている[1]。2022年にはJavaScript版が出版された[2]

第二版の和田英一による日本語訳(ISBN 978-4894711631)がピアソン桐原から2000年2月に発売された[3][4]2013年8月にピアソン桐原が撤退し絶版になり[要出典]、和田はHTML版を公開した[5]和田は一時MIT助教授であったため、著者の一人ジェラルド・サスマンとは知り合いである[要出典]全体的に訳が古めかしいという不評も一部にある[要出典]。その後2014年5月に翔泳社より再版されている[6]

Remove ads

内容

本書は計算機科学の概念を、SchemeというLISP方言を用いて説明している。また、仮想レジスタマシンアセンブラを使用して、LISPのインタプリタおよびコンパイラを実装している。

本書で扱われる主なトピックは以下の通りである[7]

第1章: 手続きによる抽象の構築

  1. プログラムの要素
  2. 手続きとその生成するプロセス
  3. 高階手続きによる抽象

第2章: データによる抽象の構築

  1. データ抽象入門
  2. 階層データ構造と閉包性
  3. 記号データ
  4. 抽象データの多重表現
  5. 汎用演算のシステム

第3章: 標準部品化力、オブジェクトおよび状態

  1. 代入と局所状態
  2. 評価の環境モデル
  3. 可変データでのモデル化
  4. 並列性:時が本質的
  5. ストリーム

第4章: 超言語的抽象

  1. 超循環評価器
  2. Schemeの変形-遅延評価
  3. Schemeの変形ー非決定性アルゴリズム英語版
  4. 論理型プログラミング

第5章: レジスタ計算機での計算

  1. レジスタ計算機の設計
  2. レジスタ計算機シミュレータ
  3. 記憶の割当ごみ集め
  4. 積極制御評価器
  5. 翻訳系
Remove ads

ライセンス

本書はクリエイティブ・コモンズ 表示-継承 4.0 国際 (CC BY-SA 4.0) ライセンスの下で公開されている[8]

講義資料

本書は、MITにおける旧・初級プログラミング講義「6.001」の教科書として使用されていた[9]。この講義は1984年秋学期から始まり、最終学期となった2007年秋まで続いた[10]。他の大学でも、本書が講義の教科書として利用されていた[11]

評価

SICPは、出版後短期間のうちに米国や世界各地の学校で最初の講義に使われるようになった[12]。MIT出版のボブ・プライアーによればSICPは最初の5年間で4万5000部売れた[12]

バイト』誌は1986年にSICPを「自身の職業に真に関心を持つプロフェッショナルなプログラマ」に推奨した。同誌は、本書の内容は読みやすいものではないとしながらも、熟練したプログラマに対して新旧の話題に触れる機会を提供するものであると述べている[13]

SICPを学部生向け教科書として評価したフィリップ・ワドラー英語版による書評では、計算機科学の入門言語としてScheme言語の弱点が指摘された[14]。ワドラーは特に、パターンマッチングの欠如が等式推論 (equational reasoning) を不明瞭にし、証明の教育を困難にしている点、Schemeにおける代数的データ型の不在と、consペアによるコードおよびデータの表現に過度に依存している点が、初学者を混乱させると批判した。また、標準の評価戦略として遅延評価ではなく正格評価を選択している点も問題視された。

Remove ads

影響

SICPは計算機科学教育に大きな影響を与え、のちの数多くの教科書がその体裁に刺激を受けた。

Remove ads

関連項目

脚注

Loading content...

書籍

Loading content...

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads