OCamlはじめました

最近はPythonMatlabJavaRという、和洋折衷、なんでもありな感じです。CとJavaPythonを見ておけばだいたいハッカーとしての基礎教養は完了なのかな(伝統的にはPythonの代わりにPerlなんでしょうが)と思いきや、エリック・レイモンド師は「PythonC/C++JavaPerl、そしてLISPをやりなさい」とのたまっておられます。「それをモノにしたときのすばらしい悟り体験のために」LISPを勉強しろというのです。たしかにそのものは使わないけれども理解したことが思わぬところで役に立つ、という経験はあります(統計の検定を幾何学的に理解したこととか)。

以前にも勉強したことがあるんですが、僕はLISPは苦手です。Common LispSchemeはおろか、Emacs Lispですら使えません。でも、関数型言語を一つくらいは使えるようになりたいとは前々から思っていました。そんなわけで、LISPとは違うアプローチの関数型言語ですが実用的だとの誉れも高い、ML系のOCamlを選択しました。Haskellでも別に良かったんですが、なんとなくOCamlです。

そうそう、OCamlで書かれたキラーアプリ(?)にはmldonkeyがあります。そういえばこんなページも見つけました。スクリプト言語の比較関数型言語の比較。ほかにも授業でちょっといじったPrologとかも面白かったなー。「お前の父親の義理の父親には娘が一人だけいてな、そいつの息子がとんでもないやつで」「それってオレじゃん!」っていう言語だったような。