社会で使われている意味でのOOPの意味ってなんだよ。
誰も説明できはしないだろ。
関数は大体引数取るし、引数はその関数の処理の「対象」なんだから、その関数のオブジェクトだし、
ほら、オブジェクト使ってるからオブジェクト指向だってんなら、全部OOPになっちゃう。
OOPとそうでないものの明確な線引きって何よ。
誰も答えられないだろ。
だから俺が言ってやってんだろ。
オブジェクトってのは要は言葉を濁してんだよ。
データと処理の区別がない、なんとも言えない曖昧なプログラムのパーツのことを
どうとも表現できないから、「オブジェクト」なんて呼んでるんだ。
だから、データ構造と制御構造の区別のない曖昧なものが「オブジェクト」で、
それを中心に考えるのがOOで、
それでプログラムを構築する手法がOOPで、
それが前提の言語がOOPLなんだ。
でも、なんで曖昧である必要があるんだ?
Itumono言語だと、データ構造と制御構造は明確に区別されるし、
区別されるってだけで、通常のOOP相当のことも当たり前に出来る。
しかも、データ構造と制御構造を明確に区別することで、
マルチメソッドやダックタイピングまで可能だってのに。
なんで、曖昧にしておく必要があるんだ?
曖昧なままだと、少なくともマルチメソッドは無理なんだぜ。
どのみちこのみち。