メモ

パーソナルコンピュータの父アラン・ケイが選ぶ「プログラマー必読の古典本」とは?

by Alan Levine

かつてのコンピューターは壁一面を占有するような巨大なもので、複数人で使用するのが当たり前でした。アラン・ケイ氏が提唱した「パーソナルコンピューター」の概念は、巨大なコンピューターを個人で使えるサイズにまで落とし込べきだという発想で、現代の「パソコン」を形作るものでした。そんなアラン・ケイ氏が「プログラマー全員が読むべき古典」を挙げていました。

Alan Kay's answer to Experienced programmers and computer scientists, what are some really old (or even nearly forgotten) books you think every new programmer should read? - Quora
https://www.quora.com/Experienced-programmers-and-computer-scientists-what-are-some-really-old-or-even-nearly-forgotten-books-you-think-every-new-programmer-should-read/answer/Alan-Kay-11

アラン・ケイ氏が「大ファンだ」と絶賛する本が、プログラミング言語LISPを生み出したジョン・マッカーシー自身の手による解説書「LISP 1.5 Programmer's Manual」です。アラン・ケイ氏によると、この本を読んで成長するためには「どうすべきなのか」「実際にどうしているのか」を意識しながら本を読むだけではなく、13ページに書かれた例を「自力で書き直す」ことが重要とのこと。

アラン・ケイ氏は「LISPは単なるプログラミング言語にとどまらず、思考を鍛えるのに最適な言語です」と述べており、「LISP 1.5 Programmer's Manual」を「完璧な古典」だと絶賛しています。

Amazon | LISP 1.5 Programmer's Manual | John McCarthy | Lisp


マサチューセッツ工科大学人工知能研究所の創設者の1人にして「人工知能の父」とも呼ばれるマービン・ミンスキーの著書「計算機の数学的理論」は多くの定理・証明・アイデアなどを含んだ数学書で、読者に思考の方法を手ほどきするように教える手法が素晴らしいとのこと。アラン・ケイ氏は、「計算機の数学的理論」を自身の選ぶ「最高の本」の1つとして挙げる一方で、「以前発表した『読書リスト99選』からは漏れてしまっていた」とコメントしています。

計算機の数学的理論 (1970年) | Marvin L.Minsky, 金山 裕 |本 | 通販 | Amazon


アラン・ケイ氏は上述の2冊に大部分の紙幅を割いていますが、他にも、Burroughs B5000などを開発し、自身の恩師でもあるロバート・バートンが講義に使用したという「Advances in Programming and Non-Numerical Computation」や、ソフトウェアプロジェクト管理における問題が時代に寄らず偏在していることがわかる「人月の神話」、「コンピューターサイエンス」なる概念について今日よりもはるかに卓越した思想を学ぶことができるノーベル賞受賞者ハーバート・サイモンの「システムの科学」、プログラミング言語APLを開発したケネス・アイバーソンが著したLISP同様にアプローチの方法から思考法を訓練することができる本「Programming Language」などの書籍に加え、関数型プログラミング言語「Erlang」を生み出したことや「なぜオブジェクト指向はクソなのか」という名文で知られるジョー・アームストロング氏の博士論文「(PDFファイル)Making reliabledistributed systemsin the presence ofsodware errors」や「設計と実装について学ぶことができる」としてデイヴィッド・フィッシャー氏の博士論文「Control structures for programming languages」を挙げています。

アラン・ケイ氏が2014年に発表した「読書リスト」99選は以下からチェックすることができます。

「パーソナルコンピューティングの父」アラン・ケイ氏が薦める「読書リスト」99選 - GIGAZINE

この記事のタイトルとURLをコピーする

・関連記事
パーソナルコンピューターの父アラン・ケイが人工知能・Apple・IT企業について語る - GIGAZINE

超一流プログラマーはどういう働き方をしているのか? - GIGAZINE

ソフトウェア開発プロジェクトにはどうして遅延が生じてしまうのか - GIGAZINE

プログラマーを30年間やってきた経験から学んだことまとめ - GIGAZINE

数々のエンジニアリングチームを導いた人物がマネジメントの中から学んだ教訓とは? - GIGAZINE

・関連コンテンツ

in メモ, Posted by log1k_iy

You can read the machine translated English article here.