オブジェクト指向ってクソじゃねぇかよPart4
■ このスレッドは過去ログ倉庫に格納されています
無理やりオブジェクト指向にしたから出てきた問題を解決して凄い凄い言ってるだけ。
単なるマッチポンプ。
カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、
オブジェクトの実際の型を隠蔽したりすることをいう。
偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として
「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータに
アクセスできないと解決できない問題が出てきて、結果的にデスマーチに陥るというのである。
オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で
縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」
という概念はない。
https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96
前前前スレ
オブジェクト指向ってクソじゃね?
https://mevius.5ch.net/test/read.cgi/tech/1535085129/
前前スレ
オブジェクト指向ってクソじゃねぇよ? Part2
https://mevius.5ch.net/test/read.cgi/tech/1539872441/
前スレ
オブジェクト指向ってクソじゃねぇかよPart3
https://mevius.5ch.net/test/read.cgi/tech/1542884872/ >>82
僕に言え
アンカーつけて堂々と僕に言え
コソコソと隠れながら自己主張しようとするなこの卑怯者
ぶち殺すぞ >>84
君に向けた発言ではないし
その例を出そうとしたわけではないので
申し訳ないけれども黙ってろぶち殺すぞ オブジェクト指向以外の○○が優れてるって
例は出せないのな ガッテン、ガッテン、ガッテンwwwww
一人ガッテンwwwwwこれ一人焼き肉に続いてブーム来るんじゃねwwwww >>87
そこで元気良く「それこそが関数型や!!」という意見が出ればね
そういう展開にでもなれば、このスレも見応えが出てくるんだけど
OOPを置き換える何かを主張する人が出るまで待機中 否定してる奴にならもっと素晴らしいものとやらを出せと言ったら
先にお前が出せとか意味不明な反論してくる状況だろ
どうしようもないやんw >>91
どう考えても僕のことを言っておられるんだと思いましたけど
僕はオブジェクト指向を否定してないですよ
そこのところはわかっておいていただいて
それはそれとしてオブジェクト指向を否定する人しかオブジェクト指向以外の
例を出しちゃいけないルールはないと思うんですよ
オブジェクト指向が大事だと思ってる人の中にも関数型プログラミングを
嗜んでいる人もいるでしょうし
技術ってそういうものですよね個人的な好き嫌い社会的な軽重とは独立してます
心が伴ったらそれはもう宗教なので技術とは違ってくるかと
宗教によって戦争が起きるのは心の存在があるからなんでしょうね 我ながら良いこと言ってるわー
君たち今頃しんみりしてるでしょう
心に沁み入ったでしょう >>79
それはいわゆるネタですよ…
http://www.kh.rim.or.jp/~nagamura/misc/stroustrup-interview.html こういう事例ではオブジェクト指向より関数型のほうがいいって具体例を出してあげればいいやん
それを拒否する理由なんて無いと思うけどな >>95
それを出せば良いと君が思ってるなら
君が出すべきかと
僕は関数型プログラミングはエアプなので無理ですけど >>97
そうやって拒否するってことはつまりそういうことやな 理由なんて無くても自由があるから拒否はできる
自由とはつまり人間やルールが疎結合になっている状態 >>98
そういうことの意味がわかんないんだけど
僕は具体例を出してあげれば良いとは言ってないですよ
それを言ったのは君ですよ、君が主張したことです
どうして僕が拒否したことになってるのかわかりません
僕に責任をなすりつけるのやめて欲しいです不愉快です
君が主張したことなんだから君がやるべきだと思います 道具を使いこなせないからって、悪く言う必要は無いんだぞ。 ID:PGFlN+PIはなんら具体的なことは言えないけど否定はしたいってことらしいな
それじゃ宙に浮いた話に終始されて議論にもならんから終わりやな >>103
なにの否定なのかな?
本当に意味がわからない
火事の例で言うと僕は火事は江戸の華だと思ってるから
消防車を呼ばなくて良いと思ってる
君は消防車を呼ぶべきだと思ってる
だけれども消防車を呼ばずに僕にどうして消防車を呼ばないんだと言っている
そういう状況なんですよ 拙者は徳川吉宗君のお相手を慈悲でしてあげてるなんてことなら皆優しすぎて涙が出るよw 拙者は徳川吉宗君は感謝して頭を垂れるべきだねw
僕に生きる糧を与えくれてありがとうってねw >>95 こういう事例ではオブジェクト指向より関数型のほうがいいって具体例を出してあげればいいやん
ID:nTNh+kbPはこう主張したんですよ
具体例を出してあげれば良いと言ったんです
自分ではっきりとこう言ったんです
だから僕はID:nTNh+kbPがその具体例を出すんだろうなくらいに思ってたんです
ところがID:nTNh+kbPはなんで具体例を出さないんだと僕に文句言ってくるんです
僕は具体例を出してあげれば良いとは一言も言ってないただの通りすがりの一般人なのにです
ID:nTNh+kbPは自分が言った言葉の責任を何の関わりもない僕になすりつけようとしてるんです
これではあまりに僕がかわいそうです、通り魔にあった気分です
>>95の文体をよくみてください、関西弁です
関西弁は関西人が使う言葉です
関西人は通り魔です 拙者は徳川吉宗君は寂しいんだねw
皆に相手してほしいから頑張ってるんだねw
でも相手してくれる人はもういないようだよ?w 拙者は徳川吉宗君は皆に匙投げられちゃったんだw
かわいそうな拙者は徳川吉宗君w そして俺も匙投げちゃおうw
さようなら拙者は徳川吉宗君w >>95はこうも言ってます、それを拒否する理由なんて無い
>>95には拒否する理由なんて無いんです
自分で言ってるんだから間違いありません
ここまで言っておきながら>>95はまだ具体例を出していません
僕に責任をなすりつけようとした謝罪の言葉もありません
みなさんこれが関西人のやり方ですよ 関西人バカすぎワロスwwwwwwwwwww
消防車漫画を再現しすぎだろwwwwwwww 威勢の良いこと言って僕に頼るなwwwwwwwwwwwwwwwwww
wwwwwwwすまんなwwwww僕は何もできないwwwwwwwwwww
僕のことはオブジェと思ってくれwwwwwwこれが僕のオブジェクト指向だってかwwwwwwwwww
wwwwwwwwwwwww大爆笑wwwwwwwwwwww でもやっぱ関西人は笑いの才能はすごいよね
わざと消防車漫画を再現してみせたんじゃないかと
僕は疑っててそれが本当なら関西人はあなどれない 消防車を呼ぶべきだ
それを拒否する理由なんてないと高らかに宣言して
消防車呼ばないんだもん
僕は街で関西人を見かけたら子供に見てごらん
消防車おじさんだよと教えることにするよ 上の例なら、複合型のクラス1つで何とかしようとする良くあるオブジェクト指向以外なら、
何で書いても大差ないでしょに、ハート。 『オブジェクト指向』などという専門用語を使わずに、それらしい概念を語ってみないか?
例えば『ビッグデータ』というのは、図書館に本が沢山有るよみたいな。 では、手段指向なんてどうよ。
目的は、ない、やり方を探求する指向、とか。 >>11
>シコシコするは自慰することを表す動詞で
『シコシコ』という擬音はどうでもよい。問題は、
自我 チンポ
↓ ↓ チンポ=自我
チンポ 自我
オブジェクト指向では、この三種類が考えられるということだ。
>チンポ=自我
散歩している時、自分もチンポも所在地は同一である。
https://i.imgur.com/j3uTk1K.jpg
夏目くんの場合は、チンポが自我を圧倒し、体が自然に滝川さんの股間に近づいていったのだ。
『笑ってごまかすな!!』
と言われても、夏目くんは何と言えば良かったのだろう?
『チンポが自我を超えてしまった』を簡略化して、チンポがシコシコする!
チンポがシコシコしていると(チンポが自我を超越していると)、息もハァハァになる。
チンポがシコシコしている(チンポが自我を超越している)と、顔もアヘ顔になる。
つまりその顔は『チンポの一部』つまりチンポの皮と同じということ。
博士号の肩書きがあっても、STAP細胞のそれは間違いであり科学者として失格。
チンポと自我の関係について、それが間違いということなら、俺も科学者を自称するのを止めよう。
しかしながらあの夏目くんは、笑ってごまかす以外に何と申し上げたら良かったのか。 んまぁ、たくましい…
筆卸がまだならオバちゃんに言ってねハート >>66
その際との例ならclosure使うのがイチバン楽そうだな オブジェクト指向はX Window Systemをシンプルで整然とした生産性高いモノにできたかどうか
考えてみるといいんじゃないかなぁ Motifの時代はひどかったな
いまだと、GTK, QT, wxWidget, fktk, tkx イロイロあるけど当時より進化した
ただし、X固有のものではない。
オブジェクト指向ウンヌンではなく、純粋に進化した。
ゆっくりとだが。
SWING見るとオブジェクト指向といってもどうなんだろうと首を傾げたくなるが…
でもそれよりnodeのうえのElectronのような方向の進化のほうが面白いしなんだか革新的だ Xは文字通りの意味でネットにメッセージ送信してる
Erlangもな 送ってねーってw
UNIX domain socketしらねーのかよ
それにメッセージ パッシングとクラスペースオブジェクト指向は別物だし
申そう猛々しぞ とまあこんな感じで揚げ足を取られる問題をどうやって解決するか >>130
揚げ足取りというなら、X Window Systemと
メッセージ パッシングオブジェクト指向
の関連性を示してみろよ ここまでオブジェクト指向を使わないメリット一切なし Cは馬鹿が使うとぐちゃぐちゃになる。
馬鹿にはオブジェクト指向言語がおススメ。 オブジェクト指向のメリットは
馬鹿でも使えること。 c言語でもオブジェクト指向できますし
高級言語だと色々面倒見てくれて楽チンだよと言ってくんろ。オブジェクト指向で書く必要はないし >>138
C言語にものすごく詳しいけどオブジェクト指向には興味ない奴
に邪魔されるからC言語でオブジェクト指向はできない
っていう問題意識があるみたいなんだよ 学習用プログラミングはC/C++あるのみ。
オブジェクト指向についてはオブジェクト指向プログラミングをせずとも、俺の股間に付いているのだから! そのエノキタケみたいなちんけな物がオブジェクト指向だったのか、
道理で役に立たないわけだわ、納得。
はい解散解散。 >>138
C にできることをわざわざオブジェクトオリエンティド、とはいわないと思いますよ
たとえば継承は C で書けますか?書いてみてください https://ideone.com >>143
それがでてきませんね…
URL 例を挙げてみてください ググればすぐに出てくるやん
これとか
ttps://qiita.com/qiita_kuru/items/8f3441bce9b2f53d1d62 >>145
これは継承というより委譲という気がしました…この方法では、基底クラスA, とそのメソッド f() ・A の派生クラスB において B.f() が何のてらいもなく実行できることを説明できていないのではありませんか?
私は C で継承を記述するのは不可能だと思います >>147
>>146 で示した懸念を >>147 の本はどう回避しているのですか? >>148
お前のような人に調べさせるくれくれ君に教えることは何もない >>149
あなたこそフェイクニュースを振りまく毒人ではないのでしょうか?
私の立場は「C で委譲と区別することのできる継承は実装できない」です
C がなんでもできる、とか勘違いもはなはだしいので、叩けるときに叩いておこうと思っています もはや継承できることを誇るのはGOTOが書けることを誇るのに等しい >>152
>>147 を見て発注したばかりで、まださすがに届きませんので、概要くらいは知りたいと思ったのですが、ID:IpLGLbh6 は、どうも具体的な話ができない人のようですね >>153
ググって何も出てこないなんて嘘をつくお前がよく言うねw
フェイクニュースだの毒人だの酷い奴だ。
お前それ本の著者にも言えるのか?
本の内容は書かないよ。お金払って読んでくれ。 >>153
自分の考えにあってるか判断するのは読んでからでも遅くないと思うし
議論って相手を叩いたら成立しないと思うんよね
具体的な話ができない人だっていうのは人に対する文句だから
そういう事言うとなおさらかなと
自らの見識を広げられると良いよねっていうのが議論だから
反論することよりも理解することを重視したが良いと思うの 自分の考えと違うことを言ってるから叩くんだじゃなくて
自分と違う考えを吸収するんだっていうのが技術的な議論には
必要なスタンスかなと >>154
>>146 の内容を整理します
基底クラスA とそのメソッド f() があり、かつ A の派生クラスBを導出したところで、B.f() が特に困難なく記述できますか、これを C で書く方法はありますか? >>155-156
なるほど、確かに私の側にも狭量なところがありましたね、ご指摘感謝いたします >>138
ボブおじさんも似たようなこと言ってた
C言語はJavaより厳密にカプセル化できるよーみたいな話 できるできないの話になってる時点でダメだろ
大規模でも把握しやすいかどうかが重要なのに C++だかJavaだか忘れたが、オブジェクト指向プログラミングの本に昔アセンブリ言語で
オブジェクト指向プログラミングっぽいコード見たって記述があったな。
オブジェクト指向だろうが何だろうが、最終的に機械語になるし、アセンブリ言語は機械語と
一対一なんだから出来ない事はないんだろうが。。。
上でも言われてる通り、オブジェクト指向プログラミングはオブジェクト指向言語じゃなくても出来るが、
オブジェクト指向プログラミングをし易いのがオブジェクト指向言語な訳で。 オブジェクト指向は俺が生まれた時から俺の股間に付いている! 一言に継承と言っても言語によってその概念もできる範囲も様々だったりするし オブジェクト指向は考え方だからなー
実現方法はいろいろあるますよねー 随意筋 不随意筋
↘ ↙
チンポ
これぞ、多重継承! >>162
だからそれはエノキだって。早くしまえよソチンが >>163
>>159 じゃないが継承は実現出来ると思うぞ。
superとかポインタやん?
(そう言う意味じゃ、C的には継承は変数固定の移譲ともとれる)
ただ面倒臭そう。
そこを面倒臭くなくしたのがオブジェクト指向言語でそ。 >>163
>>159 じゃないが継承は実現出来ると思うぞ。
superとかポインタやん?
(そう言う意味じゃ、C的には継承は変数固定の移譲ともとれる)
ただ面倒臭そう。
そこを面倒臭くなくしたのがオブジェクト指向言語でそ。 >>167
『多重継承』ってさ、どっちの属性なのか良くわからんっていう場合に必須だろう?
北方四島は日本領かロシア領か、光は波動なのか粒子なのかとか。 >>170
>>157 を少し改変しました。
基底クラスA, にはメソッドf() が、 基底クラスB にはメソッドg() があるものとします
今そのの両方の派生クラスである C があった場合、C.f(), Cg() を C ではどう記述するのか、具体例で示してください
https://ideone.com/vAp2Sj
すなわち、私の見解は「C では委譲と区別された継承を記述できない、したがってCはオブジェクト指向的な記述はできない―継承の記述はオブジェクト指向には不可欠であり、それができないのは致命的―」であります >>172
ポインタの配列作って、super[0]にクラスA、super[1]にクラスBとかすれば良い。
要はオブジェクト指向言語(処理系)が裏でやってる事を自前でやる訳で。
てか、Cでオブジェクト指向プログラミング出来たら何か都合が悪いん?
出来ようがオブジェクト指向プログラミングし易いのはオブジェクト指向言語なんだし、
優位性が失われるもんじゃないと思うんだが。 今更思い出した。
使った事ないけど、初期のC++は一回Cに変換するC++ー>Cのトランスレーターだったらしい。
直でコンパイル出来るようになったのは、その後。 >>172
いつからオブジェクト指向に多重継承が必須になったの? Objective-C もプリプロセッサでCに変換してただけだったね。 >>175
>いつからオブジェクト指向に多重継承が必須になったの?
随意筋 不随意筋
↘ ↙
チンポ >>175
痛いところを突かれました…
単一継承ならば C で書ける(かもしれない)ことを暗に認めた、と解釈ください… >>173
>Cでオブジェクト指向プログラミング出来たら何か都合が悪いん?
私はもともと C 使い、だから C で OO をカバーできるのならウェルカムです、でも、そうじゃないと思うのはまた別の話なのです >>175
>いつからオブジェクト指向に多重継承が必須になったの?
随意筋 不随意筋
↖ ↗
チンポ
『継承』は、子クラス➡親クラス。
多重継承を否定できないのは、この現実世界においては、状況によって相反する属性が現れるから。
特に機械翻訳においては、文脈によってコトバの属性を選択しなければならない。 不随意筋なんて無いけどな。動かし方忘れたりしてるだけで。 ■ このスレッドは過去ログ倉庫に格納されています