ねこ丸です。
誰とはなしに疑問を発してみます。
素朴な疑問なのですが、何かに似ていなければいけないのでしょうか? ま
た、その似ている対象についてコンパイラ言語にこだわっているように見える
のですが、気のせいでしょうか? 似ている似ていないという意味では自分な
ら Ruby に似ていると言っちゃいますけどね。似てるでしょ、角度とか(^^;
(たぶんそれは言わない約束なんでしょうけど。)
目的が何なのかが分からないのですが、説明が楽という意味での似ていると
いう話は、その事実を伝える対象となる相手がどの言語を知っているかによっ
て有効か否かが決まると思うんですよ。私は Java に似ていると言われても
C++ に似ていると言われてもピンときません。だって知らないもの。しかし
「みんな C 系の言語」という認識を持っています。例え C に似ていない点を
どれだけ挙げられても、なんとなく C 系だと思ってます。特に Ruby を書くよ
うになってブレースがあるかないかはたいした問題じゃないと思っていますの
で。(逆にブレースの位置で議論する必要がなくなるのでせいせいします。最
初は Pascal みたいだなと思いましたが。)
とりあえず LL でくくっちゃえば Perl, Python, Ruby, PHP はひとくくりに
C 系と言っちゃいます。あえて分けるとすれば Perl と PHP は若干別枠に行っ
てもらいますが。JavaScript はオブジェクト指向を知っている人相手なら似て
ないと言うでしょう。知らない人相手ならよく似ていると言っちゃうと思いま
す。(でも JavaScript のオブジェクト指向を理解する際に Ruby の知識はめ
ちゃめちゃ役に立ちました。)
私の頭の中は今かなり乱暴なツクリになっていて、Lisp 系か C 系か
FORTRAN/BASIC 系か、SQL かその他、くらいになっています。Pascal とか
Smalltalk とか喋れるほど知らないし、COBOL も字面を見たことがある程度な
ので。だから世間一般で言う「○○は C に似ている文法」という表現は自分に
とってそれほど外れていません。使い込んでいくとどこがやねんと思うところ
は出てきますが、取っ掛かりとして悪くない情報ですよ。使い始める際の抵抗
感も小さくなります。
# だから Haskell とか収まりどころの分からない言語が話題に上ると混乱しま
# す。
言語の特徴を精緻に比べて何かが何かに一番似ている、というのは僕は生物
の分類に興味がないのと同じく、興味がありません(笑) 生物と違って言語の
比較分類が難しい一つの理由は、目に見える特徴が同じでもその背景思想が同
じとは限らない点ですね。背景と見た目の両方を抑えるためには文化人類学な
どの観点が必要かも。
--
ねこ丸