Skip to main content

ログ取得ツール

Category: プログラミング

100年後のプログラマ

100年の言語(dreamhost.com)っていうコラムが翻訳された。原文はこちら(paulgraham.com)。 100年後のコンピュータは人生のほとんどを無駄なことをして過ごす。100年後のプログラマは記述の楽さを求める。なるほど。

McCarthyが1960年に記述したLispには数値が無かった。理論的には、数値というデータ型を別に持つ必要はない。リストで表現できるからだ。整数NはN個の要素を持つリストで表現できる。それを使って計算もできる。ただ、耐えがたいほど非効率なだけだ。

(追記) 同一著者の関連コラムを示しておく。 人気の言語を作るには(dreamhost.com)と その原文(paulgraham.com)。 普通のやつらの上を行け(dreamhost.com)と その原文(paulgraham.com)。

Pythonのスレッド

Pythonのスレッドは、thread.start_new_thread(func, (arg,)) で生成する。pthreadの関数とマップされてるみたいで、Rubyのように独自でスケジュールするわけではないらしい。 でもデフォルトでdetachされるみたいで、cancelやjoinはできないみたい。mutexとかcondに対応するものはあるようだ。rwlockはなさげ。性能もアレだし、いまいち。 スレッドと言えば、RedHat 9.0はNPTLに対応してくれたみたい。やってくれるよ。 (追記) 結論としては、スレッドはRubyの方が上ということにしておく。

Python

Pythonのfor文を書くときにいつも戸惑うのでメモ。

for i in range(10):

いいかげんrange()を覚えろっつの。 structモジュールはバイナリデータの読み込み、書き込みに使える。pack, unpackでCのstructとPythonのデータ表現をやりとりできる。

なんでもhook

LISPとかのhookって偉大だよね。mallocにhookをかけられるのが便利なら、システムコールとか関数に全部hookをかけられるとしたら、すばらしい世界になるのではないかと思う。 というわけで、ローダとかリンカでどうにかならないかなーと思っている。検討の価値はあると思う。 あと、やっぱファイルシステムをhook対応にするのはけっこうイケてるんじゃないかと思う。