読書メモ「コンピュータの名著・古典100冊」
石田晴久編・著「若きエンジニア<必読>のブックガイド コンピュータの名著・古典100冊」(インプレス、2003)
青山幹雄、安達淳、塩田紳二、山田伸一郎共著
2006年に改訂新版が出ています。
とはいえ歴史の項については2021年に改訂版が翻訳出版された「コンピューティング史ー人間は情報をいかに取り扱ってきたかー」(Martin Campbell-Kellyら、共立出版)を参照するほうが良いと思います。一般書としても読みやすい研究書であり、コンピューティング史、情報処理の歴史研究における定番のテキストとなっているようです。
巻末に訳者による日本語で読める文献の読書ガイドがあり、こちらも参考になります。
上記編共著者から成る「コンピュータ名著読書推進委員会」による推薦
出版の詳しい経緯は判らなかったです。選出に際してはインターネット上でコメントも集めた模様。
まえがきによると、出版より遡ること数年、石田先生が情報処理学会誌の編集長をやっておられたときに良書100選をやりかけて挫折した、とあります。
情報処理学会誌では、石田先生が編集長から退任された翌月(2002年4月)から2006年3月までの4年間「20世紀の名著名論」という連載がありました。もしかすると在任中やりかけておられたことと関係しているのかもしれません。
名著・古典を選出する試みは、2010年代には行われてないのでしょうか?
書誌(目録)であれば次の本が出版されていました。
野口武悟「子どもの本 情報教育・プログラミングの本2000冊 」(2018)
子どもやその親、教師を対象として書かれたコンピュータ・インターネット・プログラミング、情報教育の本1,948冊
上記の「コンピューティング史ー人間は情報をいかに取り扱ってきたかー」を読書ガイトとすることもできます。
本書では古典といっても必ずしも創始者にこだわっていません。
例えば、情報理論についてはシャノンを紹介しつつ別の本が推薦されています。
なお、この分野の古典としては、シャノンの「コミュニケーションの数学的理論」(岩波書店)があるが、これは難解な論文をそのまま本にしたもので、残念ながらすんなり読めるものではない。教科書・参考書としては、本書のほうがすぐれている。(石田晴久)(p.117)
以下、目次の抜き書きとメモ。
読んだ本は太字。あまりありません。恥ずかしながら。
目次には著者名がなく、手間なのでそのままにしました。時々あとから埋めています。
引用部は明示しない限り本書。
1 歴史
「計算機の歴史 パスカルからノイマンまで」
「誰がコンピュータを発明したか」
「ワークステーション原典」
「UNIXの1/4世紀」
「インターネットの起源」
「コンピュータ史」
「計算機屋かく戦えり」
「パソコン創世記」
青空文庫で読むことができます。
「増補 情報の歴史 象形文字から人工知能まで」
2 人物・企業
「マイクロコンピュータの誕生 わが青春の4004」
「IBMの息子 トーマス・J・ワトソン・ジュニア自伝 上・下」
「未来をつくった人々 ゼロックス・パロアルト研究外コンピュータエイジの黎明」
「ブルーマジック IBMニューマシン開発チームの奇跡」
「マッキントッシュ物語 僕らを変えたコンピュータ」
「アラン・ケイ」
3本の論文と講演の記録をまとめたもの
パーソナル・ダイナミック・メディア
マイクロエレクトロニクスとパーソナル・コンピュータ
コンピュータ・ソフトウェア
教育技術における学習と教育の対立
「実録!天才プログラマー」
「マイクロソフト ソフトウェア帝国誕生の奇跡」
「インサイドインテル」
「スーパーコンピュータを創った男 世界最速のマシンに賭けたシーモア・クレイの生涯」
「フリーソフトウェアと自由な社会 Richard M・Stallmanエッセイ集」
「それがぼくには楽しかったから 全世界を巻き込んだリナックス革命の真実」
3 ドキュメンタリー
「コンピュータ犯罪」
「暗号化 プライバシーを救った反乱者たち」
「メディアの興亡」
「ハッカーズ」
「改訂新版 ハッカーズ大辞典」
「カッコウはコンピュータに卵を有無 上・下」
「欺術 史上最強のハッカーが明かす禁断の技法」
4 思想
ダグラス・R・ホフスタッター「ゲーデル、エッシャー、バッハ あるいは不思議の環」
マーヴィン・ミンスキー「心の社会」
既読。残念ながらあまり覚えていないのですが・・。
本書の構成そのものも心の社会を体現しているという観点
コマ切れメモを集大成(社会化)したのが本書(心)
本書は574ページもあるタテ書きの大著で、30もの章と付録からなる。各章は4ないし13の節に分かれていて、節の数は全部で262もある。各説は折々に思いついたことのエッセイのようでもある。それらを集め(社会のようにし)たら、本書が生まれたということである。(石田晴久)p.81
この観点はミンスキー自身が本書の中で述べているようですが、手元にないため未確認です。
ヒューバート・L・ドレイファス「コンピュータには何ができないか 哲学的人工知能批判」
ダニエル・ヒリス「思考する機械 コンピュータ」
マーシャル・マクルーハン「メディア論 人間の拡張の諸相」
既読。電気と光への偏愛。
個人的には私がコンピュータグラフィックスに寄せる愛情を重ねながら読んだ本です。
眠れない夜、暗がりでスマートフォンを見るときのこと。かつて深夜のテレホタイムにCRTを眺めていた頃のこと。その光は今も昔も変わらないように思えます。
マクルーハンという人は電気や光が好きすぎてどうかしてしまっていると思うのですが、いつしか私たちもこの光を身につけて持ち歩くまでになりました。
マクルーハンといえばどうも暗い部屋でひとりテレビを見ている姿を想像します。そのときテレビの光は絵としてではなく、そのまま光に満たされた空間として体験されているようです。
光を使って絵を描くというのは、一種の壁のない住宅を作ることでもある(「メディア論」p.131)
テレビの画像もまた、光を灯しているのではなく、そこを光が貫いていることで存在しているのである.(「メディア論」ページ番号メモなし)
画面という壁はなくて、あちらからこちらまでの連続した光として実感が訪れるということかと思われます。
暗い部屋に点されたテレビの透過光とは、あちらから打ち寄せ、全身に浴びて、部屋に波のような影を落とすものではないでしょうか。
ニコラス・ネグロポンテ「新装版 ビーイング・デジタル ビットの時代」
「生きのびるためのデザイン」
ドナルド・A・ノーマン「誰のためのデザイン? 認知科学者のデザイン原論」(1988、邦訳1990)
既読。ノーマンは「エモーショナル・デザイン」(2004)のほうが人工物に対する愛に満ちていて好きです。
5 数学/アルゴリズム
ロナルド・L・グレアム、ドナルド・E・クヌース、オーレン・パタシュニク「コンピュータの数学」
「いかにして問題をとくか」
「アルゴリズムの設計と解析 I・II」
「アルゴリズムとデータ構造」
「データ構造とアルゴリズム」
6 コンピュータサイエンス
「やさしいコンピュータ科学」
ノーバート・ウィーナー「サイバネティックス 動物と機械における制御と通信」
ジョン・フォン・ノイマン「自己増殖オートマトンの理論」
情報処理学会誌の20世紀の名著名論でも和田英一先生によって採り上げられている。「情報処理」Vol.43, No.10, 2002
宮川洋、原島博、今井秀樹「情報と符号の理論」
テリー・ウィノグラード、フェルナンド・フローレス「コンピュータと認知を理解する 人工知能の限界と新しい設計理念」
既読。2009年か2010年ごろに須永先生のお話にウィノグラードが出てきて驚いたのでした(認知科学の方法のページ参照)。本書以降のウィノグラードを知ったのはそれからのことです。 フローレスは本書におけるオントロジカル・デザインの初期の例として Cybersyn を挙げています。
「認識と学習」
長尾真、佐藤理史編「自然言語処理」
参考書的に。通読はしてないですね。
「エージェントアプローチ 人工知能」
とうぜん読んでそうなものですが、読んでないのでした。
7 アーキテクチャ/OS
安野光雅「わが友 石頭計算機」
既読。そもそも安野さんが好きですので。
「コンピュータ・アーキテクチャ 設計・実現・評価の定量的アプローチ」
「コンピュータの構成と設計 ハードウエアとソフトウェアのインタフェース 第2版 上・下」
J・D・フォーリー、A・ヴァン・ダム、S・K・ファイナー、J・F・ヒューズ「コンピュータグラフィックス 理論と実践」
第1章はイントロで、サザランドのスケッチパッドなどに始まる歴史にもふれている。(p.134)
坂村健「TRONを創る」
実身/仮身モデルについてもこちらで述べられている模様。
奈良だと天理市立図書館所蔵
「OSの基礎と応用」
「MINIXオペレーティング・システム」
「UNIX原典 AT&Tベル研のUNIX開発者自身によるUNIX公式解説書」
「UNIX 4.3BSDの設計と実装」
「Lion's Commentary on UNIX」
8 コンパイラ/言語
「コンパイラ 原理・技法・ツール」
「コンパイラの構成と最適化」
ブライアン・W・カーニハン、デニス・M・リッチー「プログラミング言語C ANSI規格準拠 第2版」
学部の時に読んだと思いますが、参考書としては別の本を使いました。
「COMMON LISP 第2版」
「はじめて読むマシン語」
「プログラミング言語JAVA 第3版」
ラリー・ウォール、トム・クリスチャンセン、ジョン・オーワント「プログラミングPerl 第3版 Vol・1・2」
長い間、研究に仕事にお世話になりました。
「プログラミング言語C++」
「Effetive C++」
「オブジェクト指向スクリプト言語Ruby」
9 プログラミング
「計算機プログラムの構造と解釈 第2版」
ブライアン・W・カーニハン、ロブ・パイク 「プログラミング作法/プログラム書法/ソフトウェア作法」
「プログラム書法」と「ソフトウェア作法」はP・J・ブローガー著
三部作
ブライアン・W・カーニハン、ロブ・パイク「UNUXプログラミング環境」
「構造化プログラミング」
「プログラミング原論 いかにしてプログラムをつくるか」
ドナルド・E・クヌース「文芸的プログラミング」
既読。好き。好きが高じて次のものを制作しました。
「絵画的プログラミング」
ドナルド・E・クヌース「準数値算法/算術演算 The Art of Computer Programming」
ドナルド・E・クヌース「TeXブック コンピュータによる組版システム」
W・リチャード・スティーブンス「UNIXネットワークプログラミング 第2版 Vol・1・2」
卒論のときお世話になった気がします。
「珠玉のプログラミング 本質を見抜いたアルゴリズムとデータ構造」
「プログラミングWindows 第5版 上・下」
エリック・ガンマ、リチャード・ヘルム、ラルフ・ジョンソン、ジョン・ブリシディーズ「オブジェクト指向における再利用のためのデザインパターン 改訂版」
修士の学生だった1999年頃のこと、同じ学年の社会人学生の方から大事だと聞いてぴんと来なかった話ですが、10年くらい経ってじわじわと判りました。プロジェクトが大きくなったり、外部にソフトウェアをリリースするようになると見方が変わります。
といっても、パタン・ランゲージに改めて興味をもったきっかけは江渡さんの本で、Wikiについて調査するなかでのことでした。何がどこに繋がるかというのは面白いものです。
江渡浩一郎「パターン、Wiki、XP ―― 時を超えた創造の原則」(2009)
「詳説 正規表現 第2版」
「CJKV日中韓越情報処理」
「Java言語で学ぶデザインパターン入門」
「憂鬱なプログラマのためのオブジェクト指向開発講座」
「XMLとJavaによるWebアプリケーション開発 第2版」
「C言語による最新アルゴリズム事典」
10 ソフトウェア開発
「スーパーエンジニアへの道 技術リーダーシップの人間学」
「ピープルウェア ヤル気こそプロジェクト成功の鍵 第2版」
「人月の神話 狼人間を撃つ銀の弾丸はない 新装版」
「ソフトウェア工学 理論と実践」
「オブジェクト指向に強くなる ソフトウェア開発の必須技術」
11 データベース/ネットワーク
「データベース・システムの原理」
「データベースシステム概論 原著6版」
「トランザクション処理 概念と技法 上・下」
「コンピュータネットワーク 第3版」
ティム・バーナーズ=リー「Webの創成 World Wide Webはいかにして生まれどこに向かうのか」
2006年に講義をするとき土台にした本です。文学部の学生さん向けだったので、技術と思想をなるべく紐付けて話したほうが興味を持ってもらえるかな、という狙いでした。
「TCP/IPによるネットワーク構築 Vol・1~3」
「詳説 イーサネット」
「PGP 暗号メールと電子署名」