<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>概念</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クラス</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インスタンス</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトタイプ</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メッセージパッシング</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">抽象データ型</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">duck typing</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MVC</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ORM</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">デザインパターン</anchor></li></ul></figure></p></section><section><h1>宗教性</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> 他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プログラミング</anchor>関連の話題と同じく、色々な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">流派</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">信念</anchor>があります。
便利な道具として以上に深入りすると危険かもしれません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> 何が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト指向</anchor>で、何が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト指向</anchor>でないかは、
深く追求してはいけません (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト指向</anchor>の定義問題になります)。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クラスベース</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトタイプベース</anchor>のどちらが優れているか、
などと考えてはいけません (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内戦</anchor>です)。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト指向</anchor>が適さない場面もあるのではないか、
と思っても口に出してはいけません (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宗教裁判</anchor>にかけられるかもしれません)。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト指向プログラミング</anchor>に向いた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プログラミング言語</anchor>はどれか、
どの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プログラミング言語</anchor>が優れているか、などと考えるのは危険思想です。</p></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OO</anchor></dfn> は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト指向</anchor>の略語です。</p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ガンダムOO</anchor>は日本の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アニメーション</anchor>作品です。</p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <time>2003-11-04 09:52:17 +00:00</time> <em><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor></em>: <em>疑りぶかいあなたのためのオブジェクト指向再入門</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://member.nifty.ne.jp/maebashi/programmer/object/index.html">http://member.nifty.ne.jp/maebashi/programmer/object/index.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> プロトタイプベース・オブジェクト指向
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://pc5.2ch.net/test/read.cgi/tech/1070886635/">http://pc5.2ch.net/test/read.cgi/tech/1070886635/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <cite>{_proto: プロトタイプベース・オブジェクト指向};</cite>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://pc8.2ch.net/test/read.cgi/tech/1109948927/">http://pc8.2ch.net/test/read.cgi/tech/1109948927/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">令和時代</anchor>になって風向きも結構変わってきていて、先日も <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OO</anchor>
は意味不明だとか何でも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OO</anchor> はやめようとか <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OO</anchor>
は失敗だみたいなのが話題になってましたね。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> 
それでも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UI</anchor> 部品のような自明に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>ぽいものが存在してるときは
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OO</anchor>
設計パラダイムが有効なのは変わらないのでしょうけど、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>ぽさが感じられないのに<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>を見つけて設計しましょうみたいな馬鹿っぽいやつは廃れていくべきなのでしょうね。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">シングルトン</anchor>とかやってること<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">グローバル変数</anchor>と同じで言い方変えただけだし。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webサービス</anchor>を作っていたらほとんどの操作が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ユーザー</anchor>起点に行われるから<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ユーザー</anchor>クラスに何十、何百の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メソッド</anchor>が生えた、みたいな失敗談もあったなあ。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> 
「OOは万能だと信じられていた」というツイートに「OOはこんなに有能」「OOはこんなに使われている」と説教するリプが付くのは実に味わい深いのう</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <cite xml:lang="ja">オブジェクト指向の問題点 - ビスケットのあれこれ</cite>, <time>2024-08-23T12:29:21.000Z</time>, <time>2024-08-23T12:29:22.001Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://blog.goo.ne.jp/viscuit/e/8ea0ce6d1d3aab0f95d92fd42c473558">https://blog.goo.ne.jp/viscuit/e/8ea0ce6d1d3aab0f95d92fd42c473558</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal> コメント欄がカオスでなぜか<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ユニケージ</anchor>の宣伝する人まで湧いてきてて草</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <cite xml:lang="ja">XユーザーのYukihiro Matzさん: 「オブジェクト指向と30年付き合ってわかったこと: そんなものは実在しない。」 / X</cite>, <time>午後10:49 · 2016年5月10日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2016-05-10T13:49:32.000Z</attrvalue></time>, <time>2024-11-19T05:58:39.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://x.com/yukihiro_matz/status/730032023163691009">https://x.com/yukihiro_matz/status/730032023163691009</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> 今から振り返ると ORM の流行は OO の最後のピークだったように思います。 <time>2025-09-08T07:04:06.627Z</time></p></section></body></html>