無理やりオブジェクト指向にしたから出てきた問題を解決して凄い凄い言ってるだけ。
単なるマッチポンプ。
カプセル化(英語: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/
前スレ
オブジェクト指向ってクソじゃねぇかよPart4
https://mevius.5ch.net/test/read.cgi/tech/1556462315/
探検
オブジェクト指向ってクソかよPart5
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2019/10/08(火) 15:46:57.38ID:YglSDU9b983デフォルトの名無しさん
2020/01/07(火) 19:35:33.44ID:MkSf+UQ1 恩師って無名の素人やろ?w
あ、大学で有名とかそういうのはいいから
ソフトウェア業界で名前が知られてるかどうか
あ、大学で有名とかそういうのはいいから
ソフトウェア業界で名前が知られてるかどうか
984デフォルトの名無しさん
2020/01/07(火) 19:54:07.82ID:VQksduWK 恩師はC89の開発者の一人
名前を知られているかはわからない
名前を知られているかはわからない
985デフォルトの名無しさん
2020/01/07(火) 22:47:41.56ID:+L6qE003 結局必要だったのはネームスペースの閉じ込めだけだったのに
余計なことしてくれたという感想しかない。
余計なことしてくれたという感想しかない。
986デフォルトの名無しさん
2020/01/08(水) 00:44:37.39ID:9117F55y 正しさを人が議論しなくちゃいけない、それが継承の限界だよ。俺はフツーに数学とコンピュータの力を借りる。
987デフォルトの名無しさん
2020/01/08(水) 03:56:49.03ID:tu5ughcT >>976
Sunが作ったGUIフレームワークという事前情報があるから
安心してクラス階層から設計を読み取れるんだと思う
例えば俺(または経験不明の第三者)がオレオレGUIフレームワークを作って同じクラス階層を提示したとすると、
継承の使い方が間違っていてそのフレームワークが実現したいことは
そのクラス階層で正しいのかという疑念がどうしても拭えないだろ?
考慮されたクラス階層ですという保証がない限り、
クラス階層から設計を読み取っても疑念が残る、
または、バグに繋がるケースがある
>>971 はそういうことを言いたいんだと思う
単純な例だとC#のApplicationExceptionとか、
昔はユーザが作る例外はApplicationExceptionを継承するべき、
現在はMSのライブラリチームの人がクラス階層間違って使ったせいで継承するべきでないという方針転換してるが
クラス階層は互換性からそのままになってる
Sunが作ったGUIフレームワークという事前情報があるから
安心してクラス階層から設計を読み取れるんだと思う
例えば俺(または経験不明の第三者)がオレオレGUIフレームワークを作って同じクラス階層を提示したとすると、
継承の使い方が間違っていてそのフレームワークが実現したいことは
そのクラス階層で正しいのかという疑念がどうしても拭えないだろ?
考慮されたクラス階層ですという保証がない限り、
クラス階層から設計を読み取っても疑念が残る、
または、バグに繋がるケースがある
>>971 はそういうことを言いたいんだと思う
単純な例だとC#のApplicationExceptionとか、
昔はユーザが作る例外はApplicationExceptionを継承するべき、
現在はMSのライブラリチームの人がクラス階層間違って使ったせいで継承するべきでないという方針転換してるが
クラス階層は互換性からそのままになってる
988デフォルトの名無しさん
2020/01/08(水) 05:35:56.16ID:0mytWgwM >>987
> 例えば俺(または経験不明の第三者)がオレオレGUIフレームワークを作って同じクラス階層を提示したとすると、
> 継承の使い方が間違っていてそのフレームワークが実現したいことは
> そのクラス階層で正しいのかという疑念がどうしても拭えないだろ?
継承に限らないよね?
お前が書いたコードがクソで、そのやり方ではうまく動かないかもしれないし
メンテナンス性が悪いかもしれない
そして>>977の話に戻す
> 念のために言っておくが
>
> 「ボタンはコンテナの一種として設計するのは正しいのだろうか?」という話はしてない
> 「継承関係から設計が読み取れる」という話をしてる
お前のクラス階層が正しいかどうかの話はしてない
「継承関係から設計が読み取れる」という話をしてる
> 例えば俺(または経験不明の第三者)がオレオレGUIフレームワークを作って同じクラス階層を提示したとすると、
> 継承の使い方が間違っていてそのフレームワークが実現したいことは
> そのクラス階層で正しいのかという疑念がどうしても拭えないだろ?
継承に限らないよね?
お前が書いたコードがクソで、そのやり方ではうまく動かないかもしれないし
メンテナンス性が悪いかもしれない
そして>>977の話に戻す
> 念のために言っておくが
>
> 「ボタンはコンテナの一種として設計するのは正しいのだろうか?」という話はしてない
> 「継承関係から設計が読み取れる」という話をしてる
お前のクラス階層が正しいかどうかの話はしてない
「継承関係から設計が読み取れる」という話をしてる
989デフォルトの名無しさん
2020/01/08(水) 12:30:33.00ID:9117F55y 何を読み取れるのって話をしてるんじゃないの?
YはXのサブクラスとしたとき、「YはXの状態と振る舞い全てを持っている」以上の意図は込められないのに、「いやY is a Xだ!」って余計な意図を撒き散らしてる
まずどういう視点でis-a関係なのかの説明が必要だし、別の視点で見るときにそのis-a関係は無価値になる
提示できているかどうかが疑われる方法を使って、提示している知識の価値が低い。そんな不便な道具を使っちゃ駄目だ
YはXのサブクラスとしたとき、「YはXの状態と振る舞い全てを持っている」以上の意図は込められないのに、「いやY is a Xだ!」って余計な意図を撒き散らしてる
まずどういう視点でis-a関係なのかの説明が必要だし、別の視点で見るときにそのis-a関係は無価値になる
提示できているかどうかが疑われる方法を使って、提示している知識の価値が低い。そんな不便な道具を使っちゃ駄目だ
990デフォルトの名無しさん
2020/01/08(水) 13:14:27.43ID:0mytWgwM > YはXのサブクラスとしたとき、「YはXの状態と振る舞い全てを持っている」以上の意図は込められないのに、「いやY is a Xだ!」って余計な意図を撒き散らしてる
だから因果関係が逆。
自分でサブクラス作ったことないでしょ?
他人が作ったサブクラス見て、あーだこーだいってるだけでしょ?
はじめに世界がありました。はじめにサブクラスがありました。じゃないんだからさ
最初はなにもない。なにもない所にサブクラスを作り出す。
Y is a Xとしたいと思ったときに、YをXのサブクラスにするんだよ
そうすると状態と振る舞いもついてくる
なんで、とりあえずサブクラスでなんて考えるのかな?
理由なしにサブクラスになんかしないだろ
だから因果関係が逆。
自分でサブクラス作ったことないでしょ?
他人が作ったサブクラス見て、あーだこーだいってるだけでしょ?
はじめに世界がありました。はじめにサブクラスがありました。じゃないんだからさ
最初はなにもない。なにもない所にサブクラスを作り出す。
Y is a Xとしたいと思ったときに、YをXのサブクラスにするんだよ
そうすると状態と振る舞いもついてくる
なんで、とりあえずサブクラスでなんて考えるのかな?
理由なしにサブクラスになんかしないだろ
991デフォルトの名無しさん
2020/01/08(水) 13:25:00.58ID:0mytWgwM > まずどういう視点でis-a関係なのか
そんなもん、(自作、既存問わず)フレームワークやライブラリがあって
そのフレームワークやライブラリはクラスを親クラスとして扱う。
それをサブクラスで拡張やカスタマイズできる。
そういうことをしたいときにサブクラスにするに決まってるじゃん
それ以外に理由なんかあんの?理由なんてたった一つなのにそれを説明しろだなんて
お前がその一つの理由を知らないだけとしか思えんが
そんなもん、(自作、既存問わず)フレームワークやライブラリがあって
そのフレームワークやライブラリはクラスを親クラスとして扱う。
それをサブクラスで拡張やカスタマイズできる。
そういうことをしたいときにサブクラスにするに決まってるじゃん
それ以外に理由なんかあんの?理由なんてたった一つなのにそれを説明しろだなんて
お前がその一つの理由を知らないだけとしか思えんが
992デフォルトの名無しさん
2020/01/08(水) 15:32:35.96ID:5eql497N オブジェクト指向とか便利かもしれないけど
普通にクラスのデザインが不味いとオブジェクト指向とか関係なく放棄されるから
オブジェクト指向であっても普通にクソコードは生まれる
免罪符的な何かを期待してもむりじゃね?
普通にクラスのデザインが不味いとオブジェクト指向とか関係なく放棄されるから
オブジェクト指向であっても普通にクソコードは生まれる
免罪符的な何かを期待してもむりじゃね?
993デフォルトの名無しさん
2020/01/08(水) 18:20:38.49ID:0mytWgwM >>992
当たり前だろ。なんでできないやつ、素人用の道具だと思ってるんだ?
当たり前だろ。なんでできないやつ、素人用の道具だと思ってるんだ?
994デフォルトの名無しさん
2020/01/08(水) 19:06:01.97ID:jWR4zIzC OOPの概念 ←難しくない
クラス設計 ←難しい
クラス設計が難しい事を自覚すること ←不可能レベルで難しい
クラス設計が難しい事を自覚することなくOOPを批判 ←ありがち
クラス設計 ←難しい
クラス設計が難しい事を自覚すること ←不可能レベルで難しい
クラス設計が難しい事を自覚することなくOOPを批判 ←ありがち
995デフォルトの名無しさん
2020/01/08(水) 19:10:26.55ID:9117F55y 逆じゃねえよ作らねえと分からないのがソフトウェア開発だよ
最初に考えた設計じゃすぐに駄目になるから身軽じゃないといけないし、想定外の使われ方をするから防衛的にしなきゃいけないんだ
そんな世界で、後から変更しづらいことが作る前から分かってる道具を使う理由は何だ?
クラス階層は時間で腐る。最初のロクでもない思いつきがずっと残る。作った奴の意図がコードに込められないから用途も目的もブレる。
継承の階層構造から読み取れる意図なんて幻想だファンタジーだフィクションだ。嘘じゃねえよどれだけ世の中にそびえ立つクソがあるか知ってるだろ?
最初に考えた設計じゃすぐに駄目になるから身軽じゃないといけないし、想定外の使われ方をするから防衛的にしなきゃいけないんだ
そんな世界で、後から変更しづらいことが作る前から分かってる道具を使う理由は何だ?
クラス階層は時間で腐る。最初のロクでもない思いつきがずっと残る。作った奴の意図がコードに込められないから用途も目的もブレる。
継承の階層構造から読み取れる意図なんて幻想だファンタジーだフィクションだ。嘘じゃねえよどれだけ世の中にそびえ立つクソがあるか知ってるだろ?
996デフォルトの名無しさん
2020/01/08(水) 19:28:35.60ID:0mytWgwM クラス使っていても特に変更しづらいことはないし何いってんだこいつ?
997デフォルトの名無しさん
2020/01/08(水) 20:42:23.62ID:2scEGSHx998デフォルトの名無しさん
2020/01/08(水) 20:52:21.66ID:0mytWgwM >>995みたいなのって、設計もせずにいきなりコード書くんでしょ?
だから、コードを共通化したい=サブクラスじゃぁっていきなりサブクラスが出てくる。
そしてYはXの状態と振る舞いを全部持ってるだけだ、Y is a Xという意図はない!
あとから意図を聞かれてごまかしてる。
最初に設計(意図)をして、それがY is a Xであるときにサブクラスにする
コードを共通化したいときにサブクラスにするのではない
だから、コードを共通化したい=サブクラスじゃぁっていきなりサブクラスが出てくる。
そしてYはXの状態と振る舞いを全部持ってるだけだ、Y is a Xという意図はない!
あとから意図を聞かれてごまかしてる。
最初に設計(意図)をして、それがY is a Xであるときにサブクラスにする
コードを共通化したいときにサブクラスにするのではない
999デフォルトの名無しさん
2020/01/08(水) 20:56:07.55ID:0mytWgwM 設計もせずにいきなりコード書くから作らないとわからない
すぐにだめになる。全部書き直し、それはクラスだからみたいな意味不明な結論を持ってくる
最初の設計が破綻してるだけ。そもそも設計してないんだろうがな
最初のロクでもない思いつきでコードを書いてるからそうなる
自分が意図を込めてないから、用途も目的もブレる。
そして相手も意図を込めてないと思ってる。
何も意図を込めてないコードから、意図なんて読み取れるわけがない。
意図が読み取れないのは、書いたやつがクソだけ
世の中にあるクソコード一つが>>995が書いたコード
すぐにだめになる。全部書き直し、それはクラスだからみたいな意味不明な結論を持ってくる
最初の設計が破綻してるだけ。そもそも設計してないんだろうがな
最初のロクでもない思いつきでコードを書いてるからそうなる
自分が意図を込めてないから、用途も目的もブレる。
そして相手も意図を込めてないと思ってる。
何も意図を込めてないコードから、意図なんて読み取れるわけがない。
意図が読み取れないのは、書いたやつがクソだけ
世の中にあるクソコード一つが>>995が書いたコード
1000デフォルトの名無しさん
2020/01/08(水) 21:24:19.44ID:kS+vn00V そもそも汎用的な雪渓は存在しない
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 92日 5時間 37分 22秒
新しいスレッドを立ててください。
life time: 92日 5時間 37分 22秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 「脅迫だ」国分太一に同情論 音声データ削除要求など日テレの対応を疑問視する声ネットに噴出「それこそコンプラ違反では」★2 [muffin★]
- 【工作員】「X」のアカウント所在地公開機能が暴いた世論操作の実態 MAGA支持著名アカウントの多くが米国外から運営 日本にも波及 ★3 [ごまカンパチ★]
- 【国際法を無視】日本での「中華人民共和国に台湾問題を論じる資格なし」との声に 中国外交部が厳しく反論… ★2 [BFU★]
- 生クリームだけの真っ白なクリスマスケーキ 大手メーカーが販売、その理由は…フルーツなしで価格は半額以下に ★3 [おっさん友の会★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! ★5 [Ailuropoda melanoleuca★]
- 『水ダウ』年内は「名探偵津田」一色 藤井健太郎氏が報告 未公開"長袖"SP&第4話前編・後編とも90分SP [muffin★]
- 今って無料の動画編集ソフトっいいのあるの?
- まったりまったりおじゃる丸待機スレ🏡
- 【ゼイ】日本の税収がぐんぐん増加!たった3年で10兆円増加し、ついに80兆円を超える!日本の未来は世界羨むバラ色に [219241683]
- 【鬼畜】英国史上、最悪のレイプ魔。判明分だけで136人が被害。レイプ中の動画は3テラにおよぶ。クラブやバーから出てくる男を狙う手口 [219241683]
- 高市応援団「都合よく解釈するな」「撤回すると言ってない」「中国と断交」「撤回する必要ない」「答弁変わってない」「武力行使しろ」 [931948549]
- ヤンジャン新人漫画大賞、入賞作品のAI絵疑惑で大荒れ😄😄😄 高市早苗要素あり [175344491]
