ハッカーと画家 / ポール・グレアム

ハッカーと画家 コンピュータ時代の創造者たち

ハッカーと画家 コンピュータ時代の創造者たち

Lispプログラマであり,Arcという言語の開発者であるポール・グレアムのエッセー.

本書を読んでいくと,どっかで聞いたことのある話がちらほら出てくる.そう,はてブでよくみる,いわゆる日本のハッカー(ギーク)達の言ってることだった.優秀なプログラマとは?みたいな話.はてな伊藤直也氏も自身のブログの 「僕やはてながPerlを選ぶ理由」というエントリーでこの本について触れている.ここに彼の原点があると思う.まだ読んでない人は是非一読を.

たとえば,とにかく早く作ること.紙に書いて設計するよりまずPCに向かって実装して動かしてみる.動かしながら改善していく.これはWebプログラミングでは,もはや常識となってるのかな.あとハッカーの生産性は線形ではなく多項式だ.などなど.

ひとつのアイデアを実装してゆく過程で,もっとたくさんのアイデアがひらめくんだ.だから,アイデアをしまっておくことは,ただ単にそれの実装が遅れるだけでなく,それを実装することで得られたであろうすべてのアイデアを失うことになる.

こういったこともWebの世界ではごく普通の感覚だと思う.けど組み込みの世界ではなかなか難しい.でもどうやってそれを組み込みにも取り入れていくかは今後のポイントになるのではと個人的には感じている.

また,ちょっとかわったところでは,富の創り方や格差の話がなかなかおもしろい.Viawebというベンチャーを立ち上げ,Yahoo!に買われる経験から,ベンチャーと大企業の違いを交えてなかなかするどい指摘をしている.

後半はLispや他のさまざまな言語の話になっている.動的型付けと静的型付けの話や,Lispのマクロ,クロージャなど….なかでも1950年代に発明されたLispのユニークさ,先進性は僕にはかなりの驚きだった.

本書は全体的にかなり挑発的で,「Joel on Software」に通ずるおもしろさがある.プログラマならかなり楽しめる1冊.

メモ

良いデザイン

  • 良いデザイン単純である
  • 良いデザインは永遠である
  • 良いデザインは正しい問題を解決する
  • 良いデザインは想像力を喚起する
  • 良いデザインはしばしばちょっと滑稽だ
  • 良いデザインをするのは難しい
  • 良いデザインは簡単に見える
  • 良いデザインは対象性を使う
  • 良いデザインは自然に似る
  • 良いデザインは再デザインだ
  • 良いデザインは模倣する
  • 良いデザインはしばしば奇妙だ
  • 良いデザインは集団で生起する
  • 良いデザインはしばしば大胆だ

水の中にいる時に,どうやったら波をみることができるだろう.常に問い続けることだ.それが唯一の防御だ.口にできないことは何だ?そしてなぜだ?