by shigemk2

当面は技術的なことしか書かない

ハッカーと画家(無料版)

ゲームコーディングコンプリートだかに、
「自分のオフィスで一番有能だったプログラマは高卒だった」とかいう文章があったけど、
RMSだって超高学歴だし…

ハッカーと画家に共通することは、どちらもものを創る人間だということだ。作曲家や建築家や作家と同じように、ハッカーと画家がやろうとしているのは、良いものを創るということだ。良いものを創ろうとする過程で新しいテクニックを発見することがあり、それはそれで良いことだが、いわゆる研究活動とはちょっと違う。

我々に必要なのは、落書きしたりぼかしたり塗りつぶしたりできる言語であって、型の紅茶茶碗を膝に置きながら厳しいコンパイラおばさんと丁寧な会話をするような言語じゃない。

多くの企業では、ソフトウェアの未来を一人の素晴らしいハッカーに託すのではなく、委員会によって設計し、ハッカーはそれをただ実装するだけという仕組みを作るんだ。

ベンチャーの問題のもうひとつは、書くのが面白いソフトが金になるソフトであるということが滅多にないということだ。  プログラミング言語を書くのは面白いし、実際、マイクロソフトの最初の製品はそれだったわけだが、今となっては誰もプログラミング言語には金を出さない。金を儲けようと思ったら、誰もただではやりたがらないような危険な問題に取り組まざるを得なくなる。

時々引いてみることは、熱意が止まってしまうのを防ぐのに良い方法だ。絵画にもハッキングにも、恐ろしいほど無謀な試みもあれば、楽にこなせる作業もある。エンストしてしまいそうな時のために、楽な作業を少し取っておくことは良いアイディアだろう。  ハッキングの場合は、バグを取っておくことでやってもいい。私はデバッグが好きだ。デバッグは、普通の人がハッキングと聞いて連想するものそのものだ。

ソースコードもまた、自分自身を説明すべきだ。プログラミングに関して皆に一つだけ引用文句を覚えてもらえるならば、私は「計算機プログラムの構造と解釈」の冒頭のこの文を選ぶ。  プログラムは、人々がそれを読むために書かれるべきである。たまたま、それが計算機で実行できるにすぎない。  ユーザに対する共感だけでなく、コードを読む人に対する共感も必要だ。それはあなた自身のためでもある。あなた自身もあなたのコードの読者だからだ。 6ヵ月前に自分の書いたプログラムを見て、それが何をするのか全くわからないという経験をした人も多いだろう。

ハッキングがどれだけクールになるかは、まさに我々がこの新しいメディアで何ができるかにかかっている。ある意味、クールさが遅れて来ることは利点だ。今、コンパイラを書いていたりUnixカーネルをハックしている人に会ったとしたら、その人が単にカワイ娘ちゃんにもてたくてやってるんじゃないことは確かだろう。

良いプログラミング言語は英語よりもうまくソフトウェアを説明することができるべきだ。コメントは、読者が特に気を付けなければならないある種のツギハギを警告するためだけに必要なはずだ。ちょうど、道路で突然の急カーブを警告するためだけに矢印の標識が用いられるように

小説『ハッカーと画家 ――Hackers and Painters――』著:ポール・グラハム - bookYARD