- 615 名前:デフォルトの名無しさん [2017/03/14(火) 22:34:55.60 ID:85Zkl0NJ.net]
- >>592
1980年代に設計された Modula-3 と呼ばれる言語におけるオブジェクト指向のこと もともとは Pascal 系の手続き型からモジュール化拡張へと発展した Modula から始まり。 Modula-2 で改訂されたあと、オブジェクト指向対応で登場したのが Modula-3 変数 self を常に明示すべきという教義は Modula-3 で生まれ、その伝統は Python に伝承された 残念ながら Modula と同時期に誕生した Smalltalk だと self は暗黙的な疑似変数であり、 その性質は C++/Java/C# といった主流のオブジェクト指向言語へと継承され、世間の常識となっている なお純粋手続き型言語、たとえば C で OOP を模倣する場合、C 関数の第一引数に self と命名する、 もしくは self とみなすというのは、暗黙の了解になっている だから一見して奇妙と感じるかもしれない Python の self 地獄に慣れる事は、 手続き型脳を養成するには大切だと思われ Python は純粋手続き型言語であり、過度なオブジェクト指向プログラミングや関数型プログラミングは 推奨していないのだから、self の出現を苦痛に感じるとしたら教義に反していると考えるべきだろう
|

|