入門OCaml

入門OCaml ~プログラミング基礎と実践理解~

入門OCaml ~プログラミング基礎と実践理解~

しかし、この本の中で一番読むべきは内容ではないと思うのです。前書き的に「入門OCamlの発刊によせて」という文章を、Garrigue先生が書下してくださっているのですが、こっち。

(略)、多くのプログラミング言語が便利さだけを目指しています。よく書くものを書きやすくすればいいという考え方です。

(中略)

Objective Camlが提案しているプログラミングスタイルは、さまざまな概念を表しやすくしながら、プログラムの整合性を確かめる型推論という仕組みによって、多くのバグを未然に防ぐことです。

例によって、PなんとかとかRなんとかとかがバッサリ切り捨てられているのは、ご愛嬌ですが、それよりも引用の後者。OCamlがどういうプログラミング言語であるかということを、一言でまとめるとこうなるということだと思います。あまりGarrigue先生的な文章ではなく、普通の日本語の文章になってしまっているところが惜しまれますが(おそらく編集者の方の努力のたまものでしょう(と私の指導教員が言ってました:逃))、「Quiche Eater」のためではない本物のプログラミング言語はかくあるべきだという、強い信念が感じられます。(もちろんこの信念に同意できるかどうかは別です)

入門OCaml - soutaroブログ

を見て気になっていたところ、本屋で一冊だけぽつんと置いてあるのを発見してぱらぱら読んでみた結果購入。
確かにこの前書きには静かで熱く強い信念が感じられる。チューリング機械の話からはじめて、「どこかで諦めかけていませんか」で締めるところに痺れた。わずか1ページの文章で、表面的には型推論の話しかしてないのに、ものすごくスケールの大きなビジョンを感じてしまった。こういう思想に触れ続けていると「OCamlを使えば生産性は上がるに決まっている」と思うようになるかもしれないなあ。
というわけで、その信念をどの程度OCamlが実現しているかを確かめるためにも、ちょっと真面目に使ってやろうかな、という気になりつつあります。あーでも、仕事コードをOCamlで書きだしたりしたら流石に怒られるな。