グラハムさん

なんか今日は論文も読まずにプログラムばかりしていてこんな感じなので文章もこんな感じで。(疲れたときは文章の推敲が減るのであからさまに長くなる) だらだら。

いまはスクリプト言語しか使っていないのだが、Cで書かれた外部プログラムを使う必要があって、そこは for 文が10回くらいネストされているところなので、普通に呼んだら無茶苦茶遅いだろうなあと思って実行したら、案の定日が暮れるくらい遅かった。そういうわけで遅いところだけCで書いて組み込んでみたら、まあそこそこの速さに。これまでは「シェルスクリプトで書く→遅い→ボトルネックスクリプト言語で書く」という感じだったのだが、ちょっとは進歩して「スクリプト言語で書く→遅い→ボトルネックをCで書く」という感じになったかな?

しかしこんなところで速くするんじゃなくて、もっと計算量減らすとかそういう方向に敏感にならないとだめだよなあと思った一日であった。3日前に書いたものを見直してなにやってんだこいつ(=自分)とか思いつつ書き換えたり。

UNIX USER の matz さんの随筆で必読とあったので横須賀に来てから『達人プログラマー』を買って読んだのだが、それなりにほほうと思って実践していることもある(ただ訳がどうも下手なので読みにくい)。

来る前はこれも確か同じ随筆で薦められていた『ハッカーと画家』を読んでみたところ、前半は読み物だったが後半は Lisp がいかにすばらしいか語っていてとてもおもしろかった。(ほとんどの文が web からでも読める が) そこだけでも買う価値がある。訳もよい。一つ気に入っている話があって(上のリンク先を探したのだが見つからなかった)、長く使ってもらえるようなものを作りたかったとしたら、100年先の人に使ってもらえるものを考えるのは難しいが、100年前の人でも使ってもらえるようなものを考えるのはそこまで難しくないかもしれないから、一つの考え方としては100年前の人にも使ってもらえるようなものを作るといいんじゃないの、という話だった。

ちなみにこの本の著者は Paul Graham という人なのだが、Graham という名前は字面から日本語表記すると「グラハム」になりそうなものだが、最近は原語の発音に近く「グレアム」と書くのが普通らしい。(ということを思い出したのも、自分の卒論で Graham という人の名前を「グラハム」と書いたら指導教官が上に書いたようなことを教えてくれたからだ。) 訳本では最近訳されたものだからか「グレアム」になっていた。

SICP はまだ1章すら終わっていないが、プログラム書いているととても参考になることばかり。学部からこんないい本使っている人たち(MIT の学部生向けの教科書らしい)と同じ土俵でやるのかあ、と思うと道のりは遠い遠い。