kiyokaのブログアーカイブ

Archive of old blog posts

言語の学習コストと生産性

最近色んなブログでPerlの学習コストの話題が持ち上がっています。 ( Danさんの所 を出発点にしてもらえらば沢山たどれます。) 僕は、Perlの学習コストは高いと思っている派です。そして、もうひとつ学習コストが高いと思っている言語が有ります。Schemeです。 これだけでは何のコストか良く分からないので、もうちょっと突っ込んで書いてみます。 Perlのコスト高の原因は色んな書きかたが用意されていて、その量に圧倒されてしまうという所にあると思います。モジュールを使って言語機能を拡張できます。 例えば、このエントリーを読むと、覚えることが多いせいでPerl5以降のperlの学習コストが、かなり高いと感じられるでしょう。 逆に、Schemeのコスト高の原因はマクロなどを使って、ドメインスペシフィックな記法が編み出せてしまうので、他人のコードを読む時のコストが高いのではないかと思います。 それぞれ、学習コストは高いですがコスト高の原因が違います。 しかし、どちらも言語の学習コストは高いですが、一度深くその言語を使いこなせると、そのぶん生産性が何倍にもなって返ってくるという気がします。 同じ処理を書いてもより短いコードで多くの事が表現できる。 生産性のためなら学習コストは厭わない。それがプログラマーというものです。 そして、さらなる生産性を求めてHaskellへの興味が湧いてきています。