今年のプログラミング言語
今年の前半は昨年に引き続き Python および Ruby をよく使った。同時に、iBook を手に入れたので Objective-C を勉強。Objective-C はネイティブコードにコンパイルされる言語なのに、メソッドのディスパッチが動的に行われる面白い言語。
このはてな日記が途絶えた9月あたりから Scheme に出会う。Gauche を使って勉強。Lisp のイメージはあまり良くなかったのに、知れば知るほど抜け出せなくなる魅力があった。最初はオンラインで手に入るドキュメントを使って勉強していたけれど、ついに SICP を入手。とてもエキサイティングな本。現在もまだ読み進めている途中。
Scheme でのプログラミングがあまりに快適なので、研究で使っている一部の数値計算プログラムを移植してみたら、やっぱりかつて無いほど短期間で完成。できあがったコードも簡潔。でもさすがにインタープリタでの実行は厳しい(とはいえ、Gauche は Python / Ruby に比べるとかなり高速)。自作拡張モジュール作ってみたけどまだ物足りない。
Scheme 並の快適さを備えつつ、それなりに高速に動作する言語を探した。あった Common Lisp だ。Common Lisp の処理系の多くはネイティブコードにコンパイルすることができて、C / C++ に近いパフォーマンスを持つらしい。現在、OpenMCL と SBCL で Common Lisp 中。
来年も引き続いて Scheme と Common Lisp を中心に使っていきたいと思う。