■危険性
かつて偏差値の低い学校向けの情報処理系教科書において「カプセル化は大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心とした「インターネットを作った人たち」は「階層化の有害性(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)
カプセル化は愚かな考え
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
2020/07/29(水) 17:17:58.13ID:u638n5uE812デフォルトの名無しさん
2020/09/02(水) 13:56:40.83ID:6n47TPOy メリットのつもりだけどちっともメリットになってないやつがいるよな
不必要な階層化が明らかにバグ増やしてるやつ
やめとけって
不必要な階層化が明らかにバグ増やしてるやつ
やめとけって
813デフォルトの名無しさん
2020/09/02(水) 14:23:36.56ID:b48j9NlC814デフォルトの名無しさん
2020/09/02(水) 17:14:55.68ID:KTyhBksd C++のこれダサくない?
std::cout << "hello" ;
<<これダサくない?
イキりマンが設計したとしか思えない
std::cout << "hello" ;
<<これダサくない?
イキりマンが設計したとしか思えない
815デフォルトの名無しさん
2020/09/02(水) 17:53:01.12ID:6n47TPOy >>814
俺もクソだと思う
俺もクソだと思う
816デフォルトの名無しさん
2020/09/02(水) 17:57:46.65ID:PicHUi2j 明らかに (hoge)printf の方が使い易い
817デフォルトの名無しさん
2020/09/02(水) 18:23:05.03ID:oyfP4D/d C++でそれ使った事無かったなw
何故かhello worldではそのコードが書かれている事が多いけどw
何故かhello worldではそのコードが書かれている事が多いけどw
818デフォルトの名無しさん
2020/09/02(水) 18:31:49.16ID:X9xcF9vI std::cout << "hello" << std::endl;
819デフォルトの名無しさん
2020/09/02(水) 19:19:30.10ID:9/rkp9iy ダサいけどprintfのセキュリティ的な問題がないから使っておる
820デフォルトの名無しさん
2020/09/02(水) 21:24:37.75ID:Hwtp1D+h821デフォルトの名無しさん
2020/09/02(水) 21:42:32.36ID:/nOWjplL >>809
「オブジェクト指向を妄信する人への揶揄」が「オブジェクト指向に対する愚痴」に見えている可能性
「オブジェクト指向を妄信する人への揶揄」が「オブジェクト指向に対する愚痴」に見えている可能性
822デフォルトの名無しさん
2020/09/02(水) 21:44:17.02ID:vGE3/anR >>821
>「オブジェクト指向を妄信する人への揶揄」が
ならば「チンポがシコシコする」という日本語表現は、文法的に正しいのか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
>「オブジェクト指向を妄信する人への揶揄」が
ならば「チンポがシコシコする」という日本語表現は、文法的に正しいのか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
823デフォルトの名無しさん
2020/09/02(水) 21:46:22.75ID:vGE3/anR824デフォルトの名無しさん
2020/09/02(水) 21:51:21.43ID:C0O9Iab7825デフォルトの名無しさん
2020/09/02(水) 21:51:33.18ID:iHJfSlZg >>811
老害のドカタに使わないという選択肢があると思うか?
選ぶ自由がない環境でしか生きられない上にリアルで相手にされないから5chで愚痴を言い続ける。
低脳低スキルを他者のせいにするメンタリティのやつには何言っても無駄よ。建設的議論にはなりえない。
老害のドカタに使わないという選択肢があると思うか?
選ぶ自由がない環境でしか生きられない上にリアルで相手にされないから5chで愚痴を言い続ける。
低脳低スキルを他者のせいにするメンタリティのやつには何言っても無駄よ。建設的議論にはなりえない。
826デフォルトの名無しさん
2020/09/02(水) 22:01:00.56ID:vGE3/anR >>810
「チンポがシコシコする」という日本語は、何かオカシイか?
「チンポがシコシコする」という日本語は、何かオカシイか?
827デフォルトの名無しさん
2020/09/03(木) 00:55:17.34ID:oPPXaQOW828デフォルトの名無しさん
2020/09/03(木) 01:19:00.75ID:UIrbSeQG 藻前ラ、モチツケ
https://i.imgur.com/2QRRE2u.jpg
https://i.imgur.com/2QRRE2u.jpg
829デフォルトの名無しさん
2020/09/03(木) 11:50:45.09ID:DK3Ul6vK 誰?
タイトルは?
タイトルは?
830デフォルトの名無しさん
2020/09/03(木) 12:14:39.09ID:HRrMH9TX >>829
必死だな(藁
必死だな(藁
831デフォルトの名無しさん
2020/09/03(木) 14:28:11.70ID:GKTly5Nv SubjectとObjectの違い
832デフォルトの名無しさん
2020/09/03(木) 17:30:23.79ID:9nAKzDdi 結局これ人間性の問題なのよ。
カプセル化を容認するような人間は、犯罪も容認するし、なにも守れない。
カプセル化を容認するような人間は、犯罪も容認するし、なにも守れない。
833デフォルトの名無しさん
2020/09/03(木) 17:31:02.51ID:ZSeh1kM5 >>814
それがかっこよかったんだよ。
それがかっこよかったんだよ。
834デフォルトの名無しさん
2020/09/03(木) 17:31:54.36ID:ZSeh1kM5 型安全なprintfですんだ話し
835デフォルトの名無しさん
2020/09/03(木) 18:52:57.27ID:D+Mzdye0 僕はオチンチニストです
836デフォルトの名無しさん
2020/09/03(木) 21:35:19.31ID:9nAKzDdi オポンティーヌと言えば、あわしろいくやを連想してしまうな。
837デフォルトの名無しさん
2020/09/03(木) 23:15:25.43ID:/DfmFXGp オブジェクト指向否定する前に小学校の国語からやりなおせカス
838デフォルトの名無しさん
2020/09/03(木) 23:26:55.29ID:s/nu4dlU >>837
オブジェクト指向は俺の股間に付いているからな!
オブジェクト指向は俺の股間に付いているからな!
839デフォルトの名無しさん
2020/09/03(木) 23:44:41.85ID:HRrMH9TX ズンドコベロンチョは至高!
ズンドコベロンチョ否定する前に小学校の国語からやりなおせカス
何にでも使える。
ズンドコベロンチョ否定する前に小学校の国語からやりなおせカス
何にでも使える。
840デフォルトの名無しさん
2020/09/04(金) 01:10:13.14ID:gbrpP/bR841デフォルトの名無しさん
2020/09/04(金) 17:25:27.12ID:i4uc+bjy オブジェクト指向は設計を間違えるときついことが起こる。
C++みたいな純ではないのはその辺り、コードがわかりにくくなるだけでなんとか対応できる。
C++みたいな純ではないのはその辺り、コードがわかりにくくなるだけでなんとか対応できる。
842デフォルトの名無しさん
2020/09/04(金) 17:52:24.10ID:/hJPKHew 関数型言語は設計を間違えるときついことが起こる。
そして正しい設計の話は一切でない
ボタンを作るにはどうすればいいんだ?
そして正しい設計の話は一切でない
ボタンを作るにはどうすればいいんだ?
843デフォルトの名無しさん
2020/09/04(金) 18:14:27.54ID:0wfgbo8M844デフォルトの名無しさん
2020/09/04(金) 18:23:09.61ID:zzSWw99B >>839
「ズンドコベロンチョ」は、俺の股間に付いている!
「ズンドコベロンチョ」は、俺の股間に付いている!
845デフォルトの名無しさん
2020/09/04(金) 18:26:08.59ID:/hJPKHew846デフォルトの名無しさん
2020/09/04(金) 18:27:32.23ID:0wfgbo8M >>845
関数型言語ではオブジェクト指向の機能を使います
関数型言語ではオブジェクト指向の機能を使います
847デフォルトの名無しさん
2020/09/04(金) 18:33:51.31ID:/hJPKHew >>846
単に「オブジェクト指向の機能を使います」で十分でしょw
単に「オブジェクト指向の機能を使います」で十分でしょw
848デフォルトの名無しさん
2020/09/04(金) 18:35:52.20ID:0wfgbo8M >>847
何の話ですか?
何の話ですか?
849デフォルトの名無しさん
2020/09/04(金) 18:37:23.97ID:/hJPKHew >>848
どの言語でもオブジェクト指向を使うという話です。
どの言語でもオブジェクト指向を使うという話です。
850デフォルトの名無しさん
2020/09/04(金) 18:39:00.61ID:0wfgbo8M >>849
つまり関数型言語ではオブジェクト指向の機能を使うってことですね
つまり関数型言語ではオブジェクト指向の機能を使うってことですね
851デフォルトの名無しさん
2020/09/04(金) 18:40:16.94ID:0wfgbo8M 関数型言語は「どの言語」に含まれます
852デフォルトの名無しさん
2020/09/04(金) 18:41:18.57ID:0wfgbo8M > ボタンを作るにはどうすればいいんだ?
関数型言語だからといって悩む必要などないのです
ボタンはnew Buttonで作れます
関数型言語だからといって悩む必要などないのです
ボタンはnew Buttonで作れます
853デフォルトの名無しさん
2020/09/04(金) 18:42:55.29ID:67e8l95x854デフォルトの名無しさん
2020/09/04(金) 18:43:21.23ID:67e8l95x >>852
さっきも書いたように、それはオブジェクト指向の機能です。
さっきも書いたように、それはオブジェクト指向の機能です。
855デフォルトの名無しさん
2020/09/04(金) 18:44:27.17ID:67e8l95x F#はオブジェクト指向言語+関数型言語
オブジェクト指向言語に関数型を取り入れた言語なんです。
純粋な関数型ではないんです。
オブジェクト指向言語に関数型を取り入れた言語なんです。
純粋な関数型ではないんです。
856デフォルトの名無しさん
2020/09/04(金) 18:46:57.81ID:0wfgbo8M >>853
ボタンの機能にはGUI Toolkitが必要です
HaskellでGtkを使う例
https://www.stackbuilders.com/tutorials/haskell/gui-application/
ボタンの機能にはGUI Toolkitが必要です
HaskellでGtkを使う例
https://www.stackbuilders.com/tutorials/haskell/gui-application/
857デフォルトの名無しさん
2020/09/04(金) 18:48:03.77ID:0wfgbo8M >>854
関数型言語ではオブジェクト指向の機能を使います
関数型言語ではオブジェクト指向の機能を使います
858デフォルトの名無しさん
2020/09/04(金) 18:52:10.66ID:67e8l95x 結局の所、有用なものはすべてオブジェクト指向なんです。
859デフォルトの名無しさん
2020/09/04(金) 18:55:33.07ID:0wfgbo8M 関数型言語も有用なのでオブジェクト指向と言って良いでしょう
860デフォルトの名無しさん
2020/09/04(金) 18:57:15.82ID:0wfgbo8M オブジェクト指向関数型言語を省略したものが関数型言語なのでしょうね
オブジェクトを作れない、オブジェクトを操作できない関数型言語は存在しません
オブジェクトを作れない、オブジェクトを操作できない関数型言語は存在しません
861デフォルトの名無しさん
2020/09/04(金) 19:44:45.33ID:0q9nxY6X >>849
オブジェクト指向は俺の股間に付いている!
オブジェクト指向は俺の股間に付いている!
862デフォルトの名無しさん
2020/09/04(金) 22:01:21.46ID:7/5Xc9M6 >>657
どうにかして、そのパンティーに俺のおちんちんを突っ込みたい。
どうにかして、そのパンティーに俺のおちんちんを突っ込みたい。
863デフォルトの名無しさん
2020/09/05(土) 01:24:48.25ID:Tue1Ajzg864デフォルトの名無しさん
2020/09/05(土) 02:33:11.09ID:7d8HPhGj それも有用なのでオブジェクト指向と言って良いでしょう
結局、都合の良いことはすべてオブジェクト指向なんです
結局、都合の良いことはすべてオブジェクト指向なんです
865デフォルトの名無しさん
2020/09/05(土) 02:35:09.52ID:Rig+HVkc オブジェクト指向の考え方が現れる以前も
有用なものは実はオブジェクト指向を使っていたんです
有用なものは実はオブジェクト指向を使っていたんです
866デフォルトの名無しさん
2020/09/05(土) 02:36:47.70ID:yxLRF7gq そもそも関数型はオブジェクト指向の考え方から生まれた概念だったんです
867デフォルトの名無しさん
2020/09/05(土) 02:39:27.42ID:LysGX1WG >>865
さすがあなたは分かっていらっしゃる
信じるものは救われる かも
ザーメン
さすがあなたは分かっていらっしゃる
信じるものは救われる かも
ザーメン
868デフォルトの名無しさん
2020/09/05(土) 02:43:18.04ID:8p8cEJTs それは真理に対する冒涜です
オブジェクト指向は幻想だったのです
オブジェクト指向は幻想だったのです
869デフォルトの名無しさん
2020/09/05(土) 02:44:53.71ID:Z6T2tUbK 都市伝説、インチキ、ナンチャッテ工学モドキだったのです
でも、それを言っちゃー、お仕舞よ
でも、それを言っちゃー、お仕舞よ
870デフォルトの名無しさん
2020/09/05(土) 02:58:46.45ID:reBScYEy871デフォルトの名無しさん
2020/09/05(土) 03:04:42.31ID:reBScYEy https://www.youtube.com/watch?v=K-JtRGYbC8w&feature=youtu.be
872デフォルトの名無しさん
2020/09/05(土) 09:07:55.71ID:D1vNohy2 >>854
オシッコする時は制御型、勃起する時は自律型。
オシッコする時は制御型、勃起する時は自律型。
873デフォルトの名無しさん
2020/09/05(土) 10:44:21.72ID:pH42N7I+874デフォルトの名無しさん
2020/09/05(土) 11:09:12.76ID:8SDdoWCb875デフォルトの名無しさん
2020/09/05(土) 11:40:32.92ID:HNHK9ynw SICPの思想ってダサいんですね
876デフォルトの名無しさん
2020/09/05(土) 14:30:58.08ID:OV3VFUME なんでマキマはパワー殺したんや?
パワーちゃんを返せ!!(´;ω;`)ブワッ
パワーちゃんを返せ!!(´;ω;`)ブワッ
877デフォルトの名無しさん
2020/09/06(日) 00:18:58.13ID:EHj/0lhS 結局の所クローズドソース、外部ライブラリ全否定でしかないな
OS、ドライバ、アプリすべてを自分で作れが結論になってしまう歪んだ主張
OS、ドライバ、アプリすべてを自分で作れが結論になってしまう歪んだ主張
878デフォルトの名無しさん
2020/09/06(日) 02:07:24.98ID:cRkvTnxS 状態を持つかどうか
879デフォルトの名無しさん
2020/09/06(日) 04:06:37.81ID:YGBdC9vb 関数型で、状態を持たせなければいい!じゃなくて
関数型で状態をどうやってもたせるかって話をしてくれ
状態っていうのはなくすのは不可能なものなんだ
関数型で状態をどうやってもたせるかって話をしてくれ
状態っていうのはなくすのは不可能なものなんだ
880デフォルトの名無しさん
2020/09/06(日) 05:18:42.56ID:SNogxihD >>879
レコード作るだけじゃん
レコード作るだけじゃん
881デフォルトの名無しさん
2020/09/06(日) 05:53:21.72ID:YGBdC9vb >>880
関数型言語一般の用語で言ってくれませんか?
関数型言語一般の用語で言ってくれませんか?
882デフォルトの名無しさん
2020/09/06(日) 06:01:14.89ID:SNogxihD >>881
ググってみ
ググってみ
883デフォルトの名無しさん
2020/09/06(日) 07:07:15.01ID:YGBdC9vb ググったけど、F#専用の用語だった
884デフォルトの名無しさん
2020/09/06(日) 10:33:46.44ID:SNogxihD ハスケルでも使うわハゲ
885デフォルトの名無しさん
2020/09/06(日) 10:36:37.41ID:SNogxihD 関数型にわかのうえに検索力も無い
関数型に憧れてるだけのアホ
関数型に憧れてるだけのアホ
886デフォルトの名無しさん
2020/09/06(日) 10:42:40.26ID:JCtY/Fts 関数型言語の「関数型」は
関数を変数として扱える=関数型という変数の型を持っている
ということを表していて、
関数型言語を単純に定義すれば、関数型を持っている言語
ということでいいの?
関数を変数として扱える=関数型という変数の型を持っている
ということを表していて、
関数型言語を単純に定義すれば、関数型を持っている言語
ということでいいの?
887デフォルトの名無しさん
2020/09/06(日) 11:03:01.77ID:5MBR0P77 参照透過性があってメモ化が可能で状態の無いピュアな関数だけだから関数型だ
888デフォルトの名無しさん
2020/09/06(日) 11:18:28.00ID:JCtY/Fts >>887
それは関数型言語ないしは関数型言語によるプログラミングの理想形であって
関数型の定義というか要件ではないように思える
定義、要件、理想、本質、それによってもたらされた機能…
そういうのがごちゃ混ぜになって話がまとまらなくなってる気がする
それは関数型言語ないしは関数型言語によるプログラミングの理想形であって
関数型の定義というか要件ではないように思える
定義、要件、理想、本質、それによってもたらされた機能…
そういうのがごちゃ混ぜになって話がまとまらなくなってる気がする
889デフォルトの名無しさん
2020/09/06(日) 11:57:32.78ID:SNogxihD890デフォルトの名無しさん
2020/09/06(日) 12:21:24.89ID:gGwX7R3F >>880
レコードってタプルやコレクションと同列のただのデータ型じゃね?
レコードってタプルやコレクションと同列のただのデータ型じゃね?
891デフォルトの名無しさん
2020/09/06(日) 12:25:15.66ID:nDvuYYqI 関数型プログラミングがわからない、
でも勉強したくないし、チュートリアル数ページすら読まない
こういう輩を相手に何言っても無駄
理解出来ないだけでなく、理解しようという気がないから
でも勉強したくないし、チュートリアル数ページすら読まない
こういう輩を相手に何言っても無駄
理解出来ないだけでなく、理解しようという気がないから
892デフォルトの名無しさん
2020/09/06(日) 12:28:26.25ID:SNogxihD >>890
C言語でいうところの構造体だね
C言語でいうところの構造体だね
893デフォルトの名無しさん
2020/09/06(日) 12:32:39.91ID:n2EZq4Ad privateがなくてpublicしかない構造体
内部データを持てない構造体
内部データを持てない構造体
894デフォルトの名無しさん
2020/09/06(日) 12:46:56.99ID:gGwX7R3F >>892
じゃあレコードでなければならない理由はないんだよな。
じゃあレコードでなければならない理由はないんだよな。
895デフォルトの名無しさん
2020/09/06(日) 12:58:13.53ID:SNogxihD >>894
なにが?
なにが?
896デフォルトの名無しさん
2020/09/06(日) 13:03:09.55ID:gGwX7R3F >>880が。
898デフォルトの名無しさん
2020/09/06(日) 13:23:08.96ID:cRkvTnxS 関数へのポインタが使えるCは関数型言語
899デフォルトの名無しさん
2020/09/06(日) 13:36:39.46ID:F+CgsiXq ポインタ含む参照型がある言語は関数型ではない
関数型は参照型禁止、値型しか無い
関数型は参照型禁止、値型しか無い
900デフォルトの名無しさん
2020/09/06(日) 13:40:27.64ID:gGwX7R3F901デフォルトの名無しさん
2020/09/06(日) 13:43:40.01ID:SNogxihD 状態が不変なら参照型も値型も扱い方は同じ
値のコピーを取る値型よりも参照型の方が効率的
値のコピーを取る値型よりも参照型の方が効率的
903デフォルトの名無しさん
2020/09/06(日) 14:03:17.00ID:NTBgE1bF 関数型で状態管理するのは別にそんな複雑な話でもなくて、状態を戻り値にした関数作るだけだぞ。
コネクション管理だったりreduxの作りだったりで見かけたりはする。
別にいいとも悪いとも思わんが。
コネクション管理だったりreduxの作りだったりで見かけたりはする。
別にいいとも悪いとも思わんが。
904デフォルトの名無しさん
2020/09/06(日) 14:05:16.32ID:rO2fthBs 問題はその状態がpublicだから誰でも見れちゃうという所
905デフォルトの名無しさん
2020/09/06(日) 14:08:22.94ID:NTBgE1bF >>904
いやそれがパブリックかどうかを気にするようなスコープで使ってることのが問題
いやそれがパブリックかどうかを気にするようなスコープで使ってることのが問題
906デフォルトの名無しさん
2020/09/06(日) 14:09:37.52ID:gGwX7R3F907デフォルトの名無しさん
2020/09/06(日) 14:16:55.47ID:SNogxihD908デフォルトの名無しさん
2020/09/06(日) 14:33:58.57ID:gGwX7R3F >>880で作るといっていた「レコード」がレコード型の値のことでなければ何だったんだろうか。
まさかレコード型の方か?
まさかレコード型の方か?
909デフォルトの名無しさん
2020/09/06(日) 14:36:14.18ID:SNogxihD >>908
レコードを作ると言ってるんだからレコードのことに決まってます
レコードを作ると言ってるんだからレコードのことに決まってます
910デフォルトの名無しさん
2020/09/06(日) 14:38:21.85ID:SNogxihD マリオ「ドラキュラはにんにくが嫌いだ」
ルイージ「にんにくは野菜だからドラキュラはにんにくという野菜が嫌いなんだ」
ルイージ「ドラキュラは野菜が嫌いだとマリオが言っていたので
僕はとっておきのにんじんをドラキュラに投げつけてやるんです」
ルイージ「にんにくは野菜だからドラキュラはにんにくという野菜が嫌いなんだ」
ルイージ「ドラキュラは野菜が嫌いだとマリオが言っていたので
僕はとっておきのにんじんをドラキュラに投げつけてやるんです」
911デフォルトの名無しさん
2020/09/06(日) 14:54:38.53ID:gGwX7R3F 値でも型でもない「レコード」というと、はて…?
まさかデータベースとか円盤とかではあるまいが。
まさかデータベースとか円盤とかではあるまいが。
レス数が900を超えています。1000を超えると表示できなくなるよ。
