> >キャプションを読むにまつもとさんもなにか書かれているようなのです
> >が、どうなのでしょう?
>
>   http://www.ddj.com/articles/2001/0101/0101b/0101bs2.htm

この文、ほどほどに短いので、
英文ゆえに読む気が起きないだろう方々のために、訳してみました。
(訳を勝手に配るのは問題かもしれないですが、ML は内輪の集まりだ、
 と解釈してお許しを。)

この英文、まつもとさんご自身が書かれたのでしょうか。
どうも、英語のネイティブスピーカが書いたものという感じではないので…


Designing Ruby
  By Yukihiro Matsumoto

理想の言語をデザインすることは、私の学生の頃からの夢でした。
しかしそれは、コンピュータの性能が向上して、
オブジェクト指向プログラミングとスクリプト言語に新たな機会が
広がる 1993 年までは実現しませんでした。
その間、私の興味は Perl と Python に絞られていましたが、
それらは私の欲しかったものではありませんでした。
そしてついに、私は Ruby をデザインしました。

私が最初に Programming Ruby (Larry Wall 他著) を読んだとき、
Perl の機能と文法だけでなく、Larry Wall の基本的な tenants (?)、
特に「簡単なことは簡単に、難しいことでも可能に」と「方法はひとつじゃない」
には感心させられました。

Ruby として結実したものを設計し始めたとき、
私は、多くの言語  --- C, Perl, Smalltalk, Lisp, CLU, Eiffel など --- から
最も良い点を借りてきました。
その過程で私はすぐに、コンピュータ言語は
ヒューマンマシンインタフェースデザインの原則に従うべきだと悟りました。
特に次の点:

・一貫性
私は最小主義者 (minimalist) ではありませんが、
プログラミング言語は首尾一貫しているべきだと信じています。
言語全体は少しの規則に貫かれているべきです。
現に Ruby では、例外なく、あらゆるデータは何らかのクラスのインスタンスです。
すべては等しく扱われます。

・簡潔であること
コンピュータは、主人ではなく、しもべであって欲しいです。
素早く効率的に働くように指示したいものです。
私は、本質的ではない言語要素を取り除きました。
宣言や、静的な型指定などがこれにあたります。
それらは悪いものではないのですが、
簡潔なプログラミングに必要なものではありません。
(Perl にあるような) 豊富なリテラルも簡潔なプログラミングに役立ちます。
一般に、Ruby スクリプトは Perl スクリプトと同じくらい簡潔ですし、
さらに、はるかに読み易いです。

・適応性
言語は表現を制限するべきではなく、むしろ高めるべきです。
また、汎用であるべきです。
「簡単なことは簡単に、難しいことでも可能に」
しかしご存じの通り、Ruby の、オブジェクト指向である奥深い本質のおかげで、
難しいことであっても適切な抽象化によって簡単になり得ます。

私はまた、Ruby は自然に使えるものであって欲しいですし、
プログラマがコーディングの時に楽な気持ちで、
プログラミングという行為そのものを楽しめることを望んでいます。
私にとって、これは言語設計の究極目標です。
私は、万人を満足させられるとは思えません。
すべてのプログラマにはそれぞれの要求があります。
これは認めざるを得ません。
しかし私はそれでも、私を含めて、大勢を満足させられるとは信じています。

Ruby でのプログラミングは私にとって幸せなことですし、
大勢の方が、私と同じように Ruby でのプログラミングが好きだと言ってくれます。
私はあなたにプログラミングを楽しんで欲しいですし、
Ruby がその助けになることを望んでます。



SHUDO Kazuyuki/首藤一幸   私をたばねないで あらせいとうの花のように
  shudoh / muraoka.info.waseda.ac.jp