作者: Bruce.
日時: 2007/10/06(01:34)
Bruce.です。

機械伯爵 さんは書きました (2007/10/04 18:46):

>>   クラスにとらわれた Java っぽい頭の作りをぶち壊すのに最適だと結構本気
>> で思っています。
> 
>  だったら、『Java』Sctiptという名称は、すさまじいイジワルですね。
> 
>  確かに、Javaのクラス至上主義には首をかしげるモノが無いでもありません。

んーと、プログラムを組むにあたって、すべては何かしらのクラスに属するもので
あって、「独立した関数」のようなものはない。ということでしょうか?
 >クラス至上主義

それからJavaScriptという名前については、当時のNetscape社員を
いぢめてくださいとしかw

マーケティング部門の要請とか何とか?

>  私はよく知らないのですが、クラスを作らずにオブジェクトを継承させて作る
> Selfって言語、あるんですよね?(プロトタイプベース言語?)

ありまする。

Self - Wikipedia
http://ja.wikipedia.org/wiki/Self

ほかにも

Io (プログラミング言語) - Wikipedia
http://ja.wikipedia.org/wiki/Io_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)

とか。


>  何より、せっかく作ったオブジェクトが「継承」できないのは面倒です。
> 
>  まぁ、Webページ上の使い捨てスクリプトなら、再利用も何も無いのでしょうが、
> 例えばXULなんかで使われてるJavaScriptコードは、読むのが気が遠くなります。

2.0でなんか変わるんでしたっけ? >じゃばすく

ん、やっぱそれっぽいですね。
JavaScript 2.0 概念
http://www.mozilla-japan.org/js/language/js20/core/concepts.html

> クラス
> 
> クラスは、オブジェクトとかインスタンスと呼ばれる同類の値を作成するためのテンプレートである。これらインスタンスは普通、共通のメソッドやプロパティのような特色を共有する。
> 
> あらゆるクラスは型でもあり値でもある。型として使用される場合、クラスはそのクラスのインスタンスの全集合を表す。
> 
> クラス C は基底クラス S から派生 (導出) することができる。これによりクラス C はクラス S の特色を継承できる。C のあらゆるインスタンスは S のインスタンスでもあるがその逆は成り立たない。上記のような派生型が定義された場合、C と S を型と考えるなら暗黙の内に C ⊆ S となる。
> 
> 派生という関係は全てのクラスの集合に対して階層的な関係を課す。将来的の方向性としてあり得る事かもしれないが JavaScript 2.0 は現時点で多重継承をサポートしない。仮に多重継承を許容すると、継承関係は全てのクラスの集合に (全順序関係ではなく) 部分的順序関係が発生する。



-- 
木村浩一
  I thought what I'd do was, I'd pretend I was one of those deaf-mutes or should I?
  mail kbk [at] kt.rim.or.jp
        web  www.kt.rim.or.jp/~kbk/zakkicho/
             homepage3.nifty.com/farstar/