第2版の表紙 | |
| 著者 | ハロルド・アベルソン、ジェラルド・ジェイ・サスマン、ジュリー・サスマン |
|---|---|
| 主題 | コンピュータサイエンス |
| ジャンル | 教科書 |
| 出版社 | MIT プレス |
発行日 | 1984年(第1版)、1996年(第2版)、2022年(JavaScript版) |
| ページ | 657 |
| 番号 | 0-262-51087-1(第2版) |
| LCクラス | QA76.6 .A255 1996 |
| Webサイト | mitpress.mit.edu/sicp |
SICP(コンピュータプログラムの構造と解釈)は、マサチューセッツ工科大学のハロルド・エイブルソン教授とジェラルド・ジェイ・サスマン教授、が書いたコンピュータサイエンスの教科書です。ハッカー文化では「ウィザードブック」として知られています。 [1]再帰、抽象化、モジュール性、プログラミング言語の設計と実装など、コンピュータプログラミングの基本原則を教えています。
MIT Pressは1984年に第1版を、1996年に第2版を出版しました。これはかつてMITのコンピュータサイエンス入門コースの教科書として使用されていました。SICPは、特定の問題を解決するための一般的なパターンを発見し、それらのパターンを活用するソフトウェアシステムを構築することに重点を置いています。[2]
MIT Pressは2022年にJavaScript版を出版した。 [3]
コンテンツ
この本では、 Lispの方言であるSchemeを使用してコンピュータ サイエンスの概念を説明しています。また、仮想レジスタ マシンとアセンブラを使用して、Lispインタープリタとコンパイラを実装しています。
本のトピックは次のとおりです。
- プログラミングの要素
- 手順とそれによって生成されるプロセス
- 高階手続きによる抽象化の定式化
第2章: 抽象化の構築データ
- データ抽象化入門
- 階層データと閉包性
- シンボリックデータ
- 抽象データの複数の表現
- 汎用的な操作を備えたシステム
第4章:メタ言語的抽象化
- メタサーキュラー評価器
- Scheme のバリエーション –遅延評価
- スキームのバリエーション –非決定性コンピューティング
- ロジックプログラミング
第5章: コンピューティングマシンを登録する
- レジ機の設計
- レジマシンシミュレータ
- ストレージの割り当てとガベージコレクション
- 明示的制御評価器
- コンパイル
キャラクター
この本にはいくつかの架空の人物が登場します。
- LispハッカーのAlyssa P. Hacker
- ベン・ビディドル
- Cy D. Fect、「改心したCプログラマー」
- エヴァ・ル・アトール
- レム・E・トゥエキット
- ルイス・リーザナー、ゆるい推論者
ライセンス
この本はクリエイティブ・コモンズ表示-継承4.0国際(CC BY-SA 4.0)ライセンスの下で提供されています。[4]
コースワーク
この本は、MITの以前のプログラミング入門コース6.001 [5]の教科書として、1984年秋から2007年秋の最終学期まで使用されました。 [6]他の学校でも、この本がコースの教科書として使用されました。[7]
受付
バイト誌は1986年に「自分の職業に本当に興味を持っているプロのプログラマー」向けにSICPを推薦した。同誌は、この本は読みやすいものではないが、経験豊富なプログラマーに古い話題と新しい話題の両方を紹介するものであると述べた。 [8]
影響
SICP はコンピュータサイエンス教育に影響を与えており、その後のいくつかの書籍はそのスタイルに触発されています。
- ジェラルド・ジェイ・サスマンとジャック・ウィズダムによる、Scheme を教育要素として使用している別の書籍「古典力学の構造と解釈(SICM)」
- 柔軟性のためのソフトウェア設計、Chris Hanson および Gerald Jay Sussman 著
- プログラムの設計方法(HtDP)は、コンピュータサイエンスの入門書としてよりアクセスしやすい本を目指しており、SICPにおける矛盾点に対処することを目的としています。
- プログラミング言語の基礎(EoPL)、プログラミング言語コース向けの書籍
参照
- コンパイラ: 原則、テクニック、ツール–ドラゴンブック としても知られる
参考文献
- ^ レイモンド、エリック・S.、スティール、ガイ(1991)。『新ハッカー辞典』インターネットアーカイブ。マサチューセッツ州ケンブリッジ:MITプレス。ISBN 978-0-262-68069-1。
- ^ Harvey, B (2011)、「なぜSICPが重要なのか?」MIT創立150周年記念、ボストン・グローブ。
- ^ コンピュータプログラムの構造と解釈:JavaScript 版。MIT プレス。2022 年。ISBN 9780262543231。
- ^ "SICP". MIT Press. 2017年12月26日時点のオリジナルよりアーカイブ。2007年11月11日閲覧。。
- ^ 「電気工学とコンピュータサイエンス; 6.001 コンピュータプログラムの構造と解釈」。OpenCourseWare。MIT。2005年春。 2020年6月21日閲覧。
- ^ Guy, Donald、「時代の終わり」、MIT Admissions (ブログコメント)、2018-08-21 にオリジナルからアーカイブ、2008-08-05に取得、
私は電話で Sussman 教授と話しました... 彼は、実は過去 10 年間、6.001 を置き換えようとしていたと言いました (そして、私はどこかで、Abelson 教授もその動きの背後にいると読みました)。原理を理解することは、もはや主題の入門として必須ではありません。彼は 6.001 を時代遅れと見なしています。
- ^ 「SICPを使用する大学」MIT Press。2022年4月23日時点のオリジナルよりアーカイブ。 2022年3月30日閲覧。
- ^ Kilov, Haim (1986 年 11 月). Byte Magazine 第 11 巻第 12 号: 知識表現. p. 70.
外部リンク
- 公式サイト
- ビデオ講義
- TeXソースからコンパイルされた本
- コンピュータプログラムの構造と解釈。インタラクティブバージョン
