Grahamのプログラミング言語観・その1満足せる豚。Grahamのプログラミング観」について。Grahamの言語への要求は明快だ。Grahamのプログラミング言語に関する著述は多いが、その内容から特に重要なものを抽出すると次の三つへと集約できると思う。プログラミング言語は強力であるべしプログラミング言語は簡潔であるべしプログラミング言語はデザインをするものを妨げるべからずプログラミング言語は強力であるべしこれはすなわち、やりたいことがやれるということだ。プログラミング言語は、ハッカーのやりたいことを阻害する要因であってはならない。ハッカーがやりたいことがあれば、それはできるかぎり実現できる強力さを備えているべきだ。本当に良い言語は、綺麗でかつ汚くあるべきだ。綺麗にデザインされ、直交性の高いオペレータと良く理解された小さなコアで構成され、しかしハッカーが好きなことをできるような汚さを備えている。Cがこれに当てはまる。初期のLispもそうであった。本当のハッカーの言語は多少野卑な性質を持っているものだ。Popular---"C言語の強力さは有名だ。Cがあれば、大抵のプログラムは書けてしまう。LinuxだってCだし、RubyだってCだ。携帯電話のような組込みのプログラムも多くがC(含むC++)で書かれている。Cの強力さとは、つまりは「なんでもできること」であり、裏を返せば「なんでもできてしまい、安全のための制限がほとんど加わっていない」ということだ。一方で、プログラミング言語の大きな流れとして、このような流れもある。プログラミング言語の歴史をふりかえってみると、「正しくない」と考えられる行いをプログラマがするのを防ぐために驚くべき程の努力が払われて来た。Popular---"ちなみに、この”努力”へのGrahamからの回答はこうだ。これは危険なほどにおこがましい計画である。言語設計者は、ユーザを自分のミスから守ってやらなきゃならないようなまぬけではなく、設計者が考えもしなかったようなことを実現できる天才と考えた方が良いと思う。何をしようがまぬけは自分の足を撃つのだ。Popular---""ハッカー"にとっては、プログラミング言語の強力さとトレードオフで手に入れる安全には価値がないわけだ。"ビジネスの連中"や"スーツ"は必ずしも同意見ではない。彼らは安全で標準な言語が大好きだ。ハッカーが(彼らにとって)わけの分からないことをしでかす恐れは少ないし、スキルの低いものが愚かな間違いを埋め込むのも防いでくれる。負けないビジネスをしていれば良い者にとって、安全で力の弱い言語は望ましいプログラミング言語なのだ。ベンチャーで生き抜こうという者はこれではいけない。チャレンジャーは負けないことを目指しているだけでは不十分だからだ。(ボクシングでも引き分けは、チャンピオンの勝ちと同義だ。)大企業が追いつけないほどの圧倒的なアドバンテージを築く必要がある。そのためには、何よりも強力な武器が必要なのだ。(続く)このBlogのトップへ│前の記事│次の記事このページの上へ。