複数のプログラミング言語を学ぶ意義

いつも、どんなプログラム言語を軸に物事やシステムを考えていったら悩んでいるような気がします。
それはひとえに、自分が基本だと思っているSchemeが現場(特に私みたいな事務屋の現場)では利用されていないからだと思います。
もし、事務屋の現場でSchemeが普及していれば、何も悩まずにSchemeで日々のツールづくりにいそしんでいたと思います。
ところが、ご存じの通り、事務屋の現場ではSchemeは普及していません(だれもご存じないか・・・)
実際に普及しているのは、(私があまり好きじゃない)VBAだったりします。
最近は、JScriptというJavaScript実装がWindowsであれば必ず搭載されていることを知り、VBAよりはまだまし(というよりはJavaScriptはいいなあ)ということで、そちらを利用しています。
2年くらい前は、趣味のリナザウRubyRuby/Qte、Cを使ってRQRをつくりました。
あの時も、「できればSchemeがいいんだけどなあ」という思いを抱きつつ、そうはいっても食わず嫌いもいけないし、なによりLightWeightScrpt言語でGUIプログラムができるということで、嬉々としてプログラムを組んだりしました。
やはり食わず嫌いは良くありません。Rubyはいい言語でした。Qtとの相性も良かった。
そんな感じで、私はいわば

プログラム言語モラトリアル

な状態だったんですが、最近、ITproの記事で、なんだか救われた気がしました。
「複数のプログラミング言語を学ぶ意義」
http://itpro.nikkeibp.co.jp/article/COLUMN/20070618/275142/?ST=develop

「毎年一つの言語を学ぶ」
・・・毎年少なくとも一つの言語を学習する―言語が異なると、同じ問題でも違った解決方法が採用されます。つまり、いくつかの異なったアプローチを学習することにより、幅広い思考ができるようになるわけです。この提案に従い、その都市に学ぶプログラミング言語を「Language of the Year」、略してLotYと呼びます。
・・・しかし、新しい世界が広がるのであれば、新たな言語を学ぶことはそんなに悪いことではありません。

ああ、それでいいんだ!
この文章にめぐり合えて、本当に良かった。
今まではモラトリアムに言語を学んだけど、これからは新しい思考の世界を切り開くために、毎年は難しいかもしれないけど、2年に1度は新しい言語を学んでいこう、そんな気になりました。
今年は、エイプリルフールの日に宣言した通り、JavaScriptを中心に学び、応用していきます。
次は、Rubyをセマンティックの面からまじめに勉強します。
その次は、話題のErlangかな?ちょっとPrologくさいんですよねたしか(浅知恵)。でも楽しそうなので、そんな感じかな?
一歩先ゆく学習はちょっと難しいけど、楽しみながらプログラム言語モラトリアムを続けていきたいと思いました。