『ハッカーと画家』 書評
書籍情報
- タイトル : ハッカーと画家
- 著者 : ポール・グレアム
- 訳 : 川合 史朗
読書の目的
ポール・グレアムは私でも聞いたことがあります。
つまり、偉大なハッカーのはずです。
そのような賢いハッカーの思想に触れること。
これが目的です。
内容
1 章
「どうしてオタクはもてないのか」と題し、ギークのアメリカでの高校生活についての章です。
あまり、日本人には響かない章なのではないかと思います。
ただ、私が男子校出身のため、感想がずれているだけかもしれませn。
2 章
ハッカーと画家は全く異なるように思えますが、ポール・グレアムの考えでは、非情に似ているそうです。
その共通点が述べられる章です。
3 章
口にできないことを考えたことはありますか?
口にできないことを考えたことがないならば、普段考えていることは本当にあなたが考えたことでしょうか?
間違いを信じないために、ちょっと異なる視点を持つための方法を紹介する章です。
4 章
天邪鬼で自由を好むハッカー気質と、その利点について紹介する章です。
5 章
技術的な話に入り始める章。
web サービスの利点について説明されます。
6 章
富とは誰からか奪い取るものではなく、自ら作り出すことができるものである。
プログラマの場合は作り出すことができる者たちである。
と述べられている章です。
7 章
格差には、資産に関する格差以外の格差もある。
例えば、奴隷と領主では、資産以外の格差があると言える。
現代は、資産に関する格差はあるが、資産以外の格差は小さくなっていると言えるのではないだろうか?
そして、技術が人の力を指数的に増大させるならば、資産に関する格差はむしろ広がる方が正常なのではないだろうか?
という趣旨の主張が述べられる章です。
8 章
スパムメールのフィルタの構築例が紹介される章。
9 章
よいプログラムは何らかの美しさを持つことが多い。
いいデザインの持つ性質から、優れたプログラムを生み出す取っ掛りが紹介される章。
10 章
プログラミング言語とはどのようなものか?という基礎的な知識と、言語の種類が急激に増えている背景が述べられる章。
11 章
将来求められる言語を想像するには、過去でも求められた性質を考えるとよい。
技術は進歩しても、ハッカーが求める性質は大きく変化しないはずだから。
今のコンピュータではハードの制約から機能しなくても、未来の言語を考えることはできるはずだと述べられる章。
12 章
プログラミング言語の力には差がある。
そして、みんなが使っているからいい言語であるとは限らないし、いい言語であるから使用者が多いとも限らない。
例えば LISP だ!!
という論調の章です。
13 章
モダンなプログラミング言語は徐々に LISP に近づいている。
LISP は純粋な理論のために生まれた言語であるが故に古びない。
LISP の何がユニークで何が素晴らしいのか? 特徴が語られる章。
14 章
普及するプログラミング言語に必要な性質について述べられる章。
15 章
プログラマの士気を保つことは大事である。
士気を保つためには、常に動作するプログラムを持っておくべきであり、このことは絵画にも似ている。
と記述する章です。
16 章
素晴らしいハッカーに見分け方、扱い方、なり方、について述べられる章。
得られた知識
2 章の考えは、私が普段考えている考えに近いです。
「本当に考えて言っているのだろうか?」「口先で考えていないだろうか?」
という考えを自分にも、他者にも感じることがあります。
その上で考えて、全体と考えが異なったらどうするか?
争う必要がなければ争わなければよい。
つい正しいと信じることを主張してしまいますが、確かにその通り、重要でなければ黙っていればよい。
どこか達観していて、ポール・グレアムは人と異なる考えを持つことが多かったのかな? と感じるとともに、ちょっと見習おうと思います。
疑問点
LISP の素晴らしさと普及についての疑問
著者は LISP を好んでいるようです。
本書を読んでいると LISP こそ人類が求める最高のプログラミング言語のように感じます。
が、そこで疑問です。最高の言語であるならば、なぜ、一番用いられる言語にならないのでしょうか?
本書の中でも、プログラミング言語の流行には複数の条件があり、必ずしも素晴らしい言語が一番用いられるとは言えないと述べられています。
ただ、ここについて、私は納得できていません。
素晴らしい言語であるならば素晴らしいハッカーが好んで使い、ライブラリが充実し、い最も用いられる言語になるように思えます。
短期的には異なる動きもあるでしょうが、LISP は歴史のある言語です。
確かに、fortran や C の資産は強いでしょうが、やはり引っかかります。
新しい言語についての疑問
本書が書かれて以降も様々な言語が開発されています。
最近では Google の作った Go 言語もあります。
Go 言語は Google の素晴らしいハッカーが、能力のない人でも効率的にプログラムを構築できるように作った言語という側面があるように思います。
そのような言語は本書では素晴らしい言語とは言えないとされているように読み取れますが、さて、どうなのでしょう?
やはり、構築されるシステムの規模が大きくなることで、求められる言語も多少は変化するような…
まあ、デッサンも本番もできる言語の方が、よいとは思いますが。
不満点
本書自体への不満ではありませんが、本書の内容を鵜呑みにすると、確実に偏った意見になります。
古典的な有名書籍は何冊か読んだ方が安全だと思います。
感想
目的であった、賢いハッカーの思想に触れることは達成されました。
ただ非常に癖が強いです。
ポールグレアムという素晴らしいハッカーがいて、彼はこんな意見を持っている。
素晴らしいハッカーなのだから、まともな点が多いだろうけれど、ハッカーなのだから、こだわりが強すぎるところもあるだろう。
くらいの気持ちでいたいです。
プロジェクトに進め方には共感するところが多く、士気を保つために動くプログラムを保持することを説き、構築速度の重要性を主張している部分は、やはりそうなんだよな。と、改めて認識と自信を深めました。
誰のための本?
まず、本書の内容の大部分はネット上に公開されています。そちらを読む方がお安いです。
読むのに時間がかかる本ではありませんし、有名な書籍として読めばよいいでしょう。
プログラミングについては、GC, オブジェクトなどの基本的な知識は必須ではありませんが、あった方が楽しめます。