オブジェクト指向ってクソじゃね?
■ このスレッドは過去ログ倉庫に格納されています
カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、
オブジェクトの実際の型を隠蔽したりすることをいう。
偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として
「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータに
アクセスできないと解決できない問題が出てきて、結果的にデスマーチに陥るというのである。
オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で
縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」
という概念はない。
https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96 >>356
関数を使うものが渡す
その関数は勝手に知らない場所にある値を使わない
同じ値の組を与えたら必ず同じ値を返す >>348
え?誰がそんなこと言ったの?
内部に持ってアクセスできないのが駄目だって何度も言ってるじゃん
関数実行したら出力全部出せよ
同じ引数で実行したら絶対同じ結果を返せ >>357
関数を使う、突き詰めればOfficeのユーザーがどの設定画面のどのタブでどのチェックボックスが有効でどのボタンを押したかを一度に伝えるのん?
俺はそんなことはしてないなぁ。
少なくともどの画面が表示されてて何が選択されてるかはアプリの状態に依存してるわ。 何でモデルとアプリの状態の話を混同してるかがわからない >>358
OKボタン押したら絶対に同じ結果になるのん??
仮に条件によりOKボタンが押せないなら、それはOKボタンを押せない条件がアプリにあるってことになる。 >>362
普通は分かるけどへんに誤解があるかもなので訂正。
誤 OKボタンを押せない条件
正 OKボタンを押せない状態 >>362
引数は同じなの?
お前さっきから人の話聞いてるのか? >>362
そもそもお前のアプリって
同じ画像保存してもクリックするたび画像変わるんだろ?
さっさとクビ吊れよ 俺がはなっから言ってるのは、アプリ以下のどこかに状態は必要なはずで、それよりも外に状態を追い出すのは無理があるってことだけ。 >>365
お前のアプリは画像選択もしてないのに突然エロ画像表示するのかw
児ポで捕まっとけw システムの状態とオブジェクトの状態をごちゃまぜにしちゃう無能がハッスルしちゃっとると聞いてw >>323-324
それな
関数型言語っつうのも所詮そんなもん システム、つまりアプリの状態は少なくともアプリケーションオブジェクト以下が制御してるので、全てのオブジェクトが状態を管理しないってのは無理があるって話。
最初からそう言ってる。 つか関数型餌やりだと餌やり関数から出力される犬は入力された犬のクローンじゃないのか? >>366
理由は?
outputでstatusも出しゃいいじゃん
ハイ、論破 >>371にどう答えるかでバカのレベルが計れるw
いまのとこ華麗にスルーした>>372がキングやねw >>372
具体的にどんな大多数のアプリがそう実装してるの?
悪魔の証明を避けるにはお前に実証責任があるからね。 >>374
今はおまえがしゃべっていい時間やないで >>375
あ、すんません。
誰が喋っていい時間なのかよく分からないけど黙っときます。 >>376
うむ、おまえは既に名誉バカの称号を持っとるからここに参戦すべきやない
すこしおとなしくしとけ >>374
c言語でグローバル変数使わなかったら他どんな組み方があるの?
引数か戻り値で渡すしかないでしょ?
グローバル変数使用禁止が作法のように語られてたんだから
昔の人は何をするべきかわかってたんだよ OOPは糞かもしれんが
じゃあ何がいいのかと言われたら別に他にこれといってないのが現状 頭悪いヤツにかぎって
うれしがってなんでも継承して抽象化とかいってるからな
ホモを人間クラスから派生するぐらい愚かなことやってる 基本は当たり前すぎて、階層化であり局所化であり
順序回的な「無用な」状態保持は極力回避し組みあわせ回路的・関数的構造にし、、、、
関連はネットワーク構造よりもツリー構造を指向して見通しよくし、
関連性の強い物は近くにおき(遠くのファイルからあちこち継承してクロスファイルでmethod取り込むようなことはせず)、
といった、、、アー効けく茶後期ツのための基本セオリー。
その表現技法は言語のパラダイムによって変わるだろう。
問題はオブジェクト指向がそういった基本セオリーに反するような手法として普及してしまったことだよ。 >>382 ひでえ誤字すまん
×「アー効けく茶後期ツ」
○「アーキテクチャー構築」 オレぐらいのレベルでないと
オブジェクト指向は使いこなせない たとえば関数型であれば、クロージャーや部分適用を使うことにより、
クラスをイロイロ作ったり状態instance変数でオブジェクトに特徴をもたせ分けるより
非常にシンプルに表現できるし、
また、解法を関数の段階的 細分化で構成することにより、
内側の回関数は小さくなるにつれ速やかに単純な構造になる上、
(再帰も含めた)関数呼び出しの引数リストと帰り値のスタック階層および局所変数が、
自然と個々の階層の参照する「近くにあるべき」状態を単純な木構増階層のかたちで保持できる。
ちなみに上にも書いたけど俺はfunctinalマンセーじゃないからな。 >>385
俺の周りでは、素人に毛がはえたか分からんような又派遣さんが、
専門学校でインチキ教わったのか知らないが、
そういう薀蓄をたれながら、くそコード量産して要らぬバグ入れて
残業大会やってるよ あえていえば
できるだけ自律的であることが適切で
なおかつそのようにほぼ自律的に振舞うように実装されていれば
内部状態が保持されることは実装として適切
ただし、すべて外部的な要因で翻弄される続けるオブジェクトが内部状態を保持することは
適切な理由がないかぎり、できるだけ避けるべきといっていい 問題によってどうしても必要な内部状態というものはあるからな。
そこまでだれも否定はしてない 刺身の上にタンポポ乗せる作業なんか
ほっといってもいい
そのクラスだけでほぼ完結できる > 外部的な要因で翻弄される続けるオブジェクトが内部状態を保持する
まぁアンタの言うように避けたようがよさげにも見えるが
ここでふと思い出されるのはコンテクストとかビルダの働き
java.awt.Graphicsみたいなコンテクストオブジェクトをグニグニいじったり
java.lang.StringBuilderのようなビルだオブジェクトをグニグニいじったり
そういうところこそにOOPの楽しみがあるように俺には少し思えるんだ ボタンやチェックボックスがGUIの共通の振る舞いを制御する親クラスがいるのはC++で書かれる前から実装継承するように設計されていた。
一方、普通預金、当座預金、定期預金の共通関数があったとして、預金というスーパークラスを書いているシステムはないぞ。メガバンクの情報系であってもな。 お、キングを抜いた奴がでたでw
今は>>389がバカキングなw 普通はそれってオブジェクト指向エクササイズっていうんだけど
同じ表現だから同じひとなんじゃないかな そいやオブジェクト指向てデザパタとかメジャーなのに肝心のこっちは影が薄いな バカでも作れる処理は
入力の構造体と出力の構造体を関数に渡す程度で済む処理 >>398
IDEと組み合わせるには相性がよかったのかもね
あと典型的なGUIのパーツであるとか
インスペクトしたときズラズラっと出るのが気持ち良いような物に対しては >>403
確かに浅いな
オブジェクト指向のメリットは全くわからなかった
解説してる内容もそもそもクラスを使う側が構造を知ってないと使えない例で書かれてて笑う キータって参考になる記事あんまりないんだよな。ある程度の知識もっているのが前提になってるし
プログラミング関連で検索すると常に上位でヒットするのが嫌だわ >>402
こういう嘘歴史書いて悦に入っちゃう自称識者のほうがゴリラみたいな底辺コンサルよりずっと始末が悪い ゴリラコンサルの所業
朝礼で歌を歌わせる、挨拶の練習
○○(会社の名前)イズムの継承と言ってブラック労働を肯定する
定期的に変なセミナーに通わされる qiita.comは動機が不明
なぜ頼まれもしないのに不確かな二次情報を書き散らすのか
なぜ頼まれもしないのにノイズをせっせとネットに増やすのか
あれってお金でももらって記事を書いてるのか?
stackoverflow.comは単純
質問者がいて、答えてあげたい人が要る
質問にも回答にも評価がされるようになっており
有益な情報が共有できるようにつくられてる
質問者、回答者、閲覧者の動機がよくわかる stackoverflow で答えてあげたい人と大差ないだろ 教えたがりのクズのくせに答えたあげたいとか言っちゃう気持ち悪さw >>412
書いたことあるけど、昔はもうちょっと面白い場だった。
こんなの面白かったよ、とか試してみた、とか。
今は何かというとポエムやら言う奴が出てきたり、本気でレベル低い人も何番煎じかわからん記事書いたりして、収拾ついてない。
コミュニティとしては死んでいってると思う。 >>412は便所の落書きのアホさ加減が光る書き込み qiitaはメモ帳として結構便利
家で調べて纏めて仕事ですぐ使えるようにする
githubにテンプレートを置いとくと尚良 俺は結構便利だと思ってるけどな
新しいことのとっかかりにしたり
頭の中にない情報を得るのに使ってるわ
まあゴミ記事も多いけど 技術的な事読みたいのにポエムばかり上位にくるqiita そもそもなんでqiita検索しとんねんwアホやろw ほんの少しだけいい記事もある。
今オブジェクト指向に関するポエムが乱立してるのはアホみたいだがな。 qiitaみたいなしょうもない個人の日記帳読んでるヤツいるの 便所の落書きはむしろ健全なんだよ
書くほうも読むほうももうそれは分かってるから
>>417
> 何番煎じかわからん記事
ほんとそれ
検索結果を汚すのはもうやめて…
つべの歌ってみたレベルで悲しい 何か上から目線だけどどこのサイトでもいいから
自分で正しいこと書けばいいんじゃないの?
それで次に言うのは
「ゴミポエムだらけでオレの記事が正しく評価されない」 >>432
結果として自分のブログに戻ったよ、俺は。
まあゴミに埋もれる程度ならその程度の評価だと思うし。 > 自分で正しいこと書けばいいんじゃないの?
何で分かってくれないの…
自分で正しいと思ったことを「書かないで」と言ってる
歌ってみた?歌わんでいい
書いてみた?書かんでいい 全てを分かってるやつが嘘っぱちを自信満々で流すのが厄介 オブジェクト指向とは何で
何が良くて
何が悪くて
そしてどうしたらよかったのかとか
纏められるといいんだけれどもねえ 目的指向というよりも
手段指向というか方法論指向で始終しちゃって
明後日の方向に愚民を導いて
混乱をもたらしたのは
なんともむなしい 日本の失われた20年とちょうど時期が重なる
日本のITの暗黒時代 >>441
手強いよ
さらに誰に金もらってるのか
特定の言語や商品の悪評を流すことを目的としてるから 260はいい記事やったけど402はイマイチやったな。てか全部読んでないけど 邪魔する奴の中に
単純に自分を有利にしておきたいから他人が自分の居るレベルまでこれ無い様に邪魔をする
という奴も居るからな
相対的な位置で報酬は決まるから他人を蹴落とす
というのを息をするようにやる奴がかなり居る
全体が進展するより停滞させて自分だけ有利にしようとする下劣な奴が結構居る
教育を変える必要が有るのに今のままでいい
とか言ってる奴もそういう連中 >>412
stackoverflow.comって初めて知ったわ。
teratailよりいい? >>448
teratailなんて比較対象にすらならない まさか日本語版とかいうゴミ見てるんじゃないだろうな…まさかな… 英語版なんて読めないよ・・・
コードはなんとなくわかるが質問文が >>444
その時期に書かれたコードでOOPを正しく実践してるものなんて見たこと無い
OOPが悪いのではなくOOPじゃなかったから悪いということになるな 海外でHelp me, Stackoverflow. You’re my only hope.って書かれたTシャツ着たやつ見るくらい ■ このスレッドは過去ログ倉庫に格納されています