0001デフォルトの名無しさん2020/07/29(水) 17:17:58.13ID:u638n5uE
■危険性
かつて偏差値の低い学校向けの情報処理系教科書において「カプセル化は大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心とした「インターネットを作った人たち」は「階層化の有害性(RFC 3439)」として「カプセル化は絶対にやめろ」としている。
大雑把にいうと、教科書の上では素晴らしく、開発を始めた最初のうちは良いが、将来的な改修の際に隠蔽されたデータにアクセスできないと解決できない問題が出てきて、非常に高確率でデスマーチに陥るというのである。
オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」などという概念はない。
ソースコードが存在し改修が可能であればカプセル化しても問題ない。ソースコードがあってもライセンス的に改修できない場合や、そもそもバイナリのライブラリしかない場合などは絶望的である。
https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0) >>950
お前の理屈だと、ファイルを使うとカプセル化とは縁遠い作りになることが多いんだろ?w 0953デフォルトの名無しさん2020/09/15(火) 01:45:28.43ID:Yms7aROo
カプセル化の意味を履き違えているのばかりだし、異様にこだわるのはもはやキチガイレベル。
オブジェクト指向に疑念を持って、関数型などにも浮気したが結局オブジェクト指向に戻ってきた
関数型だとインフラストラクチャのコントロール、外部APIコーディネートなどといった「現実の問題」に対象できない
また関数型が優れているとされる理由のエッセンスはイミュータビリティである、ということに気がついたからだ
結局のところオブジェクト指向にイミュータビリティを導入することが正解だった
全然関係ないこと横文字羅列することで畳み掛けるの流行ってるの?
少なくともそんなとこ考えてるときにオブジェクト指向言語じゃないと実装できませんねとか
意味不明なこと言い出した奴もういらんわ
何かに反論するときに、◯◯って流行ってるの?っていう入り方するのって流行ってるの?
オブジェクト指向でなければならないことはない
関数型ではダメなことは多い
手続き型のほうがうまくこなせることも現実世界には多い
それぞれ得手不得手がある
なのでそれらをいい感じに融合できるオブジェクト指向が正解ってわけ
融合する際にそれらの境界を上手く隔てるためにカプセル化が役に立つ
カプセル化を活用して、インフラストラクチャ、ステートフルリソース、手続き的な処理を隔離する
イミュータブルオブジェクトを導入して関数型の思想のもとで堅牢かつ柔軟なドメインモデルを構築する
このようにオブジェクト指向はなんでもそこそこ上手くできるからバランスがいいんだよ
現実を見据えたパラダイムだと思うよ
原理主義的にならずに旨味だけを享受すればいい
もちろんなんでもできるから使い方を間違えるとひどい目に合う
そこはしっかりと教育していくしかない
どんな道具でも学習は必要だ
>>957
>関数型ではダメなことは多い
ダメな例を具体的に書けば自分のダメさがよく分かるよ
>どんな道具でも学習は必要だ
君自身がしっかりと教育されるしかない 0959デフォルトの名無しさん2020/09/15(火) 12:21:34.24ID:gc4PCUOV
関数型のクイックソートはクイックじゃねえからなwwwww
wwwww使い物にならねえわwwww
>>958
挙げてるじゃん
インフラストラクチャ、ステートフルリソース、外部APIコーディネート、などなど
数えたら枚挙に暇がない
関数型は所詮はインメモリの世界でしか通用しない道具だ
しかしインメモリに限れば強力なツールだ
なので関数型が苦手なことが得意な手続き型と組み合わせて使うのが正解
そして関数型と手続き型を密結合することなくうまく調和させるためにOOPのカプセル化や抽象化といった概念が役に立つ 0962デフォルトの名無しさん2020/09/15(火) 13:04:11.00ID:RkqAJNr6
>>1
アランケイが提唱したオブジェクト指向と、クラスベースのオブジェクト指向を混同してる時点でな
いつものオブジェクト指向否定信者がスレ立てたんだろ 関数型に適応できる高速なソートのアルゴリズムってあるの?
0964デフォルトの名無しさん2020/09/15(火) 14:42:17.61ID:i/gZOuAl
>>961
>インフラストラクチャ、ステートフルリソース、外部APIコーディネート
これが具体的な例なんだねww
にしてもインフラストラクチャてwww
無知を自覚してしっかり教育されるか、無知を認められず老害化するかは君次第 0966デフォルトの名無しさん2020/09/15(火) 21:23:52.92ID:gc4PCUOV
何わろてんねん
「関数型はI/Oが苦手」
「関数型ではカプセル化できない」
と思っちゃってる個人の感想だよね
0968デフォルトの名無しさん2020/09/15(火) 22:08:43.90ID:X8qAKmym
次の世代は関数型OSだろな。
>>968
いつまでに関数型OSが実用的に利用できると思う?
100年以内にでると言い切れる自信ないでしょ?w 現実世界は副作用の塊なんだよ
関数型は現実問題を解決するには不向き
手続き型やOOPの力によって現実問題とうまく切り離された僅かな隙間であるインメモリ計算処理をうまくこなすことができる
関数型とはただそれだけの存在だ
数学の世界では無限という数値だって扱えるんです
しかしコンピュータでは扱えません
0972デフォルトの名無しさん2020/09/16(水) 00:11:09.88ID:XXyygoNj
インメモリ計算処理www
なんで理解できてないことをあたかも理解してるかのように語りたがるのかな?
知らない書けない理解してない無知な自分を認めたくないからって"あっちの水は苦い"と喧伝して自分を慰めても何にもならないぞ
0974デフォルトの名無しさん2020/09/16(水) 00:47:40.07ID:XXyygoNj
ここにいるhaskellerはレベル低そう
0975デフォルトの名無しさん2020/09/16(水) 00:48:27.03ID:XXyygoNj
悔しかったらOS実装してみろ
C言語ならできるぞ手続き型に負けて悔しくないのか
お前が実装したわけじゃあるまいしw
Windows はオブジェクト指向OS
>>973
ん〜この中身の空っぽなレス
悔しかったら関数型で俺が上げた弱点をどう克服するのか示してみろよ
まあ理解してないことをあたかも理解してるように語る奴には克服方法なんて答えられんだろうけどw え?オブジェクト指向言語で解決できてる問題があると言っている?
恐怖を感じるほどのバカだな
0979デフォルトの名無しさん2020/09/16(水) 01:01:49.28ID:XXyygoNj
0981デフォルトの名無しさん2020/09/16(水) 01:08:46.31ID:XXyygoNj
0982デフォルトの名無しさん2020/09/16(水) 01:10:26.55ID:XXyygoNj
0983デフォルトの名無しさん2020/09/16(水) 01:22:52.13ID:XXyygoNj
0986デフォルトの名無しさん2020/09/16(水) 01:31:39.87ID:XXyygoNj
>>984
ソフトウェアコードの構造と言語(クラス名、クラスメソッド、クラス変数)がドメインと一致するようにするという考え方
ドメインは、コンピュータプログラムの対象物のこと 0987デフォルトの名無しさん2020/09/16(水) 01:34:34.58ID:XXyygoNj
>>986
おまえさん、ソフトウエア、あんまり作ったことなさそうだな… 0989デフォルトの名無しさん2020/09/16(水) 01:42:15.93ID:XXyygoNj
>>988
あんまりどころか僕はソフトウェアを何一つ作ったことがないが
プログラムにすごく詳しいんだ、わからないことがあったら聞いてくれ 0990デフォルトの名無しさん2020/09/16(水) 01:43:37.93ID:XXyygoNj
DDDは流行の最先端だから覚えておくと良い
>>989
正直でよろしい。
そしたらY-cominatorを用いた動的計画法の解法についておよび
ラマヌジャンがノートに残したモジュラ関数を応用した超数近似の収束性とカ・マーカー方への応用を
十実装したプログラムにたいして何か知見があったらその痴性をひけらかして演説書いてチョンマゲ
つか、ど素人はすっこんで定年までROMってろよ、ってかんじ >>991
Y-combinator
実装
な。ハート。
しかしオブジェクト指向とかにつて、ホントたまにこういう基地外が湧くのは
宗教的なせいだんだろうか >>991
は、適当に思い付きをかいただけだから、
むきになって検索して気の効いたレス書こうとかしてないで、
いい子だからお薬飲んで、おしっこしてネンネしなさいよ 0994デフォルトの名無しさん2020/09/16(水) 02:50:38.64ID:0ZaEBr0v
おまえら、とりあえず動くものを作ってから雑談しろよ。
天文学者に宇宙行けと言ってるようなもんだろ
優れた頭脳は計算によって世界を知る
ソフトウエアを作れない奴が、カプセル化だ、ゲッターセッターだ継承だ多態だ
薀蓄たれて開発者を惑わすのはやめる
足引っ張るだけだ
10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 48日 15時間 47分 4秒
10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php