ハッカーと画家を読んで
はじめに
「エンジニアが進める技術書」などによく挙げられている「ハッカーと画家 コンピュータ時代の創造者たち」を、
タイトルのハッカーと画家という二つの関連性がなさそうなものが
一緒に並べられているという意外性から気になり読むことにしました。
ハッカーと画家
はじめに2
この本はハッカーの世界へのガイドブックと銘打っており、(ちなみにこの本でのハッカーというのは
プライベートなシステムに侵入するような人物のことではなく優れたプログラマのことを指しています。)
プログラマに向けて書かれています。
著者はYahoo! Storeを作り、エッセイストとも知られている、ポール・グレアムです。
また、本書は全16章から構成されておりその中でも2章の「どうしてオタクはもてないか」9章の「ものづくりのセンス」
が特に印象に残ったのでそれらの感想を述べて行きたいと思います。
印象に残った章
2章 : どうしてオタクはもてないか
オタクがもてない主要な理由は、ほかに考えることがあるからだ。オタクの注意力はどうしても、
ファッションやパーティより本や自然に向けれらてしまう、これじゃ頭に水が入ったコップを載せて
サッカーをしようとしているみたいなものだ。
Paul Graham(著),川合史郎(訳),ハッカーと画家,オーム社,P10
なかなか強烈な章タイトルですが、上記で引用した文でもあるように、オタクは脳のリソースを人気者になることより
別のことに割いているためもてない(人気者になれない)と述べられています。
人気者は人気者であるために様々な努力を無意識に行っているため人気者であるのである。
考えてみれば当たり前だと思うようなことですが、意識していなかったことを言語化され不思議な気持ちになりました。
9章 : ものづくりのセンス
この章は
その中の「良いデザインは再デザインだ。」では,
かの有名なダ・ヴィンチの絵画には5,6回書き直した跡があることを例に挙げながら
間違うことは自然なことである。それより大事なのはそれらを簡単に見つけて簡単に治せるようにしておくべきだと述べられています。
自分は間違うことを恐れそもそも課題に取り組まなかったり、一度創ったものを手直しせずに完成したつもりになっていました。
そのためこの章は自分に残るとこがありました。
Lispについて
この本の特徴としてたびたび出てくるのがLispという言語です。Lispは関数型プログラミングと
言われており関数のの組み合わせでプログラムを書きます。著者はYahoo! Storeを
Lispで書いたことで有名でこの本の中でもことあるごとにLispを激押ししていました。
そのため“神の言語”とも呼ばれているこの言語にとても興味を惹かれました。
体験
そこで実際に体験するためにプログラムを書こうと思いました。Lispの環境を導入するにあたって参考にしたのは
こちらのサイト
いまから始めるCommon Lisp
です
導入が完了したのでまず最初はお約束のHell,World!を実行してみます
ソースコード
(format t "Hello,World!~%")
実行結果
Hello,World!
コードについて
format : 関数名(formatは標準出力:cでいうprintf)
t : 出力先ストリーム cでいうstodut
~% : 改行
ちなみにcとjavaで同じものを書くと下記のようになります。
—-javaのHello,World!—–
Class HelloWorld{
public static void main(String[] args){
System.out.println("Hello,World!");
}
}
—-cのHello,World!—-
#include‹stdio.h›
int main(void){
printf("Hello,World!\n");
return 0;
}
cとjavaと比べて少ない文で実行できました。
また偶数判定プログラムをLispで書くと
ソースコード
* (defun judge(n)(=(mod n 2)0))
実行結果
(judge 2)
T
(judge 1)
NIL
このようになりました。慣れてる言語と書き方が全然違い難しかったです…
またLispにはマクロという強力なものがあるのですが、力不足で
よくわかんなかったので詳しくは上記のリンクを参照してください。
最後に
この本で最後にハッカーのなるための鍵は自分がやりたいことをやる。そしてそのために
それらを愛してなければならない。と述べられてます。
この本を読み、好奇心はやはり大きな原動力だと再認識しました。。
上に挙げた章のほかにも興味深い章があるのでぜひ読んでみてください。
ハッカーと画家
コメント入力