■危険性
かつて偏差値の低い学校向けの情報処理系教科書において「カプセル化は大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心とした「インターネットを作った人たち」は「階層化の有害性(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)
探検
カプセル化は愚かな考え
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2020/07/29(水) 17:17:58.13ID:u638n5uE2020/07/29(水) 17:19:08.69ID:u638n5uE
■ 実例
XNA(MonoGame)では標準で3Dモデルを手軽に扱えるModelクラスが用意されている。 1行で読み込み、1行で描画できる素晴らしいものだ。
ただしこのModelクラスを使うと頂点データは遮蔽されておりアクセスできない。 物理演算エンジンに食わせるのにどうしても頂点データが必要なのにだ。
世界中の誰もが同じ問題で悩んでいるようでstackoverflowに回避策が書いてあった。内部でGPUへ送信したときに使用したGPUにアクセスする関数ポインタは公開されているのでGetData関数でそのまま返してもらうトリッキーなコードでめでたく回避できた。
しかし、時は流れこの方法では動かない環境が登場した。iOSやAndroidだ。こいつらが採用するOpenGL ESはGPUとの通信が一方通行だ。そこで事前に3Dモデルから頂点データを抜き出し別ファイルに保存しておくという一段とトリッキーな方法で回避する。みごと1モデルのファイルが2個になりました。
さらに時は流れた。あるとき謎の不具合が発生。連日連夜のデバッグ作業。原因は片方のファイルの更新を忘れていただけでした。
カプセル化は恐ろしいね!!
https://github.com/MonoGame/MonoGame/blob/develop/MonoGame.Framework/Graphics/Model.cs
XNA(MonoGame)では標準で3Dモデルを手軽に扱えるModelクラスが用意されている。 1行で読み込み、1行で描画できる素晴らしいものだ。
ただしこのModelクラスを使うと頂点データは遮蔽されておりアクセスできない。 物理演算エンジンに食わせるのにどうしても頂点データが必要なのにだ。
世界中の誰もが同じ問題で悩んでいるようでstackoverflowに回避策が書いてあった。内部でGPUへ送信したときに使用したGPUにアクセスする関数ポインタは公開されているのでGetData関数でそのまま返してもらうトリッキーなコードでめでたく回避できた。
しかし、時は流れこの方法では動かない環境が登場した。iOSやAndroidだ。こいつらが採用するOpenGL ESはGPUとの通信が一方通行だ。そこで事前に3Dモデルから頂点データを抜き出し別ファイルに保存しておくという一段とトリッキーな方法で回避する。みごと1モデルのファイルが2個になりました。
さらに時は流れた。あるとき謎の不具合が発生。連日連夜のデバッグ作業。原因は片方のファイルの更新を忘れていただけでした。
カプセル化は恐ろしいね!!
https://github.com/MonoGame/MonoGame/blob/develop/MonoGame.Framework/Graphics/Model.cs
2020/07/29(水) 17:20:04.13ID:u638n5uE
そもそも>>1-2はテスト以前の問題です。
カプセル化■プライベートメソッドをテストする方法
https://mevius.5ch.net/test/read.cgi/tech/1593949666/
カプセル化■プライベートメソッドをテストする方法
https://mevius.5ch.net/test/read.cgi/tech/1593949666/
4デフォルトの名無しさん
2020/07/29(水) 17:21:10.32ID:g7QDPcv8 仕様変更
それは雲の上で決まったことなので底辺社畜のITドカタにはどうすることもできない。
意見を言おうにも雲の上にいる奴らの顔すら知らない。
それこそが階層化で起きることだ。
オブジェクト指向云々ではない。
それは雲の上で決まったことなので底辺社畜のITドカタにはどうすることもできない。
意見を言おうにも雲の上にいる奴らの顔すら知らない。
それこそが階層化で起きることだ。
オブジェクト指向云々ではない。
2020/07/29(水) 17:21:26.28ID:uKNn2k3N
シンプルなほうが解読しやすいよね
散逸して現物しか残ってない場合とか特に
散逸して現物しか残ってない場合とか特に
2020/07/29(水) 17:21:57.79ID:Oydw6pfn
データベースに出し入れするだけの業務システムなんかは問題ない。
データベース上のデータなんてグローバル変数となんら変わらない。
クラスは構造体としてしか使わないから深い階層化も起きないし。
データベース上のデータなんてグローバル変数となんら変わらない。
クラスは構造体としてしか使わないから深い階層化も起きないし。
2020/07/29(水) 17:22:26.03ID:E8y/GFz4
>>1
C++が流行りだしたころに、これ言ったら変な目で見られたわ。
設計能力と未来を見通す能力がある人限定なんだよ。
大人数だと低い方に合わされるから、大人数プロジェクトには不向き。優秀な少数精鋭プロジェクトなら良いんだけどね。
C++が流行りだしたころに、これ言ったら変な目で見られたわ。
設計能力と未来を見通す能力がある人限定なんだよ。
大人数だと低い方に合わされるから、大人数プロジェクトには不向き。優秀な少数精鋭プロジェクトなら良いんだけどね。
2020/07/29(水) 17:22:44.93ID:QLZrrI/I
日本の場合はカプセル化されてようがいまいが基底クラスなんて弄ったら再テストしなきゃいけないから
同じ機能を持ったクラスを作るので意味が無い
同じ機能を持ったクラスを作るので意味が無い
2020/07/29(水) 17:23:04.24ID:1J9bjWQ3
昔作ったクラスを継承したり再利用したりなんて殆どない
データと関数数個だけで済むものを
無駄にクラス化して
ヘッダと実装にわけて無駄にコード追いにくくするのはあかん
データと関数数個だけで済むものを
無駄にクラス化して
ヘッダと実装にわけて無駄にコード追いにくくするのはあかん
2020/07/29(水) 17:23:37.53ID:1YfzsCBy
2020/07/29(水) 17:24:14.15ID:cI0GVoM3
2020/07/29(水) 17:24:30.77ID:vg7Z3zSa
内部に状態を持つな
2020/07/29(水) 17:24:41.28ID:69CvhnsQ
オブジェクト指向で設計やるとしばしば手段が目的化してしまって不必要に複雑化する
2020/07/29(水) 17:25:11.25ID:GP5fGhio
想像を絶する馬鹿が想像を絶するカプセル化をしてしまうんだよなあ……
2020/07/29(水) 17:25:39.61ID:J53vwtRf
2020/07/29(水) 17:27:31.45ID:27/LTGZ1
>>15
XNAというマイクロソフトの天才たちが推し進めたプロジェクトでも失敗しているという事例だし、凡人だったらもっと悲惨なことになる。
XNAというマイクロソフトの天才たちが推し進めたプロジェクトでも失敗しているという事例だし、凡人だったらもっと悲惨なことになる。
2020/07/29(水) 17:28:38.45ID:Vqlry5vz
おっそろしーなぁ
18デフォルトの名無しさん
2020/07/29(水) 17:28:52.07ID:uvei7tHN オブジェクト思考って何?
誰か説明して
誰か説明して
2020/07/29(水) 17:29:11.35ID:VfBPeHSy
オブジェクト原理主義者のコードを引き継ぐ事になった時の絶望感は異常
2020/07/29(水) 17:29:25.85ID:zsp+8xMC
「カプセル化は悪」「カプセル化はオブジェクト指向ではない」というのがやっと広まりだした。
2020/07/29(水) 17:29:41.38ID:zsp+8xMC
ようするに「仕様変更の恐ろしさは異常」
2020/07/29(水) 17:29:50.61ID:zsp+8xMC
未来予測できるが勝負所
2020/07/29(水) 17:30:12.05ID:i3uBuM+c
カプセル化は隠蔽体質ってことですね
2020/07/29(水) 17:30:38.36ID:pqaZ9+7I
>>15
XNA作ったマイクロソフトの超エリートたちですら設計ミスをするくらいオブジェクト指向は難しい。
XNA作ったマイクロソフトの超エリートたちですら設計ミスをするくらいオブジェクト指向は難しい。
2020/07/29(水) 17:31:42.76ID:fVVDTdgK
組み込みだと細分化し過ぎるんじゃね?
業務システムで細分化することはまずない。
業務システムで細分化することはまずない。
2020/07/29(水) 17:32:08.32ID:IWquYLz9
業務システムだとDBいじくるだけだから深い階層構造に関わることはまずないだろ。
DBというグローバル変数をクラスという名の構造体にコピーして、編集して、書き戻すという単純作業の繰り返し。
DBというグローバル変数をクラスという名の構造体にコピーして、編集して、書き戻すという単純作業の繰り返し。
2020/07/29(水) 17:32:50.34ID:a9P4jhh/
結論:privateにしたら、必ずgetterを用意しておきましょう。
2020/07/29(水) 17:33:09.46ID:FJzf6su8
小規模なら問題ない
2020/07/29(水) 17:33:58.47ID:I4F+YKTC
今一番勢いのある言語であるPythonは完全なプライベートじゃ無いんだよな
2020/07/29(水) 17:35:05.46ID:futNIK+y
RFC 3439では、インターネット構造に関して第3章の序文に"Layering Considered Harmful (階層化の有害性)"と題された節が有り、
「階層化」という考え方が概念的および構造的にさまざまな利点を持っているが、
実装面では層単位で同じような最適化が繰り返し発生することによる無駄な処理により効率的な実装を阻害し、複雑化を招くことがあり、
また低層部分のみに存在するデータにアクセスできない場面が発生するなど、
インターネット・プロトコルの目指す「単純化」という原則に反する
https://ja.m.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:UDP_encapsulation.svg
「階層化」という考え方が概念的および構造的にさまざまな利点を持っているが、
実装面では層単位で同じような最適化が繰り返し発生することによる無駄な処理により効率的な実装を阻害し、複雑化を招くことがあり、
また低層部分のみに存在するデータにアクセスできない場面が発生するなど、
インターネット・プロトコルの目指す「単純化」という原則に反する
https://ja.m.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:UDP_encapsulation.svg
2020/07/29(水) 17:36:12.77ID:B9GAbJCb
メソッド全部staticにしてみろ
大半の問題が解決する
大半の問題が解決する
2020/07/29(水) 17:37:47.33ID:JqP21Wkx
> オブジェクト指向の発案者であるアラン・ケイもコーディング規約
> (頭文字にアンダースコアを付けるなどの命名規則)で縛る程度にすることを推奨しており、
それがprivateでは?
> (頭文字にアンダースコアを付けるなどの命名規則)で縛る程度にすることを推奨しており、
それがprivateでは?
2020/07/29(水) 23:07:46.03ID:mVFqEUCw
>>32
名前でprivate感を出すだけにしておくって話だと
名前でprivate感を出すだけにしておくって話だと
2020/07/30(木) 03:10:51.58ID:oWxKF5YB
>>33
それはprivateと何が違うの?
それはprivateと何が違うの?
2020/07/30(木) 09:06:15.43ID:aMAEXQwY
カプセル化が悪いというより、カプセル化にこだわる奴が不適切なカプセル化を認めないところが問題。
2020/07/30(木) 12:31:37.82ID:9/rdfAc6
不適切なカプセル化とは?
アランケイも言っていた、privateはアンダースコアをつけるだけでいいと
つまりprivateでもアクセス可能にしておくのが良いということで
privateでもアクセスしていいということ
ならprivateにアクセスする手段がある言語であれば
アランケイの名前で明示するやり方よりも良い手段であるということだよ。
アランケイも言っていた、privateはアンダースコアをつけるだけでいいと
つまりprivateでもアクセス可能にしておくのが良いということで
privateでもアクセスしていいということ
ならprivateにアクセスする手段がある言語であれば
アランケイの名前で明示するやり方よりも良い手段であるということだよ。
2020/07/30(木) 14:37:49.17ID:xP/66ZtT
>>36
pythonがこれなんだっけか
pythonがこれなんだっけか
2020/07/30(木) 15:15:07.17ID:vOSCVC8M
>>2
それをラップするモデルを作るんだよ。場当たり的な対応をするからそんなことになる。
それをラップするモデルを作るんだよ。場当たり的な対応をするからそんなことになる。
39デフォルトの名無しさん
2020/07/30(木) 18:15:34.88ID:5sWEm17U2020/07/30(木) 20:00:50.45ID:DFjeaZjZ
>>37
実例たのむ
実例たのむ
41デフォルトの名無しさん
2020/07/30(木) 23:26:02.54ID:2DU34DEY2020/07/31(金) 00:07:26.39ID:erqiTFyu
結局の所、privateはあってもいいけど
呼び出したらエラーになるんじゃなくて
ワーニングレベルで良かったって話よね?
テストコード以外から呼んだらワーニングにすればよかった。
そういう言語があると良いね。
呼び出したらエラーになるんじゃなくて
ワーニングレベルで良かったって話よね?
テストコード以外から呼んだらワーニングにすればよかった。
そういう言語があると良いね。
43デフォルトの名無しさん
2020/07/31(金) 00:28:49.58ID:yu65eNBx キミ戦争を英語で何て言う?
え?ウォー?
warをウォーって読むのになんでwarnはワーンって読むのwwwウワーンってかwwww
バカじゃないのwwwww
え?ウォー?
warをウォーって読むのになんでwarnはワーンって読むのwwwウワーンってかwwww
バカじゃないのwwwww
2020/07/31(金) 07:42:46.79ID:0J+iX777
ばかはどんな言語機能を用意しても糞な変更したり、普通の変更がしずらい構造にしたりするんだから無意味。
言語機能の問題じゃない。
言語機能の問題じゃない。
2020/07/31(金) 09:29:19.53ID:NLy05HSt
>>44
バカの問題と技術の問題は分けて考えましょう
バカの問題と技術の問題は分けて考えましょう
2020/07/31(金) 09:40:25.98ID:ZHQKI64e
>>39
捨てられるデーターを保持しといて、それをカプセル化したらいいんではないの?
捨てられるデーターを保持しといて、それをカプセル化したらいいんではないの?
2020/07/31(金) 09:41:42.18ID:ZHQKI64e
リファクタリングで困りますよ
2020/07/31(金) 12:51:05.01ID:0J+iX777
>>45
いつでも簡単に分けられると思ってるのはバカですね。
いつでも簡単に分けられると思ってるのはバカですね。
2020/07/31(金) 15:37:48.30ID:KVBY0ZED
>>43
Rの発音はカタカナ表記できないから一概にどちらが正しいというものでもない
warのrの発音を無理やり表記するとウォァに近くこれを縮めてワーにしてるだけ
warningもウォーニングよりもゥォアーニングやゥワーニングのほうが実際の発音に近い
ワープやワランティも同じで日本語カタカナ表記として定着してる
「ワープww バカじゃないのw ウォープだろwww」って書いてるやつ見たら痛いよね?
Rの発音はカタカナ表記できないから一概にどちらが正しいというものでもない
warのrの発音を無理やり表記するとウォァに近くこれを縮めてワーにしてるだけ
warningもウォーニングよりもゥォアーニングやゥワーニングのほうが実際の発音に近い
ワープやワランティも同じで日本語カタカナ表記として定着してる
「ワープww バカじゃないのw ウォープだろwww」って書いてるやつ見たら痛いよね?
2020/07/31(金) 17:06:17.60ID:k/mzlDiC
2020/07/31(金) 18:59:54.64ID:XB3+uQxn
>>43みたいなバカって義務教育終えてないんじゃないの
52デフォルトの名無しさん
2020/07/31(金) 19:05:26.84ID:Q7hjdc7P >>49
英語音痴が恥の上塗りで口から出任せ乙www
warnの発音調べてみろよw
会社でそんな恥ずかしい低学歴芸披露して恥かかないようになw
You were warned(警告はした)wwwww
わーんwwwわーんどwwwwわーにんぐwwwwwハラ痛いwwwwww
英語音痴が恥の上塗りで口から出任せ乙www
warnの発音調べてみろよw
会社でそんな恥ずかしい低学歴芸披露して恥かかないようになw
You were warned(警告はした)wwwww
わーんwwwわーんどwwwwわーにんぐwwwwwハラ痛いwwwwww
2020/07/31(金) 20:44:23.24ID:jclw2i1e
うぉ〜ん
2020/07/31(金) 20:48:02.23ID:4XHNop85
平置きバカが発狂しちゃってんの?
55デフォルトの名無しさん
2020/07/31(金) 21:55:19.86ID:yu65eNBx ワープ
https://ja.m.wikipedia.org/wiki/%E3%83%AF%E3%83%BC%E3%83%97
英語の発音としては、「戦争」の「ウォー」と同じで、カタカナでは「ウォープ」とするのが近いが、日本の初期のSFで「ワープ」と書かれたうえ、『宇宙戦艦ヤマト』で一般にも広く「ワープ」で定着した。
ウォーニング
https://ja.m.wikipedia.org/wiki/%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0
ウィキメディアの曖昧さ回避ページ
ウォーニング(英語: warning、英語発音: ['wɔːɹnɪŋ] )
・警告、警戒
・警報
・訓戒、戒め
・ウォーニング (曲) - グリーン・デイの2000年のシングル曲。
・ウォーニング (アルバム) - グリーン・デイの6thアルバム。
・ウォーニング (競走馬) - イギリスの競走馬。
・WARNING (いしだ壱成の曲) - いしだ壱成の1994年のシングル曲。
・WARNING (アルバム) - mochAのアルバム。
ワーニング
https://mevius.5ch.net/test/read.cgi/tech/1596010678/42
英語の発音としては、「戦争」の「ウォー」と同じで、カタカナでは「ウォーニング」とするのが近いが、日本の低学歴のレスで「ワーニング」と書かれたうえ、恥の上塗りで『warのrの発音を無理やり表記するとウォァに近くこれを縮めてワーにしてるだけ
warningもウォーニングよりもゥォアーニングやゥワーニングのほうが実際の発音に近い』と発音記号も読めない低脳を晒し、同調した低学歴に広く「ワーニング」で定着した。
https://ja.m.wikipedia.org/wiki/%E3%83%AF%E3%83%BC%E3%83%97
英語の発音としては、「戦争」の「ウォー」と同じで、カタカナでは「ウォープ」とするのが近いが、日本の初期のSFで「ワープ」と書かれたうえ、『宇宙戦艦ヤマト』で一般にも広く「ワープ」で定着した。
ウォーニング
https://ja.m.wikipedia.org/wiki/%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0
ウィキメディアの曖昧さ回避ページ
ウォーニング(英語: warning、英語発音: ['wɔːɹnɪŋ] )
・警告、警戒
・警報
・訓戒、戒め
・ウォーニング (曲) - グリーン・デイの2000年のシングル曲。
・ウォーニング (アルバム) - グリーン・デイの6thアルバム。
・ウォーニング (競走馬) - イギリスの競走馬。
・WARNING (いしだ壱成の曲) - いしだ壱成の1994年のシングル曲。
・WARNING (アルバム) - mochAのアルバム。
ワーニング
https://mevius.5ch.net/test/read.cgi/tech/1596010678/42
英語の発音としては、「戦争」の「ウォー」と同じで、カタカナでは「ウォーニング」とするのが近いが、日本の低学歴のレスで「ワーニング」と書かれたうえ、恥の上塗りで『warのrの発音を無理やり表記するとウォァに近くこれを縮めてワーにしてるだけ
warningもウォーニングよりもゥォアーニングやゥワーニングのほうが実際の発音に近い』と発音記号も読めない低脳を晒し、同調した低学歴に広く「ワーニング」で定着した。
2020/07/31(金) 21:58:35.21ID:k/mzlDiC
ビニールテープは間違い
バイニルテープ、バイニル袋が正しい
バイニルテープ、バイニル袋が正しい
2020/07/31(金) 22:46:03.90ID:KVBY0ZED
>>55
カタカナ英語にこだわるのは自分が発音できない裏返し
カタカナに頼ってたらwalking(ウォーキング)とwarning(ウォーニング)のウォーを使い分けられないよ
学歴コンプこじらせるのもほどほどにね
カタカナ英語にこだわるのは自分が発音できない裏返し
カタカナに頼ってたらwalking(ウォーキング)とwarning(ウォーニング)のウォーを使い分けられないよ
学歴コンプこじらせるのもほどほどにね
2020/07/31(金) 23:20:28.75ID:28gnV4mI
カプセル化はいいとして
なんでもかんでもセッターゲッター作るバカの方が痛いわ
なんでもかんでもセッターゲッター作るバカの方が痛いわ
2020/07/31(金) 23:25:53.90ID:gJoK1c/t
セッターゲッターしか駄目な点を指摘できないんだね
2020/07/31(金) 23:41:42.59ID:C75u5On2
セッターとゲッターは存在自体がカプセル化を否定してるよな
カプセルに閉じ込めて入口と出口をイベントに絞ったんじゃねーのかよと
オブジェクト指向の目指すものがよくわからない
はじめの思想はともかく矛盾を承知で次の形態へ変化したと言うならそれでもいいとは思うけどね
ただ、言語作ってる奴さ
どんな設計書からどんなソースを作成したいのか?またそれをどうやってテストするのか?そろそろシームレスに真面目に考えるときじゃね?
最近追加で増える機能に思想を感じない
控えめに言って俺よりバカが便所で思い付いたようなアイデアを検証も無しに追加してる気がする
カプセルに閉じ込めて入口と出口をイベントに絞ったんじゃねーのかよと
オブジェクト指向の目指すものがよくわからない
はじめの思想はともかく矛盾を承知で次の形態へ変化したと言うならそれでもいいとは思うけどね
ただ、言語作ってる奴さ
どんな設計書からどんなソースを作成したいのか?またそれをどうやってテストするのか?そろそろシームレスに真面目に考えるときじゃね?
最近追加で増える機能に思想を感じない
控えめに言って俺よりバカが便所で思い付いたようなアイデアを検証も無しに追加してる気がする
2020/08/01(土) 01:27:20.73ID:lS0R4ljb
カプセル化はデータと処理を分離させないためのものなのに、昔の説明をいまだに信じ込んで、データの参照もメソッド経由でないとカプセル化になっていないと言う30代、40代がいる。オラクル社のJavaの資格でも取り直した方がいい。一部は考え方が誤っていたから、いまは変な理想や思想は教えていない。むしろ、いまでは失敗だったとして否定されている部分も多い。
62デフォルトの名無しさん
2020/08/01(土) 01:27:30.68ID:lS0R4ljb テスト
63デフォルトの名無しさん
2020/08/01(土) 01:39:18.16ID:JfG80/LC 不具合が起こる根本的な要因を理解していないとカプセル化の効果を得る事は出来ないと思う
解らない人はゲッターセッターを使ってやるほうが有る意味おかしくならないからそれはそれで良いと思う
効果が有るようにオブジェクト指向でプログラムするのは難しいから
中途半端にカプセルかするより従来みたいにしているほうが良い
解らない人は無理せずに行制御basicでもやったほうが良いかも
そんな感じ
解らない人はゲッターセッターを使ってやるほうが有る意味おかしくならないからそれはそれで良いと思う
効果が有るようにオブジェクト指向でプログラムするのは難しいから
中途半端にカプセルかするより従来みたいにしているほうが良い
解らない人は無理せずに行制御basicでもやったほうが良いかも
そんな感じ
2020/08/01(土) 02:01:30.20ID:5v4lbbZK
まあ、設計的にはイベントというかメッセージ以外のアクセスを許さないためのカプセル化だろ?
セッターとかゲッターで横紙破りしちゃったらカプセルにならねーじゃん
だからセッターとかゲッター、プロパティまたそれを宛てにした機能全般は初期の思想からは大分ズレてんなと思う
カプセルなってねぇじゃんと
俺自体はpublic、staticメソッドのみが正義なのでカプセル化なんてどうでもいいし意識することもないけど
セッターとかゲッターで横紙破りしちゃったらカプセルにならねーじゃん
だからセッターとかゲッター、プロパティまたそれを宛てにした機能全般は初期の思想からは大分ズレてんなと思う
カプセルなってねぇじゃんと
俺自体はpublic、staticメソッドのみが正義なのでカプセル化なんてどうでもいいし意識することもないけど
65デフォルトの名無しさん
2020/08/01(土) 04:47:59.20ID:hADlV/rS カプセルはまとめるという意味だったのに、中に閉じ飲めるという意味だと誤解したんだよね。
2020/08/01(土) 07:23:51.46ID:tIIJOG0C
>>65
いや、誤解やないやろw
いや、誤解やないやろw
2020/08/01(土) 08:03:35.26ID:1RFWToyV
> セッターとかゲッターで横紙破りしちゃったらカプセルにならねーじゃん
ならねーとまでではないんだろうし
実際教科書ではむしろカプセル化のためにアクセッサ書かせるくらいなんじゃないのかな
でもね、そのアナタの感性はすごくいいと思う
俺もアクセッサ前提の設計はまちがってると思う
カプセル化として間違ってるというより
インタフェースとして型を決めていくのが前提で
内部の実装に引きずられてアクセッサつくっちゃうのは
ホンマまじで脳腐ってると思う
ならねーとまでではないんだろうし
実際教科書ではむしろカプセル化のためにアクセッサ書かせるくらいなんじゃないのかな
でもね、そのアナタの感性はすごくいいと思う
俺もアクセッサ前提の設計はまちがってると思う
カプセル化として間違ってるというより
インタフェースとして型を決めていくのが前提で
内部の実装に引きずられてアクセッサつくっちゃうのは
ホンマまじで脳腐ってると思う
2020/08/01(土) 08:21:19.99ID:Lj3Owie1
まあ、思想的にはそうではあるけど
機能的に書かねぇとそもそも実装できないようなのあるから
ここ今更主張してもしょうがないんだけどね
でも、方向としておかしいのはおかしいのだと思う
機能的に書かねぇとそもそも実装できないようなのあるから
ここ今更主張してもしょうがないんだけどね
でも、方向としておかしいのはおかしいのだと思う
69デフォルトの名無しさん
2020/08/01(土) 09:52:11.60ID:cVk77Hxz >>57
warn
[wˈɔɚn] (米国英語)
[wˈɔːn] (英国英語)
war
[wˈɔɚ] (米国英語)
[wˈɔː] (英国英語)
同じ発音 [ɔ] なのにwarnではア、warではオと使い分けてしまう低学歴www
warn
[wˈɔɚn] (米国英語)
[wˈɔːn] (英国英語)
war
[wˈɔɚ] (米国英語)
[wˈɔː] (英国英語)
同じ発音 [ɔ] なのにwarnではア、warではオと使い分けてしまう低学歴www
2020/08/01(土) 11:12:33.20ID:eqNnh4Zw
>>60
> セッターとゲッターは存在自体がカプセル化を否定してるよな
> カプセルに閉じ込めて入口と出口をイベントに絞ったんじゃねーのかよと
お前が、すべてのprivateフィールドにセッターとゲッターを作り、
そのセッターとゲッターにははただ値を転送するだけにしてるってのはわかった
お前が間違ってる
> セッターとゲッターは存在自体がカプセル化を否定してるよな
> カプセルに閉じ込めて入口と出口をイベントに絞ったんじゃねーのかよと
お前が、すべてのprivateフィールドにセッターとゲッターを作り、
そのセッターとゲッターにははただ値を転送するだけにしてるってのはわかった
お前が間違ってる
2020/08/01(土) 11:13:25.31ID:eqNnh4Zw
2020/08/01(土) 11:56:21.68ID:pnZUr/MU
>>71
あ、いや、そもそも汎用的な出入り口を作っちゃ駄目っしょ
って話
だからどのプロパティがじゃなくて
イベントに対して引数からアクセスさせる以外の方法はそもそもカプセル化じゃないよねってだけ
別に原理主義者出ないのでそれで回らなくなったんじゃない?ってならそれも時代の流れだと思うよ俺は
あ、いや、そもそも汎用的な出入り口を作っちゃ駄目っしょ
って話
だからどのプロパティがじゃなくて
イベントに対して引数からアクセスさせる以外の方法はそもそもカプセル化じゃないよねってだけ
別に原理主義者出ないのでそれで回らなくなったんじゃない?ってならそれも時代の流れだと思うよ俺は
2020/08/01(土) 12:25:27.95ID:biQ1QRTH
医者が出すのは処方箋
薬💊の調合は薬剤師
患者は中身を弄る必要無いってだけ
薬💊の調合は薬剤師
患者は中身を弄る必要無いってだけ
2020/08/01(土) 12:32:19.22ID:6s9LN6+z
>>72
> イベントに対して引数からアクセスさせる以外の方法はそもそもカプセル化じゃないよねってだけ
どういう理屈?w
引数があるメソッドはすべてカプセル化じゃないって言ってるの?
引数があるメソッドは、セッターとゲッターだけじゃないよ
> イベントに対して引数からアクセスさせる以外の方法はそもそもカプセル化じゃないよねってだけ
どういう理屈?w
引数があるメソッドはすべてカプセル化じゃないって言ってるの?
引数があるメソッドは、セッターとゲッターだけじゃないよ
2020/08/01(土) 12:38:28.44ID:6s9LN6+z
クラスの中のすべてのprivateフィールドは間接的に値を代入することが出来る
setFoo(int foo) {
_foo=foo;
}
というセッターはカプセル化じゃないというのなら
setFooBar(int foo, int bar) {
_foo=foo;
_bar=bar;
}
というメソッドであればカプセル化になってるとでも言うつもりだろうか?
それとも名前が行けないとでも言うつもりだろうかね
initialize(int foo, int bar) {
_foo=foo;
_bar=bar;
}
これならOKとか?w
カプセル化の本質がわかってないから、セッターとゲッター(だけ)に問題があると思ってしまっている。
「問題」はそこではなく、その「問題」の影響がなければセッターやゲッターがだめな理由はない
setFoo(int foo) {
_foo=foo;
}
というセッターはカプセル化じゃないというのなら
setFooBar(int foo, int bar) {
_foo=foo;
_bar=bar;
}
というメソッドであればカプセル化になってるとでも言うつもりだろうか?
それとも名前が行けないとでも言うつもりだろうかね
initialize(int foo, int bar) {
_foo=foo;
_bar=bar;
}
これならOKとか?w
カプセル化の本質がわかってないから、セッターとゲッター(だけ)に問題があると思ってしまっている。
「問題」はそこではなく、その「問題」の影響がなければセッターやゲッターがだめな理由はない
2020/08/01(土) 12:39:33.47ID:+e9G5Uqi
>>74
え?ちょっとお前頭悪いから話したくないわw
え?ちょっとお前頭悪いから話したくないわw
2020/08/01(土) 12:41:39.77ID:6s9LN6+z
>>72のように
メソッド単位で「このメソッドはカプセル化じゃない」というような
言い方をしている人はカプセル化を理解してない
カプセル化はオブジェクト単位で考えるもの
何か(薬など)を包んでいる入れ物がカプセルなのであって
入れ物に出し入れする穴がカプセルなのではない
メソッド単位で「このメソッドはカプセル化じゃない」というような
言い方をしている人はカプセル化を理解してない
カプセル化はオブジェクト単位で考えるもの
何か(薬など)を包んでいる入れ物がカプセルなのであって
入れ物に出し入れする穴がカプセルなのではない
2020/08/01(土) 12:41:58.50ID:6s9LN6+z
>>76
反論できない人はさようなら
反論できない人はさようなら
2020/08/01(土) 12:45:35.11ID:6s9LN6+z
カプセルにどれだけ穴(メソッド)が空いていようが、カプセルの意味がある
メソッド経由でしかアクセスできないことが保証されているからだ
メソッド経由でしかアクセスできないことが保証されているからだ
80デフォルトの名無しさん
2020/08/01(土) 13:28:33.15ID:biQ1QRTH 全面穴だらけのカプセルならもうそれ粉薬で良いんちゃうw
81デフォルトの名無しさん
2020/08/01(土) 14:04:15.81ID:hADlV/rS 値の参照についてはメソッドでの値の取得にはしないともう結論は出ていて、いまは不毛なメソッドは作らない。
2020/08/01(土) 14:05:07.09ID:GK6vh4b0
>>80
はい。そういうことなんですがなにか?
「全面穴だらけ」
これこそがカプセル化の否定の条件だろ
間違い ゲッターセッターがある(穴がある) 故にカプセルじゃない
正しい 全面穴だらけ。故にカプセルじゃない
「アクセスしてはいけないもの」に「アクセスできる」なら
それはカプセル化を破壊していることになる。条件はこの2つでしかない。
この2つの条件を両方同時に満たしていないならカプセル化の破壊にはならない
ゲッターセッター関係ないんですよ
はい。そういうことなんですがなにか?
「全面穴だらけ」
これこそがカプセル化の否定の条件だろ
間違い ゲッターセッターがある(穴がある) 故にカプセルじゃない
正しい 全面穴だらけ。故にカプセルじゃない
「アクセスしてはいけないもの」に「アクセスできる」なら
それはカプセル化を破壊していることになる。条件はこの2つでしかない。
この2つの条件を両方同時に満たしていないならカプセル化の破壊にはならない
ゲッターセッター関係ないんですよ
2020/08/01(土) 14:12:41.19ID:htNB4Xat
ハイ論破ッ!!!
2020/08/01(土) 14:37:54.28ID:mnCw/PCI
どんな値でも代入していいし取得してもいいのに
それをpublicにしたらカプセル化破壊とか
ゲッターセッターを作ったらカプセル化破壊とか
ちゃんちゃらおかしいわけですよ
インターフェースの定義が「どんな値でも代入していいし取得してもいい」なんだから
どんな値でも代入していいし取得してもいいんです。
それをpublicにしたらカプセル化破壊とか
ゲッターセッターを作ったらカプセル化破壊とか
ちゃんちゃらおかしいわけですよ
インターフェースの定義が「どんな値でも代入していいし取得してもいい」なんだから
どんな値でも代入していいし取得してもいいんです。
2020/08/01(土) 15:36:05.13ID:zOYkYoe2
初期化の時点で定数扱いするとか、stateパターンみたいなことやるとか、
今時はセッター用意しない方向だわな。
テスト作成がめんどい時はセッターもありだと思ってるけど。
今時はセッター用意しない方向だわな。
テスト作成がめんどい時はセッターもありだと思ってるけど。
86デフォルトの名無しさん
2020/08/01(土) 20:23:54.58ID:XDmb1Dov たとえばこのようにカプセル化しておくと
https://paiza.io/projects/rmOOucjuBQy05OnLY5JozQ
使用する側には影響を与えずに値チェックができたりするじゃろう
https://paiza.io/projects/Gn51oPIH_D9tEJchmBEzXA
カプセル化ええじゃろう
https://paiza.io/projects/rmOOucjuBQy05OnLY5JozQ
使用する側には影響を与えずに値チェックができたりするじゃろう
https://paiza.io/projects/Gn51oPIH_D9tEJchmBEzXA
カプセル化ええじゃろう
2020/08/01(土) 21:07:47.56ID:rpF69vZ/
参照渡しで配列の中身が勝手に書き換えられるのも
気持ち悪いと言えば気持ち悪い
カプセル化ではあるけれども
気持ち悪いと言えば気持ち悪い
カプセル化ではあるけれども
88デフォルトの名無しさん
2020/08/02(日) 19:17:55.28ID:4pM7vb20 こういう認識の齟齬を生みやすいこと自体が
オブジェクト指向の欠陥
まず分かりにくい思想があって
その思想の解釈が人によってバラバラで
コードで表現すると思想と辻褄が合わない部分が出てきて
その辻褄の帳尻を合わせるためにコーディング仕様追加して
コードがやたら汚くなっていく
そしてそもそもの思想を何も知らない初心者が
帳尻合わせの部分だけを真似して覚える
なんのためなのかも分からずに
じゃそもそもそんな思想要らなかったよね。
って言いたくなってくる。
オブジェクト指向の欠陥
まず分かりにくい思想があって
その思想の解釈が人によってバラバラで
コードで表現すると思想と辻褄が合わない部分が出てきて
その辻褄の帳尻を合わせるためにコーディング仕様追加して
コードがやたら汚くなっていく
そしてそもそもの思想を何も知らない初心者が
帳尻合わせの部分だけを真似して覚える
なんのためなのかも分からずに
じゃそもそもそんな思想要らなかったよね。
って言いたくなってくる。
2020/08/02(日) 19:20:30.93ID:Z93Ns0BP
じゃあOOPを捨てて何使ったらいいの?
もしくは、OOPを排除した人は具体的にどんな言語で書いてるの?
もしくは、OOPを排除した人は具体的にどんな言語で書いてるの?
90デフォルトの名無しさん
2020/08/02(日) 19:23:45.26ID:4pM7vb20 >>89
OOPで作られたライブラリをインストールして使うが
自分たちはOOPでコードを書かない
基本自作のコードは使い捨てるものとして
資産になるなんて考えは捨てる
構造化と純粋な関数型プログラミングの
考えに徹する
OOPで作られたライブラリをインストールして使うが
自分たちはOOPでコードを書かない
基本自作のコードは使い捨てるものとして
資産になるなんて考えは捨てる
構造化と純粋な関数型プログラミングの
考えに徹する
2020/08/02(日) 19:34:03.04ID:Z93Ns0BP
>>90
素人が手を出したら
OOPの恩恵に預かるよりもむしろ糞の山を量産するからね
これは素人が悪いとか
あるいは誰かの力量を疑うようなことを言いたいんじゃなくて
クラス設計インタフェース設計の根本的な難しさを問題にしてる
素人が手を出したら
OOPの恩恵に預かるよりもむしろ糞の山を量産するからね
これは素人が悪いとか
あるいは誰かの力量を疑うようなことを言いたいんじゃなくて
クラス設計インタフェース設計の根本的な難しさを問題にしてる
2020/08/02(日) 20:53:18.23ID:NyB2sc37
身の程を知らないと難しい
2020/08/02(日) 21:27:34.31ID:fjyVy3s+
>>86
エラーハンドリングが必要だから現実のコードだと影響与えるような気がしないでもない
それは良いとしてこのコードを見るとJavaって大変だなぁって感じる
構造体がない
0~255を表現できる標準の型がない
オプショナルパラメータがない
オブジェクト指向への不満度の高さと使ってる主な言語には相関関係ありそう
エラーハンドリングが必要だから現実のコードだと影響与えるような気がしないでもない
それは良いとしてこのコードを見るとJavaって大変だなぁって感じる
構造体がない
0~255を表現できる標準の型がない
オプショナルパラメータがない
オブジェクト指向への不満度の高さと使ってる主な言語には相関関係ありそう
2020/08/02(日) 21:28:38.27ID:Sk2GUQvh
現実問題としてオブジェクト指向は避けられない
ライブラリがオブジェクト指向前提なってるから…
数十個のメソッド継承したデブっちょクラスを前に
わけわかんねーってなる(←ポンコツですみません)
ライブラリがオブジェクト指向前提なってるから…
数十個のメソッド継承したデブっちょクラスを前に
わけわかんねーってなる(←ポンコツですみません)
2020/08/02(日) 23:55:35.79ID:hOZnEm6f
>>94
いや別にそこだけ回避すればええ話出し
いや別にそこだけ回避すればええ話出し
2020/08/03(月) 17:52:25.24ID:dUkcl/VW
>>94
ぶっちゃけ使うのはいいがお前は作るな!が言いたいことだよ。
ぶっちゃけ使うのはいいがお前は作るな!が言いたいことだよ。
2020/08/03(月) 23:08:05.87ID:/fZxIKnK
このメソッドはこのクラスから継承と
書き出してみればわかると思うよ
たくさんのライブラリがあって
どのライブラリのどの関数を使うというのと
本質的に同じ問題だから
書き出してみればわかると思うよ
たくさんのライブラリがあって
どのライブラリのどの関数を使うというのと
本質的に同じ問題だから
98デフォルトの名無しさん
2020/08/05(水) 02:50:58.19ID:TuJoRFtb >>88
んなの、オブジェクト指向以前の問題だろ。
んなの、オブジェクト指向以前の問題だろ。
2020/08/06(木) 00:04:23.21ID:BdJgq6RO
100デフォルトの名無しさん
2020/08/06(木) 21:09:25.06ID:8iK3jD+F イミュータブルてできないか、常に考える。
101デフォルトの名無しさん
2020/08/08(土) 02:09:38.97ID:8W1l6inb102デフォルトの名無しさん
2020/08/08(土) 04:14:12.26ID:2Yg/dKbJ >>101はチンコ動画でした
103デフォルトの名無しさん
2020/08/08(土) 16:34:38.41ID:DwZ6ejE/ staticおじさんを全面肯定するわけではないが擁護するわ
インスタンスを生成するタイプのクラスは
本当はかなり作るのが難しくて
高度な設計技術と計画性を要すると思う
そういう意味ではstaticおじさんは自分の力量を弁えていて
賢明だと思う
インスタンスを作るタイプのクラスをそうそう
乱発製造すべきではないと思う
インスタンスを生成するタイプのクラスは
本当はかなり作るのが難しくて
高度な設計技術と計画性を要すると思う
そういう意味ではstaticおじさんは自分の力量を弁えていて
賢明だと思う
インスタンスを作るタイプのクラスをそうそう
乱発製造すべきではないと思う
104デフォルトの名無しさん
2020/08/08(土) 18:24:14.86ID:mdJspHbv105デフォルトの名無しさん
2020/08/08(土) 21:02:47.33ID:bKK8FlY/ オブジェクト指向の考え
オブジェクト内に状態(フィールド)を持ったり
オブジェクト内の状態を内部で操作するような
処理は外部から勝手に操作されると
不具合の元だから隠蔽しないといけない
(でも操作したくなることもあるから
ゲッターやセッターを作る)
しかし、オブジェクト指向の一番の問題点は
隠蔽さえすれば、状態をもつたり、
内部状態を操作する行為自体は許容してるという点。
staticおじさんや純粋関数型プログラミングの考え方
そもそもオブジェクト内に状態を持つこと、
内部状態を操作すること自体がシステムがめんどくさくなったり
不具合の原因なんだから、そんなこと自体極力やめた
方がいい。という考え方。
クラスにやたらめったらフィールドを定義するから
それらの管理が大変になるんでしょ?
じゃあそもそも不必要にフィールドをたくさん定義するのは
やめようってこと。
オブジェクト内に状態(フィールド)を持ったり
オブジェクト内の状態を内部で操作するような
処理は外部から勝手に操作されると
不具合の元だから隠蔽しないといけない
(でも操作したくなることもあるから
ゲッターやセッターを作る)
しかし、オブジェクト指向の一番の問題点は
隠蔽さえすれば、状態をもつたり、
内部状態を操作する行為自体は許容してるという点。
staticおじさんや純粋関数型プログラミングの考え方
そもそもオブジェクト内に状態を持つこと、
内部状態を操作すること自体がシステムがめんどくさくなったり
不具合の原因なんだから、そんなこと自体極力やめた
方がいい。という考え方。
クラスにやたらめったらフィールドを定義するから
それらの管理が大変になるんでしょ?
じゃあそもそも不必要にフィールドをたくさん定義するのは
やめようってこと。
106デフォルトの名無しさん
2020/08/08(土) 22:44:55.21ID:OT1M6D83 1クラス1フィールドの原則な。
107デフォルトの名無しさん
2020/08/08(土) 23:32:20.53ID:v8N9JR44 そのフィールドがhashmapのhashmap
108デフォルトの名無しさん
2020/08/09(日) 02:13:07.67ID:m2kgymdR >>105
結局グローバル変数の弊害と変わらないってわけだ
イベント駆動プログラムにはオブジェクト指向が向くとされてるから
現在主流の言語はほぼオブジェクト指向になってしまった
オブジェクト指向を避けてイベント駆動を実現できればなあ…
結局グローバル変数の弊害と変わらないってわけだ
イベント駆動プログラムにはオブジェクト指向が向くとされてるから
現在主流の言語はほぼオブジェクト指向になってしまった
オブジェクト指向を避けてイベント駆動を実現できればなあ…
109デフォルトの名無しさん
2020/08/09(日) 08:47:05.41ID:B3aIWQ09110デフォルトの名無しさん
2020/08/09(日) 08:53:36.03ID:gwNRWHAq staticなら何の問題も起きないのにバカがメンバに持つ
111デフォルトの名無しさん
2020/08/09(日) 08:54:09.82ID:gwNRWHAq あ、メソッドをpublic staticね
112デフォルトの名無しさん
2020/08/09(日) 09:00:00.94ID:a7MhRm2l カプセル化が不十分というだけ。
XNA は使い方を間違えている。
XNA は使い方を間違えている。
113デフォルトの名無しさん
2020/08/09(日) 09:20:34.38ID:+PyqObml そもそも処理を仕方がない理由もなく
入力→処理→出力
で入力と出力でチェックできない形にしてしまうのは悪手
入力→処理→出力
で入力と出力でチェックできない形にしてしまうのは悪手
114デフォルトの名無しさん
2020/08/09(日) 11:42:28.37ID:e3BzhtQg115デフォルトの名無しさん
2020/08/10(月) 02:59:21.35ID:l5zwQhnu アンサイクロペディアでやれ
116デフォルトの名無しさん
2020/08/11(火) 00:29:12.66ID:jdRsH5YI そもそもJavaScriptや
python使ってると
「あれ?クラスって必要なくね?」
って思うことが多いよ
(クラスというかフィールドやコンストラクタや
インスタンス化の必要性)
複数種のデータをセットで持ちたいなら
連想配列や辞書で持てばいい話で
クラス型なんて無名で言いじゃん。
JSONやローカルストレージやDBなど
格納方法には色々選択肢があるわけで
連想配列を引数に与えてやりとりすればいい
もちろんJavaだとMapのキーと値にも
型の宣言が必要で不便だから
JavaScriptやPyを使ったほうがいいね
python使ってると
「あれ?クラスって必要なくね?」
って思うことが多いよ
(クラスというかフィールドやコンストラクタや
インスタンス化の必要性)
複数種のデータをセットで持ちたいなら
連想配列や辞書で持てばいい話で
クラス型なんて無名で言いじゃん。
JSONやローカルストレージやDBなど
格納方法には色々選択肢があるわけで
連想配列を引数に与えてやりとりすればいい
もちろんJavaだとMapのキーと値にも
型の宣言が必要で不便だから
JavaScriptやPyを使ったほうがいいね
117デフォルトの名無しさん
2020/08/11(火) 02:32:11.74ID:Yoj/uuKw Hooks API来てから皆Function Component。誰もClass Componentつかわなくなった@React
118デフォルトの名無しさん
2020/08/11(火) 10:11:56.23ID:PBDRLAp9 privateとかpublicじゃなくて775とかパーミッション設定したい。
119デフォルトの名無しさん
2020/08/11(火) 10:25:23.64ID:DyHWpKfR Java.classファイルのパーミッション?
120デフォルトの名無しさん
2020/08/11(火) 12:40:18.13ID:VjXaeZPI >>114
もともとの議論知らんのならだまってりゃいいのに。
あきらかに元ネタはstatic変数を使ってシングルトンやることをマンセーしとるわ。
クラス使えばいいってもんじゃないが、結合時のバグを気にしすぎてテストしずらい構造つくってるってのが
この手の問題なわけよ。
もともとの議論知らんのならだまってりゃいいのに。
あきらかに元ネタはstatic変数を使ってシングルトンやることをマンセーしとるわ。
クラス使えばいいってもんじゃないが、結合時のバグを気にしすぎてテストしずらい構造つくってるってのが
この手の問題なわけよ。
121デフォルトの名無しさん
2020/08/11(火) 13:45:14.16ID:zGJr4AFR staticおじさんの逆襲
https://qiita.com/minebreaker/items/45ffaaa5e8729e16cfb4
https://qiita.com/minebreaker/items/45ffaaa5e8729e16cfb4
122デフォルトの名無しさん
2020/08/11(火) 13:45:31.32ID:zGJr4AFR お前ら論破されてんじゃん
123デフォルトの名無しさん
2020/08/11(火) 17:56:32.40ID:K2Zt4r5r 別に論破はされてないなぁ
要するにデータをどう持つかの話で
データが必要なものはオブジェクトに持たせたほうがいいし
データが必要ない(引数程度)ならstaticにすると言うだけの話
この「引数」はシンプルな値型に限る。
いやだってstaticにするために引数にしてデータを持たないオブジェクトにしたのに
データを持つオブジェクトを渡すとか本末転倒やろ?w
ようはデータが有るかどうかって話で、ないならstaticでいいけど
あるなら普通にオブジェクトにしましょうってだけ
データが有るのに頑張ってstaticにするとか無駄
要するにデータをどう持つかの話で
データが必要なものはオブジェクトに持たせたほうがいいし
データが必要ない(引数程度)ならstaticにすると言うだけの話
この「引数」はシンプルな値型に限る。
いやだってstaticにするために引数にしてデータを持たないオブジェクトにしたのに
データを持つオブジェクトを渡すとか本末転倒やろ?w
ようはデータが有るかどうかって話で、ないならstaticでいいけど
あるなら普通にオブジェクトにしましょうってだけ
データが有るのに頑張ってstaticにするとか無駄
124デフォルトの名無しさん
2020/08/11(火) 21:32:59.34ID:nKBbqh2w ケースバイケース、適材適所で設計すれば良いというだけの話なのにね。
教条主義、原理主義の奴らは必ず◯◯すべし!◯◯すべからず!と声高に叫んでるだけでまともな議論にはならないし、スルーするのが一番かと思われる。
教条主義、原理主義の奴らは必ず◯◯すべし!◯◯すべからず!と声高に叫んでるだけでまともな議論にはならないし、スルーするのが一番かと思われる。
125デフォルトの名無しさん
2020/08/12(水) 11:17:16.33ID:lWgXenAf126デフォルトの名無しさん
2020/08/12(水) 11:39:55.90ID:IJKCUlyt >>125
staticおじさんはjavaのstaticな
staticおじさんはjavaのstaticな
127デフォルトの名無しさん
2020/08/15(土) 22:05:11.13ID:HPBTZIIs スタティックでマルチスレッドはキツイぞ
128デフォルトの名無しさん
2020/08/15(土) 22:52:56.43ID:pyil6gDT マルチスレッドと関係ねえw
129デフォルトの名無しさん
2020/08/15(土) 23:11:43.21ID:67hbQA2K バカっていっつも関係ないこと紐付けるよな
130デフォルトの名無しさん
2020/08/15(土) 23:14:58.03ID:Ob8esEzA バカって関係あることを紐付けるバカも居るだろ
131デフォルトの名無しさん
2020/08/17(月) 08:38:19.59ID:+Ou9g0gb 義経「馬も鹿も四脚」
132デフォルトの名無しさん
2020/08/17(月) 20:03:48.21ID:aKA3oP69 >>119
chmodとかで設定するパーミッションな。
↓こんなイメージ。
664: // 基底クラスと派生クラスが読み書き可能。その他はよむことだけOK。
int a;
640: // 基底クラス読み書き可能。派生クラス読み込み可能。その他はアクセス不能。
int b;
chmodとかで設定するパーミッションな。
↓こんなイメージ。
664: // 基底クラスと派生クラスが読み書き可能。その他はよむことだけOK。
int a;
640: // 基底クラス読み書き可能。派生クラス読み込み可能。その他はアクセス不能。
int b;
133デフォルトの名無しさん
2020/08/18(火) 16:33:07.58ID:b4wiyhNa134デフォルトの名無しさん
2020/08/18(火) 22:19:04.69ID:ZCkQ8Dn9 そもそもフィールドで持つ必要がある
データってこのブログで紹介されてるような
キャラHP,MPや貯水量、現金残高
みたいな上下限をもった数値の増減みたいな
ものだけだと思う。
境界値バグに関係しうるパラメータね。
こればっかりはstaticおじさんはやりにくいと思うわ。
カプセル化とはなにか?超わかりやすく解説します!
https://jpazamu.com/encapsulation/
あと考えられるのは 装備品みたいな
魔法使いジョブには剣を装備させてはいけないなど
特有の細かなルールがあるときはカプセル化が必要か。
それ以外の人名とかIDとかメモリ内で変動しないような値を
わざわざフィールドを用意する必要もなければ
privateで保護する必要もないしstaticおじさんで
なんの問題もないよね。
基本的に「演算」がないデータだから
連想配列やJSONでまとめてやり取りすればいいと思う。
あとバグを引き起こすのは値の変更で
あって参照って無害なのでは?
データってこのブログで紹介されてるような
キャラHP,MPや貯水量、現金残高
みたいな上下限をもった数値の増減みたいな
ものだけだと思う。
境界値バグに関係しうるパラメータね。
こればっかりはstaticおじさんはやりにくいと思うわ。
カプセル化とはなにか?超わかりやすく解説します!
https://jpazamu.com/encapsulation/
あと考えられるのは 装備品みたいな
魔法使いジョブには剣を装備させてはいけないなど
特有の細かなルールがあるときはカプセル化が必要か。
それ以外の人名とかIDとかメモリ内で変動しないような値を
わざわざフィールドを用意する必要もなければ
privateで保護する必要もないしstaticおじさんで
なんの問題もないよね。
基本的に「演算」がないデータだから
連想配列やJSONでまとめてやり取りすればいいと思う。
あとバグを引き起こすのは値の変更で
あって参照って無害なのでは?
135デフォルトの名無しさん
2020/08/18(火) 22:22:09.47ID:wUa7ucBR バカじゃね
最近のソシャゲなんて全部DBのテーブルに入れなきゃいけないのにクラスの階層構造なんてテーブルに格納するときやりにくくて死ぬだろ
最近のソシャゲなんて全部DBのテーブルに入れなきゃいけないのにクラスの階層構造なんてテーブルに格納するときやりにくくて死ぬだろ
136デフォルトの名無しさん
2020/08/18(火) 22:30:21.66ID:lDffCv4W137デフォルトの名無しさん
2020/08/19(水) 01:42:01.09ID:hBlUyArs その界隈はスケールアウト重視でRDBよりさらにフラットなのが主流だからな。
それこそ学校で教えるデータベース正規化の真逆、「逆正規化こそ正義」という世界だし。
「正規化は愚かな考え」というスレを立てようぜ
それこそ学校で教えるデータベース正規化の真逆、「逆正規化こそ正義」という世界だし。
「正規化は愚かな考え」というスレを立てようぜ
138デフォルトの名無しさん
2020/08/19(水) 07:15:17.32ID:OrygHj4v 最近気が付いたんだけど。
STLならどうなるか?と考えるのも、一つの分析手法だな。
STLならどうなるか?と考えるのも、一つの分析手法だな。
139デフォルトの名無しさん
2020/08/19(水) 20:19:37.01ID:1TMyVKY8 カプセル化が悪いんじゃなくて設計ミスってるだけじゃん
経験積んで未来予知の精度上げるしかないかな
経験積んで未来予知の精度上げるしかないかな
140デフォルトの名無しさん
2020/08/19(水) 20:29:39.11ID:1TMyVKY8 あとgetter、setterてカプセル化の思想とは関係なく、
便宜上の何かしらの理由(フレームワーク都合、トレースしやすい)で
慣用的に使われてるイメージある
便宜上の何かしらの理由(フレームワーク都合、トレースしやすい)で
慣用的に使われてるイメージある
141デフォルトの名無しさん
2020/08/19(水) 20:58:57.98ID:bIJ+SeFj その未来予知や
設計ミスで後悔する要素とか
フレームワーク依存要素を排除したいから
純粋関数型で余計な状態を持たずに
機械的にプログラミングする方が
いいと言ってるじゃないか。
設計ミスで後悔する要素とか
フレームワーク依存要素を排除したいから
純粋関数型で余計な状態を持たずに
機械的にプログラミングする方が
いいと言ってるじゃないか。
142デフォルトの名無しさん
2020/08/19(水) 21:05:37.71ID:1TMyVKY8 え、純粋関数型しばり?w
143デフォルトの名無しさん
2020/08/19(水) 21:09:50.93ID:AMkDCrIJ > 純粋関数型で余計な状態を持たずに
> 機械的にプログラミングする方が
> いいと言ってるじゃないか。
↑間違い
状態を持たないものは
純粋関数型で簡単に作れるが
世の中には状態を持っているものがたくさんある
純粋関数型は状態を持たないものは簡単に作れるが
状態を持つものは簡単に作れない
状態を排除することは不可能なので
結局状態を持つものを管理しやすい
オブジェクト指向を併用することになる
> 機械的にプログラミングする方が
> いいと言ってるじゃないか。
↑間違い
状態を持たないものは
純粋関数型で簡単に作れるが
世の中には状態を持っているものがたくさんある
純粋関数型は状態を持たないものは簡単に作れるが
状態を持つものは簡単に作れない
状態を排除することは不可能なので
結局状態を持つものを管理しやすい
オブジェクト指向を併用することになる
144デフォルトの名無しさん
2020/08/19(水) 21:11:56.89ID:1TMyVKY8 純粋関数型のプログラム書いたことないけど
例えばカウンタ(内部に整数型データ保持)とかどういう実装になるんだろ?
って調べたら↓が見つかった
https://riptutorial.com/ja/haskell/example/25413/%E3%83%A2%E3%83%8A%E3%83%87%E3%82%A3%E3%83%83%E3%82%AF%E3%82%AB%E3%82%A6%E3%83%B3%E3%82%BF%E3%83%BC
結構面倒だな
例えばカウンタ(内部に整数型データ保持)とかどういう実装になるんだろ?
って調べたら↓が見つかった
https://riptutorial.com/ja/haskell/example/25413/%E3%83%A2%E3%83%8A%E3%83%87%E3%82%A3%E3%83%83%E3%82%AF%E3%82%AB%E3%82%A6%E3%83%B3%E3%82%BF%E3%83%BC
結構面倒だな
145デフォルトの名無しさん
2020/08/19(水) 21:13:46.83ID:1TMyVKY8 状態を多用する場面で純粋関数型は向かないってことかな?
146デフォルトの名無しさん
2020/08/19(水) 21:14:49.28ID:AMkDCrIJ 純粋関数型言語を使えば状態を持たなくて良くなるわけじゃないんだよ
状態があるのとないのであれば、状態がない場合は
テストも簡単でシンプルに作れることが出来るだろう
しかし実際のシステムは状態があるんだよ
状態がないもの(つまり簡単なもの)を簡単に作れることを目指しても有り難みがない
状態があるもの(複雑なもの)を簡単に作れるもののほうがありがたい
状態があるのとないのであれば、状態がない場合は
テストも簡単でシンプルに作れることが出来るだろう
しかし実際のシステムは状態があるんだよ
状態がないもの(つまり簡単なもの)を簡単に作れることを目指しても有り難みがない
状態があるもの(複雑なもの)を簡単に作れるもののほうがありがたい
147デフォルトの名無しさん
2020/08/19(水) 21:28:46.66ID:1TMyVKY8 関数型言語のエッセンス(イミュータビリティ)を部分的に取り入れると
いい感じだけど全部置き換えたら破綻するね
いい感じだけど全部置き換えたら破綻するね
148デフォルトの名無しさん
2020/08/19(水) 21:37:00.69ID:bIJ+SeFj 状態を持つ必要が有るとしても
極力少なめに厳選すべき
データベースのカラムは
全部オブジェクトのフィールドとして保持して
コンストラクタ経由で引数をフィールドに移し替えて
全部ゲッターセッター用意して
見ればわかるメソッドに全部Javadoc記述して
とかどう考えても馬鹿でしょ
personオブジェクトの
人名、年齢、身長、体重
とかがプログラムが動いてる短い期間に目まぐるしく
変動するんですか?
オブジェクト指向の教科書見るとそうやって教えてるんだぜ?
極力少なめに厳選すべき
データベースのカラムは
全部オブジェクトのフィールドとして保持して
コンストラクタ経由で引数をフィールドに移し替えて
全部ゲッターセッター用意して
見ればわかるメソッドに全部Javadoc記述して
とかどう考えても馬鹿でしょ
personオブジェクトの
人名、年齢、身長、体重
とかがプログラムが動いてる短い期間に目まぐるしく
変動するんですか?
オブジェクト指向の教科書見るとそうやって教えてるんだぜ?
149デフォルトの名無しさん
2020/08/19(水) 21:39:15.87ID:meyBYzW3 >>147
別に破綻しないよ
状態が必要なら、状態ごと受け取って状態を含めた出力をするような関数を作る
データとそれを使う関数を1つの単位(クラス)にまとめたほうがいいのか
それともデータはデータ、関数は関数で分けて管理したほうがいいのかという違い
(関数型でも必要ならある種のデータ型とそれに密接に関係する関数群をモジュールとしてまとめる)
どちらかが常にいいというわけじゃなくトレードオフだから
それを理解してドメインに応じて使い分ければいい
別に破綻しないよ
状態が必要なら、状態ごと受け取って状態を含めた出力をするような関数を作る
データとそれを使う関数を1つの単位(クラス)にまとめたほうがいいのか
それともデータはデータ、関数は関数で分けて管理したほうがいいのかという違い
(関数型でも必要ならある種のデータ型とそれに密接に関係する関数群をモジュールとしてまとめる)
どちらかが常にいいというわけじゃなくトレードオフだから
それを理解してドメインに応じて使い分ければいい
150デフォルトの名無しさん
2020/08/19(水) 21:42:50.48ID:AMkDCrIJ > 状態が必要なら、状態ごと受け取って状態を含めた出力をするような関数を作る
んで、その最終形態が
メモリの内容を全部渡して、書き換え済みのメモリを返す
それを永続化する。
つまりはグローバル変数と同じ状態になるわけだ
んで、その最終形態が
メモリの内容を全部渡して、書き換え済みのメモリを返す
それを永続化する。
つまりはグローバル変数と同じ状態になるわけだ
151デフォルトの名無しさん
2020/08/19(水) 21:44:22.03ID:AMkDCrIJ 結局書き方の違いでしか無いんだよね
状態 = 関数(状態)にするか
状態.関数() にするかという書き方が違うだけ
状態 = 関数(状態)にするか
状態.関数() にするかという書き方が違うだけ
152デフォルトの名無しさん
2020/08/19(水) 21:47:30.11ID:AMkDCrIJ そして行き着く先は
状態 = 関数(状態)の形で
大規模なものを人間が統治管理できるのか?って話
人間がってのが重要な所
理論的には出来る。コンピュータにも出来る。
だが人間がそれをやれなきゃ意味がない
簡単な足し算でも、それが何万個もあれば人間はミスをする
状態 = 関数(状態)の形で
大規模なものを人間が統治管理できるのか?って話
人間がってのが重要な所
理論的には出来る。コンピュータにも出来る。
だが人間がそれをやれなきゃ意味がない
簡単な足し算でも、それが何万個もあれば人間はミスをする
153デフォルトの名無しさん
2020/08/19(水) 21:49:27.84ID:meyBYzW3154デフォルトの名無しさん
2020/08/19(水) 21:55:27.63ID:1TMyVKY8 結局外から整数渡すのか
155デフォルトの名無しさん
2020/08/19(水) 22:08:23.64ID:1TMyVKY8156デフォルトの名無しさん
2020/08/19(水) 22:33:08.34ID:yE6ycl6R 昔のC言語は状態なんか持たなくても動いてたよw
前提が間違ってるじゃん
前提が間違ってるじゃん
157デフォルトの名無しさん
2020/08/19(水) 22:34:39.94ID:1TMyVKY8 >ソースコードが存在し改修が可能であればカプセル化しても問題ない。
>ソースコードがあってもライセンス的に改修できない場合や、そもそもバイナリのライブラリしかない場合などは絶望的である。
ライブラリが担うべき要件でもないし他の探すか自分で作るか改修依頼するかしかないでしょ
なんでカプセル化が悪の権化みたいなことになってんのw
>ソースコードがあってもライセンス的に改修できない場合や、そもそもバイナリのライブラリしかない場合などは絶望的である。
ライブラリが担うべき要件でもないし他の探すか自分で作るか改修依頼するかしかないでしょ
なんでカプセル化が悪の権化みたいなことになってんのw
158デフォルトの名無しさん
2020/08/19(水) 22:35:36.18ID:OrygHj4v 純粋でなければ、利点として宣伝されるものの多くが実現されなくなるからな。
もっとも、純粋であっても、現時点では実現されていないのだが。
もっとも、純粋であっても、現時点では実現されていないのだが。
159デフォルトの名無しさん
2020/08/19(水) 22:36:45.75ID:1TMyVKY8 C言語とかバリバリ状態変数使ってるでしょ
160デフォルトの名無しさん
2020/08/19(水) 22:39:11.93ID:1TMyVKY8 その状態の管理方法がオブジェクト指向でも純粋関数型でもないだけで
161デフォルトの名無しさん
2020/08/19(水) 22:56:55.74ID:c5gUks+P >>140
getter/setterはJavaBeansの仕様だからね
JavaBeansはGUIツールでポトペタで操作できるようにするためのもの
GUIのツールでプロパティ書き換えたりイベントリスナー書いたりするのが目的
だからJavaBeansの情報を取得するBeanInfoにはgetIconメソッドがあったりする
JavaBeansではプロパティに値をセットしたら値が変更されましたイベントを発火したりするから
getter/setter経由でアクセスすることは理に適っていた
それがいつの間にかオブジェクト指向のプログラムではgetter/setterを書くんだーになってしまった
JavaBeansのようなコンポネントの作法はライブラリ内部で使われるようなオブジェクトには必要ない
デスクトップアプリの開発が衰退したおかげかいまはだいぶその認識が広まってる
getter/setterはJavaBeansの仕様だからね
JavaBeansはGUIツールでポトペタで操作できるようにするためのもの
GUIのツールでプロパティ書き換えたりイベントリスナー書いたりするのが目的
だからJavaBeansの情報を取得するBeanInfoにはgetIconメソッドがあったりする
JavaBeansではプロパティに値をセットしたら値が変更されましたイベントを発火したりするから
getter/setter経由でアクセスすることは理に適っていた
それがいつの間にかオブジェクト指向のプログラムではgetter/setterを書くんだーになってしまった
JavaBeansのようなコンポネントの作法はライブラリ内部で使われるようなオブジェクトには必要ない
デスクトップアプリの開発が衰退したおかげかいまはだいぶその認識が広まってる
162デフォルトの名無しさん
2020/08/19(水) 23:05:18.29ID:EjRsdu11 単にそのクラスに必要な操作のみ公開するという思想は良いと思うが
頭の硬いやつがいると理解出来ないからか文句を言ってくる
頭の硬いやつがいると理解出来ないからか文句を言ってくる
163デフォルトの名無しさん
2020/08/19(水) 23:25:59.69ID:yE6ycl6R >>162
結局入力と出力を
メンバ変数に入力や出力を内包されると単純に動作が把握し難いだけで
全くメリットがない
内包されたデータを見ないで修正してもいいのか?
お前の会社はそれでいいとは言わないだろう
だとしたら入力や出力を隠蔽するのは誰にとっても迷惑にしかならない
結局入力と出力を
メンバ変数に入力や出力を内包されると単純に動作が把握し難いだけで
全くメリットがない
内包されたデータを見ないで修正してもいいのか?
お前の会社はそれでいいとは言わないだろう
だとしたら入力や出力を隠蔽するのは誰にとっても迷惑にしかならない
164デフォルトの名無しさん
2020/08/19(水) 23:41:19.27ID:1TMyVKY8 そのクラスの責務(入力に対する出力の仕様)がわかっていれば
具体的な内部の動きを把握する必要がそもそもない
把握する必要ないから楽
具体的な内部の動きを把握する必要がそもそもない
把握する必要ないから楽
165デフォルトの名無しさん
2020/08/19(水) 23:48:14.52ID:AMkDCrIJ >>163
システムの規模が大きくなった時
どう管理するかって話だからその理屈は全く関係ないんだよな
内包されたデータを見ないで修正してもいいか?
オブジェクト指向であれば、それがある単位で分割されているから
そこだけを見ればいい
システムの規模が大きくなった時
どう管理するかって話だからその理屈は全く関係ないんだよな
内包されたデータを見ないで修正してもいいか?
オブジェクト指向であれば、それがある単位で分割されているから
そこだけを見ればいい
166デフォルトの名無しさん
2020/08/20(木) 00:39:03.89ID:Ha0cLvqC167デフォルトの名無しさん
2020/08/20(木) 00:40:27.24ID:Ha0cLvqC >>165
お前が作ったクラスの動作がおかしいときどうすればいいの?
お前が作ったクラスの動作がおかしいときどうすればいいの?
168デフォルトの名無しさん
2020/08/20(木) 00:43:54.72ID:x6SYzBHh >>167
テストコード書いて直すだけ
テストコード書いて直すだけ
169デフォルトの名無しさん
2020/08/20(木) 00:44:38.43ID:x6SYzBHh170デフォルトの名無しさん
2020/08/20(木) 00:50:30.84ID:ecAQ66Lj 適切な単位で分割されてると修正も楽
それこそ「そのクラスの責務(入力に対する出力の仕様)」だけ
満たすことを考えればいい
それこそ「そのクラスの責務(入力に対する出力の仕様)」だけ
満たすことを考えればいい
171デフォルトの名無しさん
2020/08/20(木) 00:53:30.10ID:ecAQ66Lj 内部で関係する変数とかを閉じててくれないと
そのクラスに値を設定する部分を見て回らないといけなくなる
そのクラスに値を設定する部分を見て回らないといけなくなる
172デフォルトの名無しさん
2020/08/20(木) 00:58:14.66ID:nfJPehze クラスに値を設定する部分は、そのクラスを見るだけでいい
引数として独立していると、その引数を使ってる部分を全部調べなければいけなくなる
戻り値が変わると、その戻り値を使ってる部分全てだ
引数として独立していると、その引数を使ってる部分を全部調べなければいけなくなる
戻り値が変わると、その戻り値を使ってる部分全てだ
173デフォルトの名無しさん
2020/08/20(木) 00:59:25.71ID:Ha0cLvqC174デフォルトの名無しさん
2020/08/20(木) 01:09:23.46ID:Eg0HvHSQ 一クラス一メソッドの原則な。
175デフォルトの名無しさん
2020/08/20(木) 01:10:33.08ID:ecAQ66Lj メンバ変数statesがprivateだったらそのクラス内に閉じた問題だから
単純にそのクラスのメソッド内でstatesとnoneを比較するようなとこを
洗い出せばいいんじゃないの?
単純にそのクラスのメソッド内でstatesとnoneを比較するようなとこを
洗い出せばいいんじゃないの?
176デフォルトの名無しさん
2020/08/20(木) 01:20:32.10ID:qjxJt4Hn >>170
その責務って奴が言葉だけは聞こえがいいが
現実論として関わるプログラマや関係者の間で
認識がバラバラになる最大のポイントなんだわ。
プログラムやコンピュータを計算機として見てないんだわ。
「この処理を果たしてこの場所で書いていいものか…」
なんて余計な事で頭を悩ます最大の原因なんだわ。
それよりももっとシンプルに、
任意の場所に、受け取った引数を使って
結果を返す関数を作って関数に要求させた演算を
投げて結果だけ受け取った方が生産的だよね?
関数を連鎖的に組み合わせればどんな複雑な演算も
成し遂げることが出来る。
その責務って奴が言葉だけは聞こえがいいが
現実論として関わるプログラマや関係者の間で
認識がバラバラになる最大のポイントなんだわ。
プログラムやコンピュータを計算機として見てないんだわ。
「この処理を果たしてこの場所で書いていいものか…」
なんて余計な事で頭を悩ます最大の原因なんだわ。
それよりももっとシンプルに、
任意の場所に、受け取った引数を使って
結果を返す関数を作って関数に要求させた演算を
投げて結果だけ受け取った方が生産的だよね?
関数を連鎖的に組み合わせればどんな複雑な演算も
成し遂げることが出来る。
177デフォルトの名無しさん
2020/08/20(木) 01:27:25.42ID:ecAQ66Lj それはチーム編成とか統制の問題では
レベルが低い集団だと統制とれずク○の山が積み上がって
収集つかなくなるんだろうな
レベルが低い集団だと統制とれずク○の山が積み上がって
収集つかなくなるんだろうな
178デフォルトの名無しさん
2020/08/20(木) 01:32:57.21ID:Ha0cLvqC >>175
privateメンバ変数は見なくていいって話じゃなかったん?
privateメンバ変数は見なくていいって話じゃなかったん?
179デフォルトの名無しさん
2020/08/20(木) 01:36:01.29ID:ecAQ66Lj クラス外からは気にしなくていいけどクラスを修正するときは見なきゃだめでしょ
privateなら見るべき範囲はクラス内って絞ることができる
privateなら見るべき範囲はクラス内って絞ることができる
180デフォルトの名無しさん
2020/08/20(木) 01:44:41.21ID:Ha0cLvqC >>179
じゃあ、結局見るんじゃんバーカ
じゃあ、結局見るんじゃんバーカ
181デフォルトの名無しさん
2020/08/20(木) 01:48:58.64ID:ecAQ66Lj え
182デフォルトの名無しさん
2020/08/20(木) 01:52:46.09ID:ecAQ66Lj まあ理解できもしないのに真似事みたいなことするのが一番迷惑だから
やりたいようにやりなさい
やりたいようにやりなさい
183デフォルトの名無しさん
2020/08/20(木) 02:03:10.41ID:ecAQ66Lj そもそも>>173の質問がバカ丸出しなのに自覚ないとか
184デフォルトの名無しさん
2020/08/20(木) 07:00:11.09ID:X1nNk3cj >>161
プロパティって、どういうプロパティが存在するかを実行時にインスペクトできるというのも重要な性質だな。
BeansはJavaのリフレクションでそれを実現していたけど、単なるgette/setterではそういうのも忘れられている。
プロパティって、どういうプロパティが存在するかを実行時にインスペクトできるというのも重要な性質だな。
BeansはJavaのリフレクションでそれを実現していたけど、単なるgette/setterではそういうのも忘れられている。
185デフォルトの名無しさん
2020/08/20(木) 07:31:18.16ID:Ha0cLvqC186デフォルトの名無しさん
2020/08/20(木) 07:59:40.26ID:i/J3/2zN >>176
それって、ちゃんと考えて設計するの面倒だから全部グローバル変数でやります、生産性高いよね!といってるのと変わらないじゃないかw
それって、ちゃんと考えて設計するの面倒だから全部グローバル変数でやります、生産性高いよね!といってるのと変わらないじゃないかw
187デフォルトの名無しさん
2020/08/20(木) 08:08:01.01ID:Ha0cLvqC >>186
比較するものがグローバル変数使用のソースしか無くなった?
比較するものがグローバル変数使用のソースしか無くなった?
188デフォルトの名無しさん
2020/08/20(木) 08:33:25.88ID:ecAQ66Lj >>185
> さらにpublic staticならグローバル変数不使用なら
どうせその前提だとそれはクラス内部に状態を持つ必要ない単なるUtilityクラス
内のメソッドだろ?
状態をどうやって管理するかの話だったのに、状態を排除した前提を持ち出してきて
何を認めさせたいの?反論することだけが目的?
> さらにpublic staticならグローバル変数不使用なら
どうせその前提だとそれはクラス内部に状態を持つ必要ない単なるUtilityクラス
内のメソッドだろ?
状態をどうやって管理するかの話だったのに、状態を排除した前提を持ち出してきて
何を認めさせたいの?反論することだけが目的?
189デフォルトの名無しさん
2020/08/20(木) 08:38:25.78ID:Ha0cLvqC190デフォルトの名無しさん
2020/08/20(木) 10:46:21.05ID:ecAQ66Lj 御託はいいからお前の書いたコード見てみたいわ
グローバル変数を使わないCコードが書けるんだろ?(失笑)
C言語ならグローバル変数はある程度使うべきなんだけどね
グローバル変数を使わないCコードが書けるんだろ?(失笑)
C言語ならグローバル変数はある程度使うべきなんだけどね
191デフォルトの名無しさん
2020/08/20(木) 11:25:12.56ID:Ha0cLvqC192デフォルトの名無しさん
2020/08/20(木) 12:04:17.63ID:ecAQ66Lj 下手なりにかけるとは思うよ下手なりに
ただその方法じゃスケールしない
ここまで言ってわからないならもう相手にしてあげないよ
ただその方法じゃスケールしない
ここまで言ってわからないならもう相手にしてあげないよ
193デフォルトの名無しさん
2020/08/20(木) 12:06:02.57ID:ecAQ66Lj 小さいプログラムしか書いたことないんだろうな
194デフォルトの名無しさん
2020/08/20(木) 12:14:50.55ID:KHHtBj+5 結局大規模なものをカプセル化が有効なんだよね
195デフォルトの名無しさん
2020/08/20(木) 12:49:31.45ID:tyNv301J Information Hidingの意味でカプセル化と言ってるやつと
データとメソッドをオブジェクトという構造にひとまとめにすることをカプセル化と言ってるやつがいるから
話が噛み合ってない
前者はオブジェクト指向に関係なくあらゆるプログラミングスタイルで使われてる
規模に関係して重要になってくるのはInformation Hidingの意味でのカプセル化
CでもHaskellでもそれが重要なのは変わらない
後者はオブジェクト指向特有のもの
これはソフトウェアの規模の大小とは関係なく
どういう方向の変化に対して高い柔軟性を確保しておくのがいいかという問題なので
デメリットも考慮しつつ状況に合わせて採用するかどうか判断すべきもの
データとメソッドをオブジェクトという構造にひとまとめにすることをカプセル化と言ってるやつがいるから
話が噛み合ってない
前者はオブジェクト指向に関係なくあらゆるプログラミングスタイルで使われてる
規模に関係して重要になってくるのはInformation Hidingの意味でのカプセル化
CでもHaskellでもそれが重要なのは変わらない
後者はオブジェクト指向特有のもの
これはソフトウェアの規模の大小とは関係なく
どういう方向の変化に対して高い柔軟性を確保しておくのがいいかという問題なので
デメリットも考慮しつつ状況に合わせて採用するかどうか判断すべきもの
196デフォルトの名無しさん
2020/08/20(木) 15:12:12.70ID:ecAQ66Lj Ha0cLvqC ← こいつに関しては
・情報隠蔽
・関心事の局所化
いずれの意味も明らかに理解できていないし、日本語も通じてないから話が噛み合わない
・情報隠蔽
・関心事の局所化
いずれの意味も明らかに理解できていないし、日本語も通じてないから話が噛み合わない
197デフォルトの名無しさん
2020/08/20(木) 16:03:22.57ID:BhReT/u1 お前らのコミュニケーション能力が劣ってるだけだろ
良い大人なんだからきちんと伝わる語彙と文法、論理を示せばわかりあえる
コミュ障のお前らに俺が手本を見せてやるよ
良い大人なんだからきちんと伝わる語彙と文法、論理を示せばわかりあえる
コミュ障のお前らに俺が手本を見せてやるよ
199デフォルトの名無しさん
2020/08/20(木) 17:54:53.75ID:Ha0cLvqC >>196
でも君、メリット説明できないよね?
でも君、メリット説明できないよね?
200デフォルトの名無しさん
2020/08/20(木) 18:34:06.73ID:ecAQ66Lj お前みたいな低能に説明してる時間が無駄
201デフォルトの名無しさん
2020/08/20(木) 19:27:08.80ID:Ha0cLvqC202デフォルトの名無しさん
2020/08/20(木) 19:33:32.26ID:ecAQ66Lj 技術的な関心があってこんなスレ開いてるんだろ?
にしては程度が低すぎる
にしては程度が低すぎる
203デフォルトの名無しさん
2020/08/20(木) 19:47:35.12ID:ecAQ66Lj お前が今まで信じてきたものやってきたことって意味あったの?
204デフォルトの名無しさん
2020/08/20(木) 20:05:43.17ID:Ha0cLvqC205デフォルトの名無しさん
2020/08/20(木) 20:24:20.57ID:ecAQ66Lj オブジェクト指向の理解にすら躓いてるやつと話しても時間の無駄だから
206デフォルトの名無しさん
2020/08/20(木) 21:49:30.63ID:Ha0cLvqC207デフォルトの名無しさん
2020/08/20(木) 21:56:57.19ID:/mEcLGEB 理解できる脳みそがない
208デフォルトの名無しさん
2020/08/20(木) 22:16:51.32ID:KHHtBj+5 >>206
メリットを解説してるけど、解説になってないというサイトを言える?
お前が一番まともだと思うやつね。全てまともじゃないというのなら其の中でいちばん有名なやつ
それをお前が言えるのであれば、俺らはそれがちゃんとした解説になってることを証明するのは簡単だろう
メリットを解説してるけど、解説になってないというサイトを言える?
お前が一番まともだと思うやつね。全てまともじゃないというのなら其の中でいちばん有名なやつ
それをお前が言えるのであれば、俺らはそれがちゃんとした解説になってることを証明するのは簡単だろう
209デフォルトの名無しさん
2020/08/20(木) 22:22:56.32ID:Ha0cLvqC210デフォルトの名無しさん
2020/08/20(木) 22:30:26.14ID:qjxJt4Hn もう「お前はオブジェクト指向理解してない」
に結論づけるのやめにしようや。
かならずそこに収束するやん。
理解してない奴が悪いんじゃなくて
理解し難い概念であるオブジェクト指向が悪い
っていう発想の転換してんだよ
に結論づけるのやめにしようや。
かならずそこに収束するやん。
理解してない奴が悪いんじゃなくて
理解し難い概念であるオブジェクト指向が悪い
っていう発想の転換してんだよ
211デフォルトの名無しさん
2020/08/20(木) 22:31:11.37ID:Ha0cLvqC だいたい言ってることキチガイじゃん
オブジェクトの中身は隠蔽されてるから気にしなくていいって言った口で
修正するときはprivateのメンバ変数使用箇所全部確認して直せって言ってるんだぜ
なんのために誰に隠蔽してたんだよw
完全に無意味じゃんwww
こんなくだらないことやってるんだったら、public staticにするべきだぜ
オブジェクトの中身は隠蔽されてるから気にしなくていいって言った口で
修正するときはprivateのメンバ変数使用箇所全部確認して直せって言ってるんだぜ
なんのために誰に隠蔽してたんだよw
完全に無意味じゃんwww
こんなくだらないことやってるんだったら、public staticにするべきだぜ
212デフォルトの名無しさん
2020/08/20(木) 22:34:10.09ID:Eg0HvHSQ いや、一クラス一メソッドの原則に基づいて設計すればじゅうぶん可能。
213デフォルトの名無しさん
2020/08/20(木) 22:47:07.87ID:KHHtBj+5214デフォルトの名無しさん
2020/08/20(木) 22:48:24.29ID:KHHtBj+5 >>211
> オブジェクトの中身は隠蔽されてるから気にしなくていいって言った口で
それは使う場合の話。つまり開発(担当)者とは別の人は気にしなくていい
> 修正するときはprivateのメンバ変数使用箇所全部確認して直せって言ってるんだぜ
それは開発(担当)者の話
この区別ぐらい基本だろ
> オブジェクトの中身は隠蔽されてるから気にしなくていいって言った口で
それは使う場合の話。つまり開発(担当)者とは別の人は気にしなくていい
> 修正するときはprivateのメンバ変数使用箇所全部確認して直せって言ってるんだぜ
それは開発(担当)者の話
この区別ぐらい基本だろ
215デフォルトの名無しさん
2020/08/20(木) 23:03:27.99ID:Ha0cLvqC216デフォルトの名無しさん
2020/08/20(木) 23:06:06.44ID:KHHtBj+5 >>215
お前バカなのか?
例え自分が開発したとしても、それを使うだけの場合と開発する場合は違うだろ
苦労して頑張ってライブラリを作りました。
そのライブラリを使うときに、ライブラリのソースコードの中身を見ないと使い方がわかりません
ってそれ、作り方しっぱいしてるじゃん
お前はいちいち中身を見てるんだろうけどな
お前バカなのか?
例え自分が開発したとしても、それを使うだけの場合と開発する場合は違うだろ
苦労して頑張ってライブラリを作りました。
そのライブラリを使うときに、ライブラリのソースコードの中身を見ないと使い方がわかりません
ってそれ、作り方しっぱいしてるじゃん
お前はいちいち中身を見てるんだろうけどな
217デフォルトの名無しさん
2020/08/20(木) 23:07:26.61ID:Ha0cLvqC218デフォルトの名無しさん
2020/08/20(木) 23:08:01.72ID:qjxJt4Hn そのライブラリ使ってるブログ検索して
真似するだけなんだよなぁ…
隠蔽要らんやん
真似するだけなんだよなぁ…
隠蔽要らんやん
219デフォルトの名無しさん
2020/08/20(木) 23:11:15.07ID:Ha0cLvqC >>216
は?何言ってるのか意味不明
は?何言ってるのか意味不明
220デフォルトの名無しさん
2020/08/20(木) 23:13:58.87ID:KHHtBj+5221デフォルトの名無しさん
2020/08/20(木) 23:15:04.46ID:KHHtBj+5 頑張ってクイックソートライブラリを作ったおっさんは
これでもうソートするときに中身をいちいち見なくてすむ
って安堵してるわけだ
これでもうソートするときに中身をいちいち見なくてすむ
って安堵してるわけだ
222デフォルトの名無しさん
2020/08/20(木) 23:19:44.69ID:Ha0cLvqC223デフォルトの名無しさん
2020/08/20(木) 23:44:16.56ID:KHHtBj+5224デフォルトの名無しさん
2020/08/20(木) 23:44:18.70ID:iNatz9V0 >>195
そうそう。
カプセル化っていってんだから、オブジェクト指向は関係ない。
Cの構造体でメンバを公開したり非公開にしたりできまっせ。っていうだけのこと。
それを愚かというなら、その程度の規模のプログラムしか作ったことないんだろうね。
そうそう。
カプセル化っていってんだから、オブジェクト指向は関係ない。
Cの構造体でメンバを公開したり非公開にしたりできまっせ。っていうだけのこと。
それを愚かというなら、その程度の規模のプログラムしか作ったことないんだろうね。
225デフォルトの名無しさん
2020/08/20(木) 23:45:52.06ID:iNatz9V0226デフォルトの名無しさん
2020/08/20(木) 23:47:57.89ID:Ha0cLvqC227デフォルトの名無しさん
2020/08/20(木) 23:49:20.30ID:KHHtBj+5228デフォルトの名無しさん
2020/08/20(木) 23:50:03.69ID:Ha0cLvqC >>225
年収1000万超えのカリスマプログラマー(笑)さんですか?
年収1000万超えのカリスマプログラマー(笑)さんですか?
229デフォルトの名無しさん
2020/08/20(木) 23:50:43.49ID:KHHtBj+5 > でも修正するとき見ないと駄目なんだろw
でも風呂に入るとき脱がないと駄目なんだろw
じゃあ服着る意味がないじゃない
といっているのがお前
でも風呂に入るとき脱がないと駄目なんだろw
じゃあ服着る意味がないじゃない
といっているのがお前
230デフォルトの名無しさん
2020/08/20(木) 23:55:00.24ID:iNatz9V0231デフォルトの名無しさん
2020/08/20(木) 23:56:32.42ID:iNatz9V0 >>230
机じゃなくて椅子か。
机じゃなくて椅子か。
232デフォルトの名無しさん
2020/08/20(木) 23:59:10.43ID:Ha0cLvqC >>227
は?だってメンバ変数ってクラス内限定のグローバル変数だぜ
このときのお前のメソッドは俺の作るpublic staticなメソッドより遥かに
不出来で読みにくい
どこでいきなり編集されるかわからないメンバ変数に気を配りながら
メソッドを読むのはぶっちゃけ苦痛でしかない
は?だってメンバ変数ってクラス内限定のグローバル変数だぜ
このときのお前のメソッドは俺の作るpublic staticなメソッドより遥かに
不出来で読みにくい
どこでいきなり編集されるかわからないメンバ変数に気を配りながら
メソッドを読むのはぶっちゃけ苦痛でしかない
233デフォルトの名無しさん
2020/08/21(金) 00:00:02.85ID:f3uMOLT8 >>229
たとえ話が適切であることを証明してからしろよそういうのは
たとえ話が適切であることを証明してからしろよそういうのは
234デフォルトの名無しさん
2020/08/21(金) 00:01:33.82ID:x4g5r5SE > メンバ変数がクラス内限定のグローバル変数
その通りなんだが、声を出して笑ったわ。
君と働く人たちは大変だなw
その通りなんだが、声を出して笑ったわ。
君と働く人たちは大変だなw
235デフォルトの名無しさん
2020/08/21(金) 00:13:52.76ID:8bG0TKoL236デフォルトの名無しさん
2020/08/21(金) 00:14:57.41ID:8bG0TKoL 条件付きで何かを主張し始めたら、
それはもう主張が破綻してるってことなんですよ。
Macユーザー限定だとMacのシェア100%だ!みたいにね
それはもう主張が破綻してるってことなんですよ。
Macユーザー限定だとMacのシェア100%だ!みたいにね
237デフォルトの名無しさん
2020/08/21(金) 00:31:48.71ID:FlbTfju5 >>234-235
俺の作るpublic staticのが遥かに厳密に管理されてて
お前らのはしっかりやってるようでいて
わりかしドンブリだってわかっただろ?
俺はオブジェクト指向のここが特に嫌でメンバ変数がグローバル変数的な問題を起こすところが
クラスが大きくなったときに本当に嫌
つまり俺が嫌いなのはグローバル変数的な動きをするメンバ変数なんだよ
クラスでもちゃんと引数通してアクセスするような造りにしてるときは別にいいぜ
ただそれやるならpublic staticのがいいしやっぱりバカだね
俺の作るpublic staticのが遥かに厳密に管理されてて
お前らのはしっかりやってるようでいて
わりかしドンブリだってわかっただろ?
俺はオブジェクト指向のここが特に嫌でメンバ変数がグローバル変数的な問題を起こすところが
クラスが大きくなったときに本当に嫌
つまり俺が嫌いなのはグローバル変数的な動きをするメンバ変数なんだよ
クラスでもちゃんと引数通してアクセスするような造りにしてるときは別にいいぜ
ただそれやるならpublic staticのがいいしやっぱりバカだね
238デフォルトの名無しさん
2020/08/21(金) 00:43:01.36ID:8bG0TKoL > わりかしドンブリだってわかっただろ?
なにか証明した?
それがわかるというレスを(明示できるなら)やってみてよw
なにか証明した?
それがわかるというレスを(明示できるなら)やってみてよw
239デフォルトの名無しさん
2020/08/21(金) 00:43:45.59ID:8bG0TKoL240デフォルトの名無しさん
2020/08/21(金) 01:05:05.19ID:FlbTfju5241デフォルトの名無しさん
2020/08/21(金) 01:06:35.83ID:FlbTfju5 まあ、デバイス絡むとそいつの状態次第だけど
そこに限定できるじゃん?
そこに限定できるじゃん?
242デフォルトの名無しさん
2020/08/21(金) 02:13:09.68ID:8bG0TKoL >>240
引数が大量になるじゃんw
クラスの中にある変数を全部引数で渡すとしたら
何十個にもなるからな
それとも構造体で渡すのか?
そうすると構造体のうちどこを弄るかわからないから
結局グローバル変数と変わらなくなるなw
引数が大量になるじゃんw
クラスの中にある変数を全部引数で渡すとしたら
何十個にもなるからな
それとも構造体で渡すのか?
そうすると構造体のうちどこを弄るかわからないから
結局グローバル変数と変わらなくなるなw
243デフォルトの名無しさん
2020/08/21(金) 03:01:20.82ID:2Tg4ivJd たしかにベテランになるにつれ、パブリックスタティック関数でやりきる方がすっきりするかもしれん
整理の上手さで
利点はソースがシンプルで早く作れるのと、可読性が良い
ただし整理が上手い場合
もっとも、整理が下手ならクラスもうじゃーっとなるw
無駄にやたらオーバーロードしてたり
整理の上手さで
利点はソースがシンプルで早く作れるのと、可読性が良い
ただし整理が上手い場合
もっとも、整理が下手ならクラスもうじゃーっとなるw
無駄にやたらオーバーロードしてたり
244デフォルトの名無しさん
2020/08/21(金) 03:02:16.79ID:2Tg4ivJd いやオーバーロードはパブリックスタティックでもできるか
245デフォルトの名無しさん
2020/08/21(金) 04:45:13.35ID:xkZp2iCS >>243
もともと小さいプログラムならどっちでやってもすっきり書ける
問題はある程度大きくなると状態とかを取り回す必要が生じてその場合は
毎回staticな関数を呼ぶときにそれらを引数として渡さなきゃいけない
そこまで想像して発言してるか?
もともと小さいプログラムならどっちでやってもすっきり書ける
問題はある程度大きくなると状態とかを取り回す必要が生じてその場合は
毎回staticな関数を呼ぶときにそれらを引数として渡さなきゃいけない
そこまで想像して発言してるか?
246デフォルトの名無しさん
2020/08/21(金) 04:53:48.30ID:xkZp2iCS 小さいプログラムに対してはオブジェクト指向なんて記述が大げさすぎるのは事実だ
でもプログラムが大きくなってくるとその恩恵に預かれる
でもプログラムが大きくなってくるとその恩恵に預かれる
247デフォルトの名無しさん
2020/08/21(金) 04:55:17.21ID:cTh5+k8G 例えばボタンを描画する関数があったとする
そのスタイルとはボタンの色、サイズ、座標
面倒くさいからリンクを貼るけど
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.button?view=netcore-3.1
AccessibilityObject, AccessibleDefaultActionDescription, AccessibleDescription, AccessibleName,
AccessibleRole, AllowDrop., Anchor, AutoEllipsis, AutoScrollOffset, AutoSize, AutoSizeMode,
BackColor, BackgroundImage, BackgroundImageLayout, ImageLayout, BindingContext,
Bottom, Bounds, CanEnableIme, CanFocus, CanRaiseEvents, CanSelect, Capture,
CausesValidation, ClientRectangle, ClientSize, CompanyName, Container, ContainsFocus,
ContextMenu , ContextMenuStrip, Controls, Created, CreateParams, Cursor
飽きたがこれぐらい渡せばボタンが実現でっきるやろ
そのスタイルとはボタンの色、サイズ、座標
面倒くさいからリンクを貼るけど
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.button?view=netcore-3.1
AccessibilityObject, AccessibleDefaultActionDescription, AccessibleDescription, AccessibleName,
AccessibleRole, AllowDrop., Anchor, AutoEllipsis, AutoScrollOffset, AutoSize, AutoSizeMode,
BackColor, BackgroundImage, BackgroundImageLayout, ImageLayout, BindingContext,
Bottom, Bounds, CanEnableIme, CanFocus, CanRaiseEvents, CanSelect, Capture,
CausesValidation, ClientRectangle, ClientSize, CompanyName, Container, ContainsFocus,
ContextMenu , ContextMenuStrip, Controls, Created, CreateParams, Cursor
飽きたがこれぐらい渡せばボタンが実現でっきるやろ
248デフォルトの名無しさん
2020/08/21(金) 05:34:11.16ID:FlbTfju5 >>242
どっちでもいいよ
そこで見た目にビビってやめちゃうのが一番の害
それだけ複雑な処理だから仕方ないんだよ
逆にそれだけのもんをグローバル変数で空中戦なんかするから手に負えなくなる
どんなにでかくなっても引数と戻り値に打ち込めや
逆にそこの検閲を徹底するから楽になるんや
どっちでもいいよ
そこで見た目にビビってやめちゃうのが一番の害
それだけ複雑な処理だから仕方ないんだよ
逆にそれだけのもんをグローバル変数で空中戦なんかするから手に負えなくなる
どんなにでかくなっても引数と戻り値に打ち込めや
逆にそこの検閲を徹底するから楽になるんや
249デフォルトの名無しさん
2020/08/21(金) 05:36:23.70ID:FlbTfju5250デフォルトの名無しさん
2020/08/21(金) 07:03:30.98ID:xkZp2iCS >メンバ変数ってクラス内限定のグローバル変数だぜ
最強の迷言
最強の迷言
251デフォルトの名無しさん
2020/08/21(金) 08:40:41.98ID:FlbTfju5252デフォルトの名無しさん
2020/08/21(金) 09:09:18.44ID:x4g5r5SE お前がコーディングしたプログラム貼れよ。
一つのメソッドで1000行とかそれ以上書いてそうなんだよな。
一つのメソッドで1000行とかそれ以上書いてそうなんだよな。
253デフォルトの名無しさん
2020/08/21(金) 09:57:08.78ID:Tdq0GS4g254デフォルトの名無しさん
2020/08/21(金) 10:00:09.80ID:Tdq0GS4g 変数は必要最小限にしたが良い
数もスコープも
数もスコープも
255デフォルトの名無しさん
2020/08/21(金) 10:30:15.77ID:aoU7uP7R 要するにゴミのような想像を絶する現場で使われてる言語がJavaだった、と
すると袈裟が憎い理論も成り立つ
が、どんなパラダイムのどんな言語を使っても底辺ドカタはゴミを作り出す
とすると、一定水準以下の知能の物体は習得できない、面倒な言語を作った方がいい
すると袈裟が憎い理論も成り立つ
が、どんなパラダイムのどんな言語を使っても底辺ドカタはゴミを作り出す
とすると、一定水準以下の知能の物体は習得できない、面倒な言語を作った方がいい
256デフォルトの名無しさん
2020/08/21(金) 10:41:29.06ID:FlbTfju5 >>254
だからってその解決方法がグローバル変数じゃ駄目なわけよ
引数外してグローバル変数や突然取得できる何らかの手法例えばメンバ変数に逃げるのはやってはいけないこと
最低限にするのであって本来必要な引数までカットしていいわけではない
だからってその解決方法がグローバル変数じゃ駄目なわけよ
引数外してグローバル変数や突然取得できる何らかの手法例えばメンバ変数に逃げるのはやってはいけないこと
最低限にするのであって本来必要な引数までカットしていいわけではない
257デフォルトの名無しさん
2020/08/21(金) 10:42:26.76ID:cTh5+k8G >>256
必要な引数が多かったらどうすんの?
必要な引数が多かったらどうすんの?
258デフォルトの名無しさん
2020/08/21(金) 10:49:23.77ID:FlbTfju5 >>257
処理を分けるかそれができなければ
その引数はそのメソッドに必要なものなので潔く引数にズラズラ並べる
こうすることで
引数を通した時点で型チェック
メソッドを呼び出した頭で値のチェックができ、適切なエラーが出せるし出しやすい
無くしてしまっては何にもわからない
呼び出した側はその変数がそのメソッドに使われているかどうかすらわからない
エラーを出してもそれが内包されてるメンバ変数では一体何が起こったのかさっぱりわからない
処理を分けるかそれができなければ
その引数はそのメソッドに必要なものなので潔く引数にズラズラ並べる
こうすることで
引数を通した時点で型チェック
メソッドを呼び出した頭で値のチェックができ、適切なエラーが出せるし出しやすい
無くしてしまっては何にもわからない
呼び出した側はその変数がそのメソッドに使われているかどうかすらわからない
エラーを出してもそれが内包されてるメンバ変数では一体何が起こったのかさっぱりわからない
259デフォルトの名無しさん
2020/08/21(金) 10:57:12.37ID:wUhiKu+g >>258
俺はお前が何をやってるのかさっぱりわからないよw
結局のところ、お前はお前の言うやり方で、現実的に意味のある動作をするそれなりの規模のプログラムを書いたことはあるの?
実際のスケール感を無視して、頭の中の小さなサンプルだけをイメージしながら机上の空論を並べ立ててるだけでないの?
そりゃ自分に都合のいいモデルだけをイメージしてれば、サイキョーのカンペキな理論ができるわな
俺はお前が何をやってるのかさっぱりわからないよw
結局のところ、お前はお前の言うやり方で、現実的に意味のある動作をするそれなりの規模のプログラムを書いたことはあるの?
実際のスケール感を無視して、頭の中の小さなサンプルだけをイメージしながら机上の空論を並べ立ててるだけでないの?
そりゃ自分に都合のいいモデルだけをイメージしてれば、サイキョーのカンペキな理論ができるわな
260デフォルトの名無しさん
2020/08/21(金) 10:58:41.37ID:xkZp2iCS もうこのバカ相手にするのやめません?
261デフォルトの名無しさん
2020/08/21(金) 11:01:10.93ID:cTh5+k8G262デフォルトの名無しさん
2020/08/21(金) 11:01:36.84ID:cTh5+k8G263デフォルトの名無しさん
2020/08/21(金) 11:01:59.90ID:cTh5+k8G >>260
おもちゃを取り上げないでくれないかな?w
おもちゃを取り上げないでくれないかな?w
264デフォルトの名無しさん
2020/08/21(金) 11:11:15.32ID:FlbTfju5265デフォルトの名無しさん
2020/08/21(金) 11:29:37.79ID:cTh5+k8G266デフォルトの名無しさん
2020/08/21(金) 11:30:05.87ID:cTh5+k8G 何度言っても理解できない。アホなのか?本当のアホなのか?
267デフォルトの名無しさん
2020/08/21(金) 11:33:26.05ID:cTh5+k8G 引数で渡すと、この値なんなんですか?ってなる
「内部で使用するフラグです。」
初期化関数を呼んだら内部で必要なデータを返しますので
次呼ぶときに渡してください。
ファイルハンドルっていうんです。
みたいなね。
内部情報が一つだけならいいが
複数あったらどうするのか?
ファイルハンドルは内部に確保したメモリに
シーク位置を紐付けて保存してるんですよ
なんてことになるw
「内部で使用するフラグです。」
初期化関数を呼んだら内部で必要なデータを返しますので
次呼ぶときに渡してください。
ファイルハンドルっていうんです。
みたいなね。
内部情報が一つだけならいいが
複数あったらどうするのか?
ファイルハンドルは内部に確保したメモリに
シーク位置を紐付けて保存してるんですよ
なんてことになるw
268デフォルトの名無しさん
2020/08/21(金) 11:47:09.66ID:UrYJ9hGn >>247
ボタンごときに膨大なプロパティがあるのがおかしい
整理できてないw
さておき、実際にはほとんどデフォルトで使うから、「クラスなら面倒がない」と言いたいのかな
関数でも名前付き引数、あるいはコレクション渡しで未設定ならデフォルト、で省略できると思うが
まあコレクションはオブジェクト指向の基礎なので、これを使えば既にオブジェクト指向なんだろうけど
WinAPIもスタティック関数でオブジェクトを動かすので、スタティック関数は別にオブジェクト指向の対立概念ではないが
ボタンごときに膨大なプロパティがあるのがおかしい
整理できてないw
さておき、実際にはほとんどデフォルトで使うから、「クラスなら面倒がない」と言いたいのかな
関数でも名前付き引数、あるいはコレクション渡しで未設定ならデフォルト、で省略できると思うが
まあコレクションはオブジェクト指向の基礎なので、これを使えば既にオブジェクト指向なんだろうけど
WinAPIもスタティック関数でオブジェクトを動かすので、スタティック関数は別にオブジェクト指向の対立概念ではないが
269デフォルトの名無しさん
2020/08/21(金) 12:00:44.90ID:pQPzrAvT >>267
内部で〜はお前が出してるメッセージの問題だよね?
内部で〜はお前が出してるメッセージの問題だよね?
270デフォルトの名無しさん
2020/08/21(金) 12:03:46.30ID:pQPzrAvT271デフォルトの名無しさん
2020/08/21(金) 12:08:14.57ID:cTh5+k8G >>268
> ボタンごときに膨大なプロパティがあるのがおかしい
現実見ろよ
お前が言う方法で、create_button関数作ってみ
ボタンの属性として、ボタンの値、無効ボタンかどうか、
位置x、y、z座標、文字の色、ボタンの色、枠のスタイル、
ボタンの余白、文字の右寄せ・左寄せ、フォント、
まだまだあるが、これぐらいでいいだろう?
ボタンを作ったらこれだけの属性が初期設定として
設定される
はい、引数で作ってみてください
あと将来の拡張性も考えてね。
増えるかもしれない
> ボタンごときに膨大なプロパティがあるのがおかしい
現実見ろよ
お前が言う方法で、create_button関数作ってみ
ボタンの属性として、ボタンの値、無効ボタンかどうか、
位置x、y、z座標、文字の色、ボタンの色、枠のスタイル、
ボタンの余白、文字の右寄せ・左寄せ、フォント、
まだまだあるが、これぐらいでいいだろう?
ボタンを作ったらこれだけの属性が初期設定として
設定される
はい、引数で作ってみてください
あと将来の拡張性も考えてね。
増えるかもしれない
272デフォルトの名無しさん
2020/08/21(金) 12:24:30.10ID:FlbTfju5 構造体でも作れば見た目シンプルになるで
273デフォルトの名無しさん
2020/08/21(金) 12:28:47.71ID:AwYjNd+Z274デフォルトの名無しさん
2020/08/21(金) 12:32:51.09ID:AwYjNd+Z 結局、引数で複数の情報を与えるのはずらずら何十個の並べれば
また可能だとしても、戻り値が一つしかないから現実的じゃないんだよね
クラスを使うのは、一つのメソッドで
複数のプロパティを操作することがあるからなわけ
例えばcreate_buttonだったら複数のプロパティを初期化する
戻り値で複数の値を返せないし、戻り値を構造体とかクラスにして返すとしたら
結局それはお前の言うクラス内のグローバル変数と同じになってしまう
引数の構造体(クラス)のうちどこを変更するかわからないからね
また可能だとしても、戻り値が一つしかないから現実的じゃないんだよね
クラスを使うのは、一つのメソッドで
複数のプロパティを操作することがあるからなわけ
例えばcreate_buttonだったら複数のプロパティを初期化する
戻り値で複数の値を返せないし、戻り値を構造体とかクラスにして返すとしたら
結局それはお前の言うクラス内のグローバル変数と同じになってしまう
引数の構造体(クラス)のうちどこを変更するかわからないからね
275デフォルトの名無しさん
2020/08/21(金) 12:50:37.55ID:AwYjNd+Z 引数で渡すと将来の修正時の拡張性と互換性が犠牲になる
これはいい知見だ
これはいい知見だ
276デフォルトの名無しさん
2020/08/21(金) 12:51:17.64ID:7UnAdk+W 変数のスコープと型の違いも区別できてないようだと
どういうやり方しても泥スパゲッティしか出来上がらない
どういうやり方しても泥スパゲッティしか出来上がらない
277デフォルトの名無しさん
2020/08/21(金) 12:53:26.97ID:Q2DXCe4b 関数型を否定するのか。
278デフォルトの名無しさん
2020/08/21(金) 12:57:43.17ID:AwYjNd+Z 関数型は否定してないよ
少数の引数と一つの戻り値だけで実現できることなら関数型でやればいい
それができないことまで無理してやろうとするのはデメリットしか無いという話
引数で渡せばメリットが有る、だから引数で渡すようにしよう!
これは間違いで
引数で渡せる場合は、関数型にメリットが有るが
そうでない場合にはむしろろデメリットになる
条件に応じて関数型にするかに分岐するのであって
関数型にするために条件を無理やり歪めてはいけないということ
少数の引数と一つの戻り値だけで実現できることなら関数型でやればいい
それができないことまで無理してやろうとするのはデメリットしか無いという話
引数で渡せばメリットが有る、だから引数で渡すようにしよう!
これは間違いで
引数で渡せる場合は、関数型にメリットが有るが
そうでない場合にはむしろろデメリットになる
条件に応じて関数型にするかに分岐するのであって
関数型にするために条件を無理やり歪めてはいけないということ
279デフォルトの名無しさん
2020/08/21(金) 13:56:53.08ID:YabcZt9w 構造体でまとめることによって引数で渡せるようになるのなら、そうした方が関数型的な考え方に親和的ということはない?
戻り値が引数以外に依存するのはできるだけ避けるというのが関数形的な発想かと思っていたが、
戻り値が引数以外に依存するのはできるだけ避けるというのが関数形的な発想かと思っていたが、
280デフォルトの名無しさん
2020/08/21(金) 14:03:53.99ID:AwYjNd+Z >>279
そうすると結局、クラス内のメンバ変数のどこがいじられるかわからないというのが
引数の構造体のどこがいじられるかわからないという問題に変わるだけで
関数型を使うメリットが無くなる
じゃあもうクラスでいいじゃんとなる
何度も言うように、関数型が優れてるから関数型に移行するのではなく
関数型が優れてる場合は限られてるので、そこだけ関数型にすればいい
関数型にメリットがないならオブジェクト指向にすればいい
その例が、ボタンの生成のように一つの関数で
複数のメンバ変数を初期化するような例
そうすると結局、クラス内のメンバ変数のどこがいじられるかわからないというのが
引数の構造体のどこがいじられるかわからないという問題に変わるだけで
関数型を使うメリットが無くなる
じゃあもうクラスでいいじゃんとなる
何度も言うように、関数型が優れてるから関数型に移行するのではなく
関数型が優れてる場合は限られてるので、そこだけ関数型にすればいい
関数型にメリットがないならオブジェクト指向にすればいい
その例が、ボタンの生成のように一つの関数で
複数のメンバ変数を初期化するような例
281デフォルトの名無しさん
2020/08/21(金) 14:05:27.74ID:AwYjNd+Z × 戻り値が引数以外に依存するのはできるだけ避ける
○ 戻り値が引数以外に依存するのが "避けられる場合に限って" 関数型を使いましょう
○ 戻り値が引数以外に依存するのが "避けられる場合に限って" 関数型を使いましょう
282デフォルトの名無しさん
2020/08/21(金) 14:22:18.92ID:7UnAdk+W 関数型を実践したこともないのに
知ったかして関数型関数型と連呼しちゃうのは
日本を出たこともなく日本のことしか知らないのに
欧米では〜欧米では〜と連呼してるのと同じ
知ったかして関数型関数型と連呼しちゃうのは
日本を出たこともなく日本のことしか知らないのに
欧米では〜欧米では〜と連呼してるのと同じ
283デフォルトの名無しさん
2020/08/21(金) 14:28:24.68ID:Tdq0GS4g 自分で経験したことしか信じない人っていますよね
284デフォルトの名無しさん
2020/08/21(金) 14:42:05.45ID:Tdq0GS4g じゃあグローバル変数を使って大規模なプログラムを組み上げたことがない人はグローバル変数を批判してはいけないのか
実践せずともわかるだろうが、関数型も欧米も想像で十分
実践せずともわかるだろうが、関数型も欧米も想像で十分
285デフォルトの名無しさん
2020/08/21(金) 15:11:36.49ID:AwYjNd+Z だから多数のプロパティを持つcreate_buttonを関数型で実装してほしい
286デフォルトの名無しさん
2020/08/21(金) 15:22:29.34ID:xkZp2iCS それもグローバル変数を使わずに
287デフォルトの名無しさん
2020/08/21(金) 15:23:39.17ID:xkZp2iCS 押下されたらちゃんとその状態も反映すること
288デフォルトの名無しさん
2020/08/21(金) 15:27:03.62ID:Q2DXCe4b 1クラス1メソッドの原則を守れば可能。
289デフォルトの名無しさん
2020/08/21(金) 15:29:04.16ID:2S3OsUgZ 1クラス1メソッドの原則なんて言葉はお前が考え出したものだろ?w
290デフォルトの名無しさん
2020/08/21(金) 15:38:01.82ID:YabcZt9w ボタン自体は状態を持つものだから、オブジェクト指向で実装するのが自然でしょ?(関数型でも抜け道があるのかもしれないが、自分は関数型には詳しくないのでわからない)
しかし、上でされていた議論はそういう話ではなくて、関数の戻り値が依存する情報を、@全て引数として与えることも、A一部はメンバ変数から引っ張ってくることもできるという状況の場合に、どちらを選択するかという問題設定だと思っていたんだが。
しかし、上でされていた議論はそういう話ではなくて、関数の戻り値が依存する情報を、@全て引数として与えることも、A一部はメンバ変数から引っ張ってくることもできるという状況の場合に、どちらを選択するかという問題設定だと思っていたんだが。
291デフォルトの名無しさん
2020/08/21(金) 15:41:01.39ID:2S3OsUgZ292デフォルトの名無しさん
2020/08/21(金) 15:47:59.93ID:xkZp2iCS グローバル変数未使用で関数のみを使って状態にも対処できる!
オブジェクト指向なんて選択肢はない!
と言い張る子の霊圧が消えた...
オブジェクト指向なんて選択肢はない!
と言い張る子の霊圧が消えた...
293デフォルトの名無しさん
2020/08/21(金) 15:49:18.62ID:x4g5r5SE294デフォルトの名無しさん
2020/08/21(金) 15:50:37.63ID:xkZp2iCS そして日本語もまともに読めないらしい
295デフォルトの名無しさん
2020/08/21(金) 16:05:07.06ID:xkZp2iCS はよこいつにとどめさしてあげて
296デフォルトの名無しさん
2020/08/21(金) 16:24:00.01ID:2S3OsUgZ もう死んでね?w
ボタンを関数型で作れなかったんだから
ボタンを関数型で作れなかったんだから
297デフォルトの名無しさん
2020/08/21(金) 17:27:54.83ID:Tdq0GS4g >>296
お前作れんの?
お前作れんの?
298デフォルトの名無しさん
2020/08/21(金) 17:28:26.23ID:Tdq0GS4g 作れなかったら>>296の負けだから
299デフォルトの名無しさん
2020/08/21(金) 17:33:06.64ID:UrYJ9hGn >>271
たしかC++ってそういうもんだがw
しかも同じく嫌いだよw
整理できてない
で、なんでクラスだとそれが楽になるのかね
>さておき、実際にはほとんどデフォルトで使うから、「クラスなら面倒がない」と言いたいのかな
こういうことかね、て先回りして聞いてるんだが
たしかC++ってそういうもんだがw
しかも同じく嫌いだよw
整理できてない
で、なんでクラスだとそれが楽になるのかね
>さておき、実際にはほとんどデフォルトで使うから、「クラスなら面倒がない」と言いたいのかな
こういうことかね、て先回りして聞いてるんだが
300デフォルトの名無しさん
2020/08/21(金) 17:34:24.29ID:Q2DXCe4b Reduxみたいなやつな。
はよ作れ。
はよ作れ。
301デフォルトの名無しさん
2020/08/21(金) 17:49:58.82ID:xkZp2iCS ちなみに俺はGUIを実装したことある
302デフォルトの名無しさん
2020/08/21(金) 17:50:12.82ID:xkZp2iCS オブジェクト指向でな!
303デフォルトの名無しさん
2020/08/21(金) 17:54:10.24ID:xkZp2iCS 作れもしないくせにど素人が楯突くな
304デフォルトの名無しさん
2020/08/21(金) 17:57:19.01ID:UrYJ9hGn そんなにうじゃっとしてないか
https://bituse.info/winapi/5
//ボタンコントロール作成
hwnd_button=CreateWindowA("button","ボタン",WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
50,50,100,100,hwnd,(HMENU)CHILD_ID,hInstance,NULL);
親ウィンドウの準備がイラっとするのかな
https://bituse.info/winapi/5
//ボタンコントロール作成
hwnd_button=CreateWindowA("button","ボタン",WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
50,50,100,100,hwnd,(HMENU)CHILD_ID,hInstance,NULL);
親ウィンドウの準備がイラっとするのかな
305デフォルトの名無しさん
2020/08/21(金) 17:59:06.13ID:xkZp2iCS そんなお膳立てされたAPI使っていいって誰が言った?
306デフォルトの名無しさん
2020/08/21(金) 18:03:32.36ID:UrYJ9hGn ちなみに多くの人が、「クラスオブジェクト指向な記述で」を「オブジェクト指向で」と言ってるようだね
スタティック関数で動かすオブジェクト指向もあるので(C++、WinAPI)
略すなら「クラスで」と言った方がいい(これも不正確だが)
スタティック関数で動かすオブジェクト指向もあるので(C++、WinAPI)
略すなら「クラスで」と言った方がいい(これも不正確だが)
307デフォルトの名無しさん
2020/08/21(金) 18:22:59.95ID:iO1OXKqS windows apiはc言語でしょ
308デフォルトの名無しさん
2020/08/21(金) 20:03:28.77ID:Q2DXCe4b システムワイドでReduxのような仕組みを適用するのは無理だろうか?
309デフォルトの名無しさん
2020/08/21(金) 20:12:46.04ID:7ttzM/39 思うに、このスレに集まってる人らの
業務内容が違うんから議論がズレるんじゃないか?
Web系の場合メモリ上の
オブジェクトは一瞬で役目を終えるから
正直カプセル化とかいらない
node.jsやPHPでデータベースのへselect文投げると
連想配列オブジェクトの配列が帰ってくるから
つまりテーブルから動的にクラスののオブジェクトが
生成するから正直クラス定義もいらない
staticでなんの問題もないと思う。
状態管理は特有のセッションに保持するだろう。
でもゲーム系だとキャラのHPみたいなゲージ管理や
持ち物、装備品などいつまでもメモリ上に
居座って状態管理が必要だからオブジェクト指向
とカプセル化は大切。
業務内容が違うんから議論がズレるんじゃないか?
Web系の場合メモリ上の
オブジェクトは一瞬で役目を終えるから
正直カプセル化とかいらない
node.jsやPHPでデータベースのへselect文投げると
連想配列オブジェクトの配列が帰ってくるから
つまりテーブルから動的にクラスののオブジェクトが
生成するから正直クラス定義もいらない
staticでなんの問題もないと思う。
状態管理は特有のセッションに保持するだろう。
でもゲーム系だとキャラのHPみたいなゲージ管理や
持ち物、装備品などいつまでもメモリ上に
居座って状態管理が必要だからオブジェクト指向
とカプセル化は大切。
310デフォルトの名無しさん
2020/08/21(金) 20:23:39.45ID:Q2DXCe4b うーん。
職業プログラマが5chで情報交換してたら、ちょっとひどすぎない?
俺は自分の職業の板なんて行かない。
見たことはもちろんあるけど、素人が玄人のフリしてうんちく述べてるだけで、俺らが何か書き込むことは無いと思うよ。
それとも職業プログラマってそんなに程度低い?
素人とうんちく語り合うほど?
職業プログラマが5chで情報交換してたら、ちょっとひどすぎない?
俺は自分の職業の板なんて行かない。
見たことはもちろんあるけど、素人が玄人のフリしてうんちく述べてるだけで、俺らが何か書き込むことは無いと思うよ。
それとも職業プログラマってそんなに程度低い?
素人とうんちく語り合うほど?
311デフォルトの名無しさん
2020/08/21(金) 20:24:45.30ID:Q2DXCe4b プロが匿名掲示板で情報交換して得るものなんてないでしょ。
あったら怖いわw
あったら怖いわw
312デフォルトの名無しさん
2020/08/21(金) 20:34:27.65ID:x4g5r5SE >>309
常駐プログラム云々いっちゃうと、GCが優れてる!いや、C++のデストラクタの方が!
とか、そういう話にもなっちゃうからオブジェクト指向云々は関係ないような。
優秀なCプログラマならCでもリークしないプログラム書くでしょ。
static云々言ってるバカは、オブジェクト指向でもリーク起こすと思うわ。
常駐プログラム云々いっちゃうと、GCが優れてる!いや、C++のデストラクタの方が!
とか、そういう話にもなっちゃうからオブジェクト指向云々は関係ないような。
優秀なCプログラマならCでもリークしないプログラム書くでしょ。
static云々言ってるバカは、オブジェクト指向でもリーク起こすと思うわ。
313デフォルトの名無しさん
2020/08/21(金) 20:49:57.82ID:xkZp2iCS オブジェクトのライフサイクルとカプセル化がなんの関係あるんだ?
314デフォルトの名無しさん
2020/08/21(金) 20:50:21.42ID:xkZp2iCS 素人発言が目立ちだしたな
315デフォルトの名無しさん
2020/08/21(金) 20:51:44.98ID:xkZp2iCS 素人が玄人のフリしてうんちく述べてるのがうざいから消えてほしいとは思ってる
でも中にはプロっぽい人も紛れてる
でも中にはプロっぽい人も紛れてる
316デフォルトの名無しさん
2020/08/21(金) 20:55:22.67ID:Q2DXCe4b いや、無いない。
素人が適当なこと書いてるから訂正するか?
無い無い。
レベルが違いすぎるのよ。
それとも何か?
プログラマという職業に限ってそんなにレベルが低いか?
素人と言い争うほどか?
素人が適当なこと書いてるから訂正するか?
無い無い。
レベルが違いすぎるのよ。
それとも何か?
プログラマという職業に限ってそんなにレベルが低いか?
素人と言い争うほどか?
317デフォルトの名無しさん
2020/08/21(金) 20:57:07.65ID:xkZp2iCS 自分が素人って認めたんかpublic staticくん
318デフォルトの名無しさん
2020/08/21(金) 21:01:52.55ID:2S3OsUgZ >>304
誰もWinAPIの話とは言ってないが、それボタンはウインドウハンドルを返すのよ
つまりクラスのメンバ変数に状態を持ってインスタンスのポインタを返してるのと同じ
オブジェクト指向なんだよね
こういうのって本質的に複数の状態を持ってるわけだから
関数型で作るの大変でしょ?
誰もWinAPIの話とは言ってないが、それボタンはウインドウハンドルを返すのよ
つまりクラスのメンバ変数に状態を持ってインスタンスのポインタを返してるのと同じ
オブジェクト指向なんだよね
こういうのって本質的に複数の状態を持ってるわけだから
関数型で作るの大変でしょ?
319デフォルトの名無しさん
2020/08/21(金) 21:09:07.17ID:Q2DXCe4b Windows自体がオブジェクト指向だから、関数型と相性悪いのかもしれないな。
もしかすると、それが原因でWindowsが無くなるのかもしれないな。
もしかすると、それが原因でWindowsが無くなるのかもしれないな。
320デフォルトの名無しさん
2020/08/21(金) 21:13:17.11ID:xkZp2iCS 頭のネジ外れてんな
締め直してこい
締め直してこい
321デフォルトの名無しさん
2020/08/21(金) 21:15:49.53ID:2S3OsUgZ >>319
だからWindowsの話はしてないんだって
勝手にWin32の話にしておいてWindowsのせいにするなよ
なんでもいいから関数型で複数のプロパティを持つボタンのようなもの作ってみろって
一つの関数で複数のプロパティを操作することもある
そして将来の拡張性も考えないといけない
関数型でできるんか?
だからWindowsの話はしてないんだって
勝手にWin32の話にしておいてWindowsのせいにするなよ
なんでもいいから関数型で複数のプロパティを持つボタンのようなもの作ってみろって
一つの関数で複数のプロパティを操作することもある
そして将来の拡張性も考えないといけない
関数型でできるんか?
322デフォルトの名無しさん
2020/08/21(金) 21:17:53.68ID:Q2DXCe4b ホビーの奴と話し合うことなど、一ミリたりとも無いけどな。
レベルが全く違う。
プログラマに限っては、そんなにレベルが低いか?
アマチュアと話し合うことがあるのか?
レベルが全く違う。
プログラマに限っては、そんなにレベルが低いか?
アマチュアと話し合うことがあるのか?
323デフォルトの名無しさん
2020/08/21(金) 21:19:50.51ID:Q2DXCe4b >>321
ウェブ界では、状態をすべて外に追い出すのが流行ってるようだけどな。
ウェブ界では、状態をすべて外に追い出すのが流行ってるようだけどな。
324デフォルトの名無しさん
2020/08/21(金) 21:20:35.07ID:2S3OsUgZ 関数型っていうのは結局ガイドラインみたいなもんやろ
引数だけから戻り値が決定する関数はテストがしやすいから
可能であればそうするようにしましょう
実際には可能でない場合が多い
何十個の引数と専用の戻り値型でも作れば
理論上は可能かもしれないが使いづらくなる
引数だけから戻り値が決定する関数はテストがしやすいから
可能であればそうするようにしましょう
実際には可能でない場合が多い
何十個の引数と専用の戻り値型でも作れば
理論上は可能かもしれないが使いづらくなる
325デフォルトの名無しさん
2020/08/21(金) 21:21:00.45ID:2S3OsUgZ >>323
それって結局グローバル変数なんだけどねw
それって結局グローバル変数なんだけどねw
326デフォルトの名無しさん
2020/08/21(金) 21:21:03.27ID:yq0UM+AD あおりではなく
カプセル化をうまく説明してあるサイトを長い間探しているんだが
決定版はどこ?
カプセル化をうまく説明してあるサイトを長い間探しているんだが
決定版はどこ?
327デフォルトの名無しさん
2020/08/21(金) 21:21:51.79ID:Q2DXCe4b いや俺は状態をすべて外に追い出すというのが目からうろこよ。
最終的にどうなるのか知らんけど、これは突き詰めて結果を導いてほしいな。
最終的にどうなるのか知らんけど、これは突き詰めて結果を導いてほしいな。
328デフォルトの名無しさん
2020/08/21(金) 21:23:58.46ID:Q2DXCe4b 頑張ったけど駄目でしたという場合もあるだろうけどな。
その結果が納得できるところまで突き詰めてほしいな。
その結果が納得できるところまで突き詰めてほしいな。
329デフォルトの名無しさん
2020/08/21(金) 21:24:48.58ID:2S3OsUgZ ウェブでは状態を全て追い出いたために、巨大な「状態オブジェクト」ができて
複数の関数から、共有の状態オブジェクトを変更するようになってしまってる
引数から戻り値が決まる関数型とは別のものだよ
分離された状態オブジェクトを読み書きして
状態オブジェクトが変更される
複数の関数から、共有の状態オブジェクトを変更するようになってしまってる
引数から戻り値が決まる関数型とは別のものだよ
分離された状態オブジェクトを読み書きして
状態オブジェクトが変更される
330デフォルトの名無しさん
2020/08/21(金) 21:26:23.35ID:Q2DXCe4b >>329
状態を入力に取れば良いだけだろ。
状態を入力に取れば良いだけだろ。
331デフォルトの名無しさん
2020/08/21(金) 21:27:19.73ID:7UnAdk+W >>309
ゲームの種類にもよるけどアクションやシューティングの場合
基本は以下3ステップの無限ループでTODO管理アプリみたいなものと核は同じ
1. 入力を処理
2. 状態を更新
3. 出力を生成
ReactでもElmでもRxでも関数型のパラダイムなら
直前の状態と入力(ユーザー操作やタイマーや衝突など)から
新しいバージョンの状態を作ってそれをもとに出力を生成して画面を更新する
ゲームの種類にもよるけどアクションやシューティングの場合
基本は以下3ステップの無限ループでTODO管理アプリみたいなものと核は同じ
1. 入力を処理
2. 状態を更新
3. 出力を生成
ReactでもElmでもRxでも関数型のパラダイムなら
直前の状態と入力(ユーザー操作やタイマーや衝突など)から
新しいバージョンの状態を作ってそれをもとに出力を生成して画面を更新する
332デフォルトの名無しさん
2020/08/21(金) 21:28:09.14ID:2S3OsUgZ333デフォルトの名無しさん
2020/08/21(金) 21:29:07.77ID:xkZp2iCS アマチュアと話し合ってるんじゃなくて
アマチュアがボケ倒してるからつっこんでるんだろw
アマチュアがボケ倒してるからつっこんでるんだろw
334デフォルトの名無しさん
2020/08/21(金) 21:29:17.98ID:2S3OsUgZ Reactなんかでいう「状態」というのはオブジェクトのこと
335デフォルトの名無しさん
2020/08/21(金) 21:29:25.77ID:Q2DXCe4b336デフォルトの名無しさん
2020/08/21(金) 21:30:03.37ID:xkZp2iCS どんだけかまってほしいんだよ
337デフォルトの名無しさん
2020/08/21(金) 21:32:12.90ID:2S3OsUgZ もともとC++のクラスっていうのは構造体の拡張なんだよね
この構造外がReactなんかでいう状態のこと
関数(状態=構造体へのポインタ, 引数1, 引数2, ...)
というのが
構造体へのポインタ->関数(引数1, 引数2, ...)
に変わったのがC++
この2つは書き方が違うだけで本質的には同じもの
この構造外がReactなんかでいう状態のこと
関数(状態=構造体へのポインタ, 引数1, 引数2, ...)
というのが
構造体へのポインタ->関数(引数1, 引数2, ...)
に変わったのがC++
この2つは書き方が違うだけで本質的には同じもの
338デフォルトの名無しさん
2020/08/21(金) 21:32:44.45ID:Q2DXCe4b >>333
無い無い。
小学生がごっこ遊びしてるところにプロが違う違うと口挟むか?
自分の職業の板を見てもそんな感じよ。
突っ込もうなんて思わないし、実際突っ込んでるプロも見たことが無い。
素人同士でわいわい言い争ってる。
レベルが違いすぎんのよ。
輪に入るわけがない。
職業プログラマは素人の輪に入れるのか?
無い無い。
小学生がごっこ遊びしてるところにプロが違う違うと口挟むか?
自分の職業の板を見てもそんな感じよ。
突っ込もうなんて思わないし、実際突っ込んでるプロも見たことが無い。
素人同士でわいわい言い争ってる。
レベルが違いすぎんのよ。
輪に入るわけがない。
職業プログラマは素人の輪に入れるのか?
339デフォルトの名無しさん
2020/08/21(金) 21:33:20.00ID:2S3OsUgZ340デフォルトの名無しさん
2020/08/21(金) 21:35:42.95ID:Q2DXCe4b 考えてみろよ。
園児が模型の飛行機でブーンとやってるところに、職業パイロットが通りすがったら、違う違う対気速度が低下するからこうだなどと口をはさむか?
そのくらいのレベルの差があるわけよ。
それともなに?
職業プログラマは素人と大した変わらんとでも?
園児が模型の飛行機でブーンとやってるところに、職業パイロットが通りすがったら、違う違う対気速度が低下するからこうだなどと口をはさむか?
そのくらいのレベルの差があるわけよ。
それともなに?
職業プログラマは素人と大した変わらんとでも?
341デフォルトの名無しさん
2020/08/21(金) 21:37:03.29ID:Q2DXCe4b342デフォルトの名無しさん
2020/08/21(金) 21:41:12.88ID:2S3OsUgZ >>341
そりゃオブジェクト指向でもそれは可能なんだから当たり前やろw
そりゃオブジェクト指向でもそれは可能なんだから当たり前やろw
343デフォルトの名無しさん
2020/08/21(金) 21:43:15.03ID:e1ADUqIj >>151-152
ついにこのへんに言及したレスが出てきたな
状態がある問題をプログラミングする以上
どっちの方法がマシかを問うのが次に取るべき立場
状態は悪、関数型は神、みたいな話はもうみんな飽きたろ?
ついにこのへんに言及したレスが出てきたな
状態がある問題をプログラミングする以上
どっちの方法がマシかを問うのが次に取るべき立場
状態は悪、関数型は神、みたいな話はもうみんな飽きたろ?
344デフォルトの名無しさん
2020/08/21(金) 21:43:58.68ID:xkZp2iCS 俺は容赦なく模型飛行機で遊んでいる園児(お前)を空爆する
345デフォルトの名無しさん
2020/08/21(金) 21:45:13.13ID:Q2DXCe4b >>344
だからお前はアマチュアとバレてるわけよ。
だからお前はアマチュアとバレてるわけよ。
346デフォルトの名無しさん
2020/08/21(金) 21:47:12.41ID:Q2DXCe4b >>343
状態と計算を分離する結果、関数型の恩恵にあずかれるなら、分離する方向に行くのが正しいのではないか。
状態と計算を分離する結果、関数型の恩恵にあずかれるなら、分離する方向に行くのが正しいのではないか。
347デフォルトの名無しさん
2020/08/21(金) 21:47:34.18ID:2S3OsUgZ >>343
前から言ってるが、関数型は少数の値型と一つの戻り値で十分な関数としての要件を
満たしているときに便利なもので、そうでないものを無理やり対応させても不便なだけという話
関数型が優位なのは理論上の話で、理論上の話だと数十個の引数でもOKという扱いだから
前から言ってるが、関数型は少数の値型と一つの戻り値で十分な関数としての要件を
満たしているときに便利なもので、そうでないものを無理やり対応させても不便なだけという話
関数型が優位なのは理論上の話で、理論上の話だと数十個の引数でもOKという扱いだから
348デフォルトの名無しさん
2020/08/21(金) 21:48:43.03ID:u4nsg/nb349デフォルトの名無しさん
2020/08/21(金) 21:49:03.22ID:2S3OsUgZ >>346
> 状態と計算を分離する結果、関数型の恩恵にあずかれるなら、分離する方向に行くのが正しいのではないか。
「関数型の恩恵にあずかれるなら」
結局そこ
「関数型の恩恵にあずかれるなら」関数型
「関数型の恩恵にあずかれないなら」オブジェクト指向
適切なものを組み合わせて使うべき
「関数型の恩恵にあずかれない」例の一つがボタン
> 状態と計算を分離する結果、関数型の恩恵にあずかれるなら、分離する方向に行くのが正しいのではないか。
「関数型の恩恵にあずかれるなら」
結局そこ
「関数型の恩恵にあずかれるなら」関数型
「関数型の恩恵にあずかれないなら」オブジェクト指向
適切なものを組み合わせて使うべき
「関数型の恩恵にあずかれない」例の一つがボタン
350デフォルトの名無しさん
2020/08/21(金) 21:52:29.11ID:Q2DXCe4b ボタンこそ、恩恵にあずかれるのでは?
351デフォルトの名無しさん
2020/08/21(金) 21:52:48.76ID:2S3OsUgZ >>348
> オブジェクトの内部状態が変わるのと戻り値だけが変わるのとでは影響範囲が違うだろう。
今話をしてるのは
オブジェクトの内部状態 "すべて" を "一つの" 戻り値にしたとき
影響範囲はオブジェクトの内部状態を変えるのと同じことになってるという話をしてる
例えばボタンのスタイルは前景色、背景色、座標、フォント、余白などいろんなスタイルあるが
オブジェクト指向ではボタンのスタイルとしてオブジェクトの内部状態に組み込んでる
これらの前景色、背景色、座標、フォント、余白などをあわせてスタイルオブジェクトとして
関数からスタイルオブジェクトを返すからテストしやすい!といっても
何がテストしやすいのさっぱりわからない
> オブジェクトの内部状態が変わるのと戻り値だけが変わるのとでは影響範囲が違うだろう。
今話をしてるのは
オブジェクトの内部状態 "すべて" を "一つの" 戻り値にしたとき
影響範囲はオブジェクトの内部状態を変えるのと同じことになってるという話をしてる
例えばボタンのスタイルは前景色、背景色、座標、フォント、余白などいろんなスタイルあるが
オブジェクト指向ではボタンのスタイルとしてオブジェクトの内部状態に組み込んでる
これらの前景色、背景色、座標、フォント、余白などをあわせてスタイルオブジェクトとして
関数からスタイルオブジェクトを返すからテストしやすい!といっても
何がテストしやすいのさっぱりわからない
352デフォルトの名無しさん
2020/08/21(金) 21:54:15.43ID:2S3OsUgZ 色を変える関数を作るとするならば
スタイルオブジェクト = setColor(スタイルオブジェクト, 色)
これが関数型
この時、setColorがどの属性をいじるかなんてコードを見ないとわからない
スタイルオブジェクト = setColor(スタイルオブジェクト, 色)
これが関数型
この時、setColorがどの属性をいじるかなんてコードを見ないとわからない
353デフォルトの名無しさん
2020/08/21(金) 21:56:32.11ID:2S3OsUgZ ボタンのスタイルオブジェクトの場合、関数型ではこうなるのだろうか?
ボタン.スタイル = setColor(ボタン.スタイル, 色)
本質的に関数型に適合しないようなものを
無理やり関数型にしても意味ないよ
ボタン.スタイル = setColor(ボタン.スタイル, 色)
本質的に関数型に適合しないようなものを
無理やり関数型にしても意味ないよ
354デフォルトの名無しさん
2020/08/21(金) 21:59:18.77ID:xkZp2iCS どこに状態持っとくかで状態管理のしやすさが変わるんだよな
あるComponentでそれと関係のない状態変数が無造作に置かれてるよりは
必要な場所からのみアクセスできるようになってるほうがありがたい
必要ない場所でその状態変数について気にしなくていいから
あるComponentでそれと関係のない状態変数が無造作に置かれてるよりは
必要な場所からのみアクセスできるようになってるほうがありがたい
必要ない場所でその状態変数について気にしなくていいから
355デフォルトの名無しさん
2020/08/21(金) 22:01:46.81ID:2S3OsUgZ >>353はドットでつないでるから関数型には見えないw
実際はこうなのだろうか?
ボタン = setStyleColor(ボタン, 色)
ボタンには色以外の複数のスタイル属性や
ボタンの有効無効などの属性を持っている
つまりsetStyleColorという関数は
ボタンという連想配列データの一部分をいじる関数になる
それはオブジェクト指向でボタン.スタイル.setColor(色)の場合に
色というメンバ変数を書き換えてるのと大差ない
実際はこうなのだろうか?
ボタン = setStyleColor(ボタン, 色)
ボタンには色以外の複数のスタイル属性や
ボタンの有効無効などの属性を持っている
つまりsetStyleColorという関数は
ボタンという連想配列データの一部分をいじる関数になる
それはオブジェクト指向でボタン.スタイル.setColor(色)の場合に
色というメンバ変数を書き換えてるのと大差ない
356デフォルトの名無しさん
2020/08/21(金) 22:02:23.83ID:2S3OsUgZ >>354
そうやってできたのがオブジェクト指向やなw
そうやってできたのがオブジェクト指向やなw
357デフォルトの名無しさん
2020/08/21(金) 22:03:35.09ID:xkZp2iCS 結局そこに行き着くw
358デフォルトの名無しさん
2020/08/21(金) 22:08:32.02ID:Q2DXCe4b 関数型Windowsが出せなければ、Windowsは無くなるだろな。
359デフォルトの名無しさん
2020/08/21(金) 22:09:51.39ID:2S3OsUgZ360デフォルトの名無しさん
2020/08/21(金) 22:10:10.19ID:u4nsg/nb361デフォルトの名無しさん
2020/08/21(金) 22:11:42.64ID:2S3OsUgZ 単なる戻り値も永続的に存在するので同じ
362デフォルトの名無しさん
2020/08/21(金) 22:17:04.55ID:Q2DXCe4b 俺はこれはある意味何かが起きると思ってんだよ。
賢い奴ら数名は気が付いているようだが。
今頃オブジェクト最強とか言ってるようでは気づけんだろうけど。
賢い奴ら数名は気が付いているようだが。
今頃オブジェクト最強とか言ってるようでは気づけんだろうけど。
363デフォルトの名無しさん
2020/08/21(金) 22:18:31.62ID:2S3OsUgZ364デフォルトの名無しさん
2020/08/21(金) 22:22:11.20ID:Q2DXCe4b 30年かかると思うよ。
でもWindowsは3年でなくなるだろな。
Windowsが30年かけて地位を築いたように。
関数型ウィンドウも30年かけて地位を築く。
でもWindowsは3年でなくなるだろな。
Windowsが30年かけて地位を築いたように。
関数型ウィンドウも30年かけて地位を築く。
365デフォルトの名無しさん
2020/08/21(金) 22:23:47.42ID:2S3OsUgZ >>364
じゃあお前のスレはここでいいねw
Windows10は当初の2025年で終了でしょうね
https://medaka.5ch.net/test/read.cgi/os/1566090910/
じゃあお前のスレはここでいいねw
Windows10は当初の2025年で終了でしょうね
https://medaka.5ch.net/test/read.cgi/os/1566090910/
366デフォルトの名無しさん
2020/08/21(金) 22:25:37.21ID:2S3OsUgZ 向こうのスレに記録残してきたw
367デフォルトの名無しさん
2020/08/21(金) 22:25:41.16ID:Q2DXCe4b Microsoftは世界最大規模の研究所を持ってるから、Windows Fを出してくる可能性がある。
すでに待機中かもしれん。
すでに待機中かもしれん。
368デフォルトの名無しさん
2020/08/21(金) 22:26:40.34ID:Q2DXCe4b >>365
やはりアマチュアか。
やはりアマチュアか。
369デフォルトの名無しさん
2020/08/21(金) 22:26:55.36ID:2S3OsUgZ370デフォルトの名無しさん
2020/08/21(金) 22:29:14.10ID:Q2DXCe4b371デフォルトの名無しさん
2020/08/21(金) 22:30:16.45ID:Q2DXCe4b このスレにいくつかのアイデアが埋まっている。
気づいたものが次世代ウィンドウシステムを作るのだろう。
それが関数型ウィンドウだ。
気づいたものが次世代ウィンドウシステムを作るのだろう。
それが関数型ウィンドウだ。
372デフォルトの名無しさん
2020/08/21(金) 22:31:37.03ID:2S3OsUgZ >>370
ほらな、かってな予想を立てて、自分の予想に自信がないw
ほらな、かってな予想を立てて、自分の予想に自信がないw
373デフォルトの名無しさん
2020/08/21(金) 22:42:46.86ID:Xt87XuMs 全て不変にすれば、パフォーマンス以外の問題点は解決する
374デフォルトの名無しさん
2020/08/22(土) 00:29:04.18ID:H4y73psn >>318
だから言ってるように、オブジェクト指向は否定してない
オブジェクトの操作を、クラスで書くか、関数で書くかっていう記述方法の違いでしか言ってない
関数はスカラー関数に限ってない
流れがプロパティ保持の話ばかりだけど、その程度ではクラスにする必要ない
クラスの特徴はメソッドと継承
そのメソッドが外に出てるのがスタティック関数
書く場所が違うだけで、機能は同じ
Obj.Close
Close( Obj )
の違い
で、実は後者の方が生産性が高い、ということもあるかもしれんねと(体感)
かといってWinAPLみたいに長い名前の膨大なグローバル関数がずらーっとあると、生産性低い
そこは子クラスでなくても、名前空間で分類するだけでも整理が付くので、工夫次第
さらに外人の「動詞+目的語」じゃなく、「主語+動詞」という命名なら分類ごとに並ぶ
× OpenObj、CloseObj
〇 ObjOpn、ObjClose
(クラスのメソッドなら後者の並びになるが、なら関数名自体もそのセンスでいいじゃんていう)
継承は、いろんなイベントで共通の処理があるフォームのバージョン違いだと、ごっそりソースは減る
でもイベント関数自体を共通にして、中で条件分岐の方が見通しがいいかもしれない
(エクセルでシートイベントに対するブックイベントみたいな)
クラス継承は、継承の様子は掘って掘ってしないと調べがつかないので
だから言ってるように、オブジェクト指向は否定してない
オブジェクトの操作を、クラスで書くか、関数で書くかっていう記述方法の違いでしか言ってない
関数はスカラー関数に限ってない
流れがプロパティ保持の話ばかりだけど、その程度ではクラスにする必要ない
クラスの特徴はメソッドと継承
そのメソッドが外に出てるのがスタティック関数
書く場所が違うだけで、機能は同じ
Obj.Close
Close( Obj )
の違い
で、実は後者の方が生産性が高い、ということもあるかもしれんねと(体感)
かといってWinAPLみたいに長い名前の膨大なグローバル関数がずらーっとあると、生産性低い
そこは子クラスでなくても、名前空間で分類するだけでも整理が付くので、工夫次第
さらに外人の「動詞+目的語」じゃなく、「主語+動詞」という命名なら分類ごとに並ぶ
× OpenObj、CloseObj
〇 ObjOpn、ObjClose
(クラスのメソッドなら後者の並びになるが、なら関数名自体もそのセンスでいいじゃんていう)
継承は、いろんなイベントで共通の処理があるフォームのバージョン違いだと、ごっそりソースは減る
でもイベント関数自体を共通にして、中で条件分岐の方が見通しがいいかもしれない
(エクセルでシートイベントに対するブックイベントみたいな)
クラス継承は、継承の様子は掘って掘ってしないと調べがつかないので
375デフォルトの名無しさん
2020/08/22(土) 00:58:01.96ID:qyHD0ees >>374
>書く場所が違うだけで、機能は同じ
ポリモーフィズムの実現方法が異なるというのが本質的な違い
変更要求に対してコードの修正範囲が変わるのでどちらがいいのかというのは状況による
obj.close()はobjがclosableであればいい
close(obj)はcloseがobjの型をサポートしている必要がある
len([0,1,2,3]), len(“foo”)と[0,1,2].length, “foo”.lengthの違い
namespaceやmoduleのサポートが貧弱な言語だと前者は名前空間を汚染しやすい
>書く場所が違うだけで、機能は同じ
ポリモーフィズムの実現方法が異なるというのが本質的な違い
変更要求に対してコードの修正範囲が変わるのでどちらがいいのかというのは状況による
obj.close()はobjがclosableであればいい
close(obj)はcloseがobjの型をサポートしている必要がある
len([0,1,2,3]), len(“foo”)と[0,1,2].length, “foo”.lengthの違い
namespaceやmoduleのサポートが貧弱な言語だと前者は名前空間を汚染しやすい
376デフォルトの名無しさん
2020/08/22(土) 02:55:48.95ID:H4y73psn >>375
“foo”.length はまたややこしい話で
実装はスタティック関数ってこともある(C#の拡張関数)
これは間違いなく生産性高い
むしろそこからスタティック関数の方が生産性高いのではという発想
改めてメソッドを実装しなくても無限に連鎖できる
“foo”.length.text.length
関数は元々無限にネストできるが
length( text( length("foo") ) )
ただし括弧が見にくい、起点が後ろの方にある、組の引数が遠いとこに分かれる、ので眼精疲労が起きる
“foo”.length はまたややこしい話で
実装はスタティック関数ってこともある(C#の拡張関数)
これは間違いなく生産性高い
むしろそこからスタティック関数の方が生産性高いのではという発想
改めてメソッドを実装しなくても無限に連鎖できる
“foo”.length.text.length
関数は元々無限にネストできるが
length( text( length("foo") ) )
ただし括弧が見にくい、起点が後ろの方にある、組の引数が遠いとこに分かれる、ので眼精疲労が起きる
377デフォルトの名無しさん
2020/08/22(土) 03:06:31.41ID:T+/LMfcE > これは間違いなく生産性高い
それはどうやって計測したのか言ってみ
それはどうやって計測したのか言ってみ
378デフォルトの名無しさん
2020/08/22(土) 03:33:53.88ID:T+/LMfcE 実装がスタティック関数 → スタティック関数は生産性が高い
ならば
実装がスタティック関数ではない → スタティック関数は生産性が低い
ならば
実装がスタティック関数ではない → スタティック関数は生産性が低い
379デフォルトの名無しさん
2020/08/22(土) 05:08:17.36ID:TIWYvQ38 >>338
16年この業界にいる現役だよ。
むしろ、一般人ががプログラム言語なんかに興味持つ方が驚き。
現場で使えない派遣のプログラマーをアマグラマーって馬鹿にしてるけど、アマチュアさんいるんやね。プログラムは好き勝手に書いてた方が楽しいよ。
囲碁とか将棋のプロがアマを見る気持ちがこのスレで分かった気がする。
16年この業界にいる現役だよ。
むしろ、一般人ががプログラム言語なんかに興味持つ方が驚き。
現場で使えない派遣のプログラマーをアマグラマーって馬鹿にしてるけど、アマチュアさんいるんやね。プログラムは好き勝手に書いてた方が楽しいよ。
囲碁とか将棋のプロがアマを見る気持ちがこのスレで分かった気がする。
380デフォルトの名無しさん
2020/08/22(土) 05:09:53.91ID:Q5VkNyRi 若造でワロタ
381デフォルトの名無しさん
2020/08/22(土) 05:25:55.26ID:TIWYvQ38 >>376
おまえ、それ、マルチスレッド処理でも同じこと言えんの?
GUIの話してんのかわからんけど、異なる複数の処理がスタティック関数にアクセスすること考えてないだろ?
なんか、Cでmalloc使わない!って豪語して、スタックオーバーフロー起こしてどうしていいかわからなくなってたPG思い出したわ。
おまえ、それ、マルチスレッド処理でも同じこと言えんの?
GUIの話してんのかわからんけど、異なる複数の処理がスタティック関数にアクセスすること考えてないだろ?
なんか、Cでmalloc使わない!って豪語して、スタックオーバーフロー起こしてどうしていいかわからなくなってたPG思い出したわ。
382デフォルトの名無しさん
2020/08/22(土) 05:26:43.69ID:TIWYvQ38383デフォルトの名無しさん
2020/08/22(土) 05:30:08.48ID:YtG8IJDk そりゃ恥ずかしいと思わないと。
この板は文法やライブラリの使い方を取り扱う板。
プロが欲するのはお客様の情報で、ここにいるべきではないだろ。
この板は文法やライブラリの使い方を取り扱う板。
プロが欲するのはお客様の情報で、ここにいるべきではないだろ。
384デフォルトの名無しさん
2020/08/22(土) 05:54:29.25ID:H4y73psn >>381
某大手メーカー系が何年も直せなかったマルチスレッドで起こしてるバグを小一時間で直してあげたことあるよw
(マルチスレッドで確率的に起きる事故はステップ実行で探せないから、勘が必要)
関数がスタティックかどうかと、処理がぶつかるどうかは無関係
組み込み関数を想像すれば分かるだろw
各スレッドがその関数に渡すインスタンスが別ならぶつからない
同じインスタンスの必要があるならシリアル化するだけ
そっちこそマルチスレッドの扱いが曖昧っぽいなw
某大手メーカー系が何年も直せなかったマルチスレッドで起こしてるバグを小一時間で直してあげたことあるよw
(マルチスレッドで確率的に起きる事故はステップ実行で探せないから、勘が必要)
関数がスタティックかどうかと、処理がぶつかるどうかは無関係
組み込み関数を想像すれば分かるだろw
各スレッドがその関数に渡すインスタンスが別ならぶつからない
同じインスタンスの必要があるならシリアル化するだけ
そっちこそマルチスレッドの扱いが曖昧っぽいなw
385デフォルトの名無しさん
2020/08/22(土) 17:03:26.86ID:fmjqBEq5 >>381
16年間どこの業界で何してきてたの君
16年間どこの業界で何してきてたの君
386デフォルトの名無しさん
2020/08/22(土) 18:46:30.33ID:hdxSNQ+Y >“foo”.length はまたややこしい話で
>実装はスタティック関数ってこともある(C#の拡張関数)
>これは間違いなく生産性高い
>むしろそこからスタティック関数の方が生産性高いのではという発想
このあたり失笑なんだけど
こんなちっちゃい部分にクローズアップして生産性を語られても
>実装はスタティック関数ってこともある(C#の拡張関数)
>これは間違いなく生産性高い
>むしろそこからスタティック関数の方が生産性高いのではという発想
このあたり失笑なんだけど
こんなちっちゃい部分にクローズアップして生産性を語られても
387デフォルトの名無しさん
2020/08/22(土) 18:53:23.88ID:hdxSNQ+Y しかも"foo".length()が実装はスタティック関数なのは
C#が提供してる拡張方法がそうなってるだけで
データと処理を紐づけてるのはオブジェクト指向そのものじゃないか
C#が提供してる拡張方法がそうなってるだけで
データと処理を紐づけてるのはオブジェクト指向そのものじゃないか
388デフォルトの名無しさん
2020/08/23(日) 00:21:55.02ID:eNcX4Z1l オブジェクト指向とはオーバーロードである。
ってことも無いのでは?
ってことも無いのでは?
389デフォルトの名無しさん
2020/08/23(日) 01:11:38.44ID:Gvt1TzeD オブジェクト指向=○○ではなくて、
オブジェクト指向はいろんな課題を解決するための
テクニックを詰め込んだ言語
イコールで何かと結びつくものではない
結びついたらオブジェクト指向という必要がないだろ
オブジェクト指向はいろんな課題を解決するための
テクニックを詰め込んだ言語
イコールで何かと結びつくものではない
結びついたらオブジェクト指向という必要がないだろ
390デフォルトの名無しさん
2020/08/23(日) 01:13:25.91ID:HeDyBrKq >>389
ゴミクズ
ゴミクズ
391デフォルトの名無しさん
2020/08/23(日) 01:15:10.85ID:Gvt1TzeD クリティカルヒットしてしまったっぽいw
392デフォルトの名無しさん
2020/08/23(日) 01:32:09.38ID:+aN5WY/b いや、そもそもオブジェクト指向だろうが関数型だろうが便利ならなんでもいいけど
関数型のほうがすべてにおいて優れてるって言いたいという動機ありきで
都合のいい話をでっち上げてるとしか思えない
全体的に根拠がふわふわしてるんだよ
関数型のほうがすべてにおいて優れてるって言いたいという動機ありきで
都合のいい話をでっち上げてるとしか思えない
全体的に根拠がふわふわしてるんだよ
393デフォルトの名無しさん
2020/08/23(日) 01:49:35.65ID:+aN5WY/b こんなふわふわした論理を積み重ねちゃう感じで
本当にプログラムがかけるのかも疑問
本当にプログラムがかけるのかも疑問
394デフォルトの名無しさん
2020/08/23(日) 01:49:53.43ID:Gvt1TzeD >>392
そのとおり
私は状態がない世界に住んでいる
私の世界では引数と戻り値だけで表現できる
状態がない世界では関数型が一番
こういう理屈
現実はたくさんの状態がある世界
たくさんの状態をどうやって管理するか?が難しい
そこに架空の世界を持ってきたって意味がない
そのとおり
私は状態がない世界に住んでいる
私の世界では引数と戻り値だけで表現できる
状態がない世界では関数型が一番
こういう理屈
現実はたくさんの状態がある世界
たくさんの状態をどうやって管理するか?が難しい
そこに架空の世界を持ってきたって意味がない
395デフォルトの名無しさん
2020/08/23(日) 01:50:15.25ID:rOaea7BL >>386
プログラミングの生産性は地味でちっちゃいことの積み重ね
管理職やアプリコンサルやその他ペテン師は大きいことを言いたがるから、
多大なコストをかけてマイナンバーカードを作っておいて、未だに当たり前のデータ連携ができておらず、相変わらず無駄な申請
もしくは、ついでに出てきたものに対するついでの返信でしかないものを、「クローズアップ」とする解釈の方が大げさ
>>387
その機能は、あるクラスオブジェクト指向言語、が持ってるのだが、コーディングはスタティックなコストで済む
どの言語を選ぶべきかという話ではなく、どんなコーディングをすべきか、という話
または、いい機能なので他の言語にも付けてね、っていう願望
メソッド風に出てくるのは書式の違いであって、本質的に括弧と違わない
スタティックだと言ってるんだから仕様的にも裏切っちゃいけないし
宣言は length( this string s ) で普通の関数と同じく括弧の中に呼び出し元がある(ちょっと気持ち悪いが)
プログラミングの生産性は地味でちっちゃいことの積み重ね
管理職やアプリコンサルやその他ペテン師は大きいことを言いたがるから、
多大なコストをかけてマイナンバーカードを作っておいて、未だに当たり前のデータ連携ができておらず、相変わらず無駄な申請
もしくは、ついでに出てきたものに対するついでの返信でしかないものを、「クローズアップ」とする解釈の方が大げさ
>>387
その機能は、あるクラスオブジェクト指向言語、が持ってるのだが、コーディングはスタティックなコストで済む
どの言語を選ぶべきかという話ではなく、どんなコーディングをすべきか、という話
または、いい機能なので他の言語にも付けてね、っていう願望
メソッド風に出てくるのは書式の違いであって、本質的に括弧と違わない
スタティックだと言ってるんだから仕様的にも裏切っちゃいけないし
宣言は length( this string s ) で普通の関数と同じく括弧の中に呼び出し元がある(ちょっと気持ち悪いが)
396デフォルトの名無しさん
2020/08/23(日) 14:03:19.82ID:OgLdxADB 馬鹿はオブジェクト指向にかぶれるくらいなら関数型にかぶれてる方がまだ扱いが楽。
モジュール分割へたくそなくせにオブジェクト指向にかぶれるとほんま手に負えんモンスターになるから。
モジュール分割へたくそなくせにオブジェクト指向にかぶれるとほんま手に負えんモンスターになるから。
397デフォルトの名無しさん
2020/08/23(日) 14:24:19.29ID:mH2YjVlt398デフォルトの名無しさん
2020/08/23(日) 19:35:46.59ID:FOCNZ4Ko staticが技術的な話なのか。
C++をbetter Cとして使ってくれてればいいよ。
C++使ってんのにどうしてOOPじゃないんだ、とか言わないからさ^^
C++をbetter Cとして使ってくれてればいいよ。
C++使ってんのにどうしてOOPじゃないんだ、とか言わないからさ^^
399デフォルトの名無しさん
2020/08/23(日) 19:39:10.85ID:a/7Z84eB スタティック関数っていってるの多分javaのスタティックメソッドの方だと思うよ
400デフォルトの名無しさん
2020/08/23(日) 19:41:19.27ID:eNcX4Z1l オブジェクト指向から関数型へは、ある程度発想の転換が必要なんだろな。
スレの子たちは転換できてないな。
オブジェクト指向で設計できないから関数型では出来ないというが、そもそもオブジェクト指向の必要が無いのだが。
スレの子たちは転換できてないな。
オブジェクト指向で設計できないから関数型では出来ないというが、そもそもオブジェクト指向の必要が無いのだが。
401デフォルトの名無しさん
2020/08/23(日) 20:08:07.34ID:ij+CyHSL C++をbetter Cとか言う奴は
C++もCも両方ニワカである
C++もCも両方ニワカである
402デフォルトの名無しさん
2020/08/23(日) 20:22:19.98ID:mH2YjVlt >>400
> オブジェクト指向から関数型へは、ある程度発想の転換が必要なんだろな。
必要なのは発想の転換じゃなくて実装サンプルだよ
多数の状態を持つボタンのようなものをどうすればシンプルに実装できるか
その実装サンプルがどこにもないから関数型には無理なんだなってことになってる
> オブジェクト指向から関数型へは、ある程度発想の転換が必要なんだろな。
必要なのは発想の転換じゃなくて実装サンプルだよ
多数の状態を持つボタンのようなものをどうすればシンプルに実装できるか
その実装サンプルがどこにもないから関数型には無理なんだなってことになってる
403デフォルトの名無しさん
2020/08/23(日) 20:25:02.95ID:eq+oHtYe そもそもオブジェクト指向について、関数型について
きちんと説明できる人っているんだろうか
みんな、なんとなくこういうもの、というイメージしか
持てないでいるんじゃなかろうか
きちんと説明できる人っているんだろうか
みんな、なんとなくこういうもの、というイメージしか
持てないでいるんじゃなかろうか
404デフォルトの名無しさん
2020/08/23(日) 21:08:28.39ID:xAXFDUuo >>403
関数型についてはごく小さな例だけをあげて、だから関数型は素晴らしい、といってるのしか見たことないな
自分が書いたのでなくてもいいからだいきぼなプログラムを関数型でうまく書いたという事例があれば見てみたい
関数型についてはごく小さな例だけをあげて、だから関数型は素晴らしい、といってるのしか見たことないな
自分が書いたのでなくてもいいからだいきぼなプログラムを関数型でうまく書いたという事例があれば見てみたい
405デフォルトの名無しさん
2020/08/23(日) 21:12:08.32ID:OV89sKi5 カプセル化だけではなくオブジェクト指向自体が時代遅れ
スタートアップである弊社が全員ほぼ未経験でRuby on RailsをScalaに移行した理由、その効果と苦労点 - Qiita
https://qiita.com/sonken625/items/d5d0f3b8d794e06489bd
スタートアップである弊社が全員ほぼ未経験でRuby on RailsをScalaに移行した理由、その効果と苦労点 - Qiita
https://qiita.com/sonken625/items/d5d0f3b8d794e06489bd
406デフォルトの名無しさん
2020/08/23(日) 21:13:29.31ID:WHl934bN407デフォルトの名無しさん
2020/08/23(日) 21:33:12.94ID:+aN5WY/b >カプセル化だけではなくオブジェクト指向自体が時代遅れ
といいながらScalaを例に出してるけど
「Scala(スカラ、SKAH-lah)はオブジェクト指向言語と関数型言語の特徴を統合した
マルチパラダイムのプログラミング言語である。」by wikipedia
オブジェクト指向も含んでるしもう何が言いたいのか
といいながらScalaを例に出してるけど
「Scala(スカラ、SKAH-lah)はオブジェクト指向言語と関数型言語の特徴を統合した
マルチパラダイムのプログラミング言語である。」by wikipedia
オブジェクト指向も含んでるしもう何が言いたいのか
408デフォルトの名無しさん
2020/08/23(日) 21:36:35.20ID:+aN5WY/b HaskellではMonadで状態というか状態遷移を表現するらしいけど
関数型推しにはそれがどういう実装になるのか例を示してほしいね
関数型推しにはそれがどういう実装になるのか例を示してほしいね
409デフォルトの名無しさん
2020/08/23(日) 21:45:01.92ID:eNcX4Z1l そんな頼み方で教えてもらえると思ってることに驚いた。
410デフォルトの名無しさん
2020/08/23(日) 21:49:05.95ID:+aN5WY/b 関数型の利点を主張する割にここまで具体的な情報が一つもでてきてない
それともエアプだからわからないとか・・・?!
それともエアプだからわからないとか・・・?!
411デフォルトの名無しさん
2020/08/23(日) 21:49:46.52ID:jaDomWgN >>409
愚図々々せずにさっさと教えて欲しいね
愚図々々せずにさっさと教えて欲しいね
412デフォルトの名無しさん
2020/08/23(日) 21:50:06.36ID:+aN5WY/b 無能ほど偉そうなんだよなぁ
413デフォルトの名無しさん
2020/08/23(日) 22:36:25.12ID:PvvBVKTl >>406
要件?HTML(DOM)のボタンでいいよ
https://www.w3schools.com/jsref/dom_obj_button.asp
プロパティ一覧
autofocus
defaultValue
disabled
form
name
type
value
ボタンを作ったら、これだけの情報が初期化されて
作ったボタンからこれだけの情報を取得することも出来る
本当はスタイルもあるからもっと多いけどね
要件?HTML(DOM)のボタンでいいよ
https://www.w3schools.com/jsref/dom_obj_button.asp
プロパティ一覧
autofocus
defaultValue
disabled
form
name
type
value
ボタンを作ったら、これだけの情報が初期化されて
作ったボタンからこれだけの情報を取得することも出来る
本当はスタイルもあるからもっと多いけどね
414デフォルトの名無しさん
2020/08/23(日) 22:46:04.13ID:eNcX4Z1l ベクトル化の概念が抜け落ちてるんだろうけど。
説明しろと言われても、自分で勉強しろとしか。
説明しろと言われても、自分で勉強しろとしか。
415デフォルトの名無しさん
2020/08/23(日) 22:49:28.19ID:PvvBVKTl 関数型言語
button = CreateButton({name: "名前", type: "submit"})
// buttonは連想配列 {name: "名前", type: "submit"}
print(button["name"])
オブジェクト指向
button = CreateButton({name: "名前", type: "submit"})
// buttonはオブジェクト
print(button.name)
こんな感じっすかね?w
button = CreateButton({name: "名前", type: "submit"})
// buttonは連想配列 {name: "名前", type: "submit"}
print(button["name"])
オブジェクト指向
button = CreateButton({name: "名前", type: "submit"})
// buttonはオブジェクト
print(button.name)
こんな感じっすかね?w
416デフォルトの名無しさん
2020/08/23(日) 22:53:17.20ID:eNcX4Z1l ボタンの「作成」と言ってるところにセンスの悪さを感じるというか。
きちんと説明してやろうという気力が失せるんだよな。
どうせコイツじゃわかんねーだろうっていう。
きちんと説明してやろうという気力が失せるんだよな。
どうせコイツじゃわかんねーだろうっていう。
417デフォルトの名無しさん
2020/08/23(日) 22:54:20.36ID:RQFTaUls じゃあボタンの「作成」以外でもいいよ
お前が好きなように言いたいことを言え
お前はまだ何も言ってない
お前が好きなように言いたいことを言え
お前はまだ何も言ってない
418デフォルトの名無しさん
2020/08/23(日) 22:57:18.72ID:RQFTaUls 関数型言語派は、「はぁ〜お前らわかってないんだよな〜」って言うのが目的なので
説明しろといわれたら、説明できなんだよなw
そのパターンばかり
説明しろといわれたら、説明できなんだよなw
そのパターンばかり
419デフォルトの名無しさん
2020/08/23(日) 23:00:00.42ID:HeDyBrKq そもそもの前提からして意味分かんない
何がどうなることを目指してるの?
お互いに
何がどうなることを目指してるの?
お互いに
420デフォルトの名無しさん
2020/08/23(日) 23:01:52.95ID:RQFTaUls プログラミング言語の目的なんて
目的は動くものを(できるだけ簡潔に)作ることに決まってるだろ
目的は動くものを(できるだけ簡潔に)作ることに決まってるだろ
421デフォルトの名無しさん
2020/08/23(日) 23:06:10.45ID:RQFTaUls 俺今丁度、環境変数を扱うコード書いてるんだけどさ、
1. 環境変数を設定する
2. (確認のために)設定した環境変数を表示する
3. 環境変数を残したまま他のプログラムを実行する
これを関数型言語で書いてみて
1. 環境変数を設定する
2. (確認のために)設定した環境変数を表示する
3. 環境変数を残したまま他のプログラムを実行する
これを関数型言語で書いてみて
422デフォルトの名無しさん
2020/08/23(日) 23:06:58.49ID:RQFTaUls これすごく簡単なことだと思うんだが、こういうのすら関数型言語では実装コードが出ないというねw
423デフォルトの名無しさん
2020/08/23(日) 23:10:12.46ID:+aN5WY/b このスレの流れは関数型狂信者がしつこくオブジェクト指向では駄目だと
根拠の薄い主張を繰り返し、具体的なことを聞くと煙に巻く
今の所、関数型推しはやべえ奴という印象しかない
根拠の薄い主張を繰り返し、具体的なことを聞くと煙に巻く
今の所、関数型推しはやべえ奴という印象しかない
424デフォルトの名無しさん
2020/08/23(日) 23:11:26.36ID:HeDyBrKq425デフォルトの名無しさん
2020/08/23(日) 23:14:04.02ID:+aN5WY/b 散々引っ張っといてこのざま
426デフォルトの名無しさん
2020/08/23(日) 23:14:19.38ID:RQFTaUls427デフォルトの名無しさん
2020/08/23(日) 23:17:02.46ID:RQFTaUls ソフトウェアというのは多数の「状態」をどうやって管理するかってことに尽きるんだが
関数型言語は「状態」が少ない場合はこれでうまくいくという話しかしない
多数の「状態」を管理する方法ではなくて、少数の「状態」を管理する方法しかいわない
多数の「状態」という問題の解決方法ではなく、問題をすり替えてる
関数型言語は「状態」が少ない場合はこれでうまくいくという話しかしない
多数の「状態」を管理する方法ではなくて、少数の「状態」を管理する方法しかいわない
多数の「状態」という問題の解決方法ではなく、問題をすり替えてる
428デフォルトの名無しさん
2020/08/23(日) 23:18:16.79ID:eNcX4Z1l 愚かな奴らよ。
429デフォルトの名無しさん
2020/08/23(日) 23:23:57.75ID:HeDyBrKq 正しく動くこととオブジェクト指向になんの繋がりがあるの?
430デフォルトの名無しさん
2020/08/23(日) 23:26:10.56ID:RQFTaUls 関数型言語にとっては正しく動くことが課題なので・・・
バグばかり
バグばかり
431デフォルトの名無しさん
2020/08/23(日) 23:26:16.73ID:+aN5WY/b まじでろくなやついないな
関数型を嫌う理由として十分だわ
関数型を嫌う理由として十分だわ
432デフォルトの名無しさん
2020/08/23(日) 23:27:32.42ID:RQFTaUls さあ、まだ関数型言語での実装コードは出ないぞ!
433デフォルトの名無しさん
2020/08/23(日) 23:33:01.07ID:HeDyBrKq >>432
お前もコード見て何がどうなってることを確認したいの?
お前もコード見て何がどうなってることを確認したいの?
434デフォルトの名無しさん
2020/08/23(日) 23:35:24.15ID:RQFTaUls >>433
どれくらいの複雑さになるかを確認したい
どれくらいの複雑さになるかを確認したい
435デフォルトの名無しさん
2020/08/23(日) 23:36:04.55ID:+aN5WY/b 簡単なコードなんだからぐずぐずせず
さっと出したほうが早いのに
言い訳してるってことはエアプか
さっと出したほうが早いのに
言い訳してるってことはエアプか
436デフォルトの名無しさん
2020/08/23(日) 23:36:18.75ID:HeDyBrKq 結局、何もかも前提がない
いいソースとはどういうソースを言うの?
っていう単純な前提がないから
全てにおいて結論が出せない
十年以上もコード組んでるくせに
こんなこともわからない時点で
そんなに能力高くないんだよお前ら
いいソースとはどういうソースを言うの?
っていう単純な前提がないから
全てにおいて結論が出せない
十年以上もコード組んでるくせに
こんなこともわからない時点で
そんなに能力高くないんだよお前ら
437デフォルトの名無しさん
2020/08/23(日) 23:36:38.11ID:HeDyBrKq >>434
複雑さの定義は?
複雑さの定義は?
438デフォルトの名無しさん
2020/08/23(日) 23:36:52.33ID:RQFTaUls >>437
コードを見ればわかる
コードを見ればわかる
439デフォルトの名無しさん
2020/08/23(日) 23:37:20.11ID:RQFTaUls いい悪いを議論する前に、まずコードを出さないと意味がない
動くコードを出しましょう
動くコードを出しましょう
440デフォルトの名無しさん
2020/08/23(日) 23:37:36.34ID:+aN5WY/b >いいソースとはどういうソースを言うの?
初心者みたいな質問出たぞ
初心者みたいな質問出たぞ
441デフォルトの名無しさん
2020/08/23(日) 23:37:45.06ID:tmHqRGVP 必死で逃げててワロ
442デフォルトの名無しさん
2020/08/23(日) 23:38:28.03ID:HeDyBrKq >>438
だからコードの何を見るん?
だからコードの何を見るん?
443デフォルトの名無しさん
2020/08/23(日) 23:39:45.71ID:RQFTaUls >>442
関数型のコード例
関数型のコード例
444デフォルトの名無しさん
2020/08/23(日) 23:41:36.66ID:HeDyBrKq もし、コードで判断をするなら全く同じ処理を記述した
方式Aと方式Bの両方が必要になるはずなのにそれも用意しようとせず
片方だけ集めたってしょうがねぇだろバーカ
お前のソースなんてみる必要すらない
方式Aと方式Bの両方が必要になるはずなのにそれも用意しようとせず
片方だけ集めたってしょうがねぇだろバーカ
お前のソースなんてみる必要すらない
445デフォルトの名無しさん
2020/08/23(日) 23:42:18.87ID:+aN5WY/b public staticくん
446デフォルトの名無しさん
2020/08/23(日) 23:43:26.03ID:a/7Z84eB 関数型言語をなんか勘違いしてない?
447デフォルトの名無しさん
2020/08/23(日) 23:43:36.05ID:RQFTaUls >>444
> 1. 環境変数を設定する
> 2. (確認のために)設定した環境変数を表示する
> 3. 環境変数を残したまま他のプログラムを実行する
>
> これを関数型言語で書いてみて
ENV["FOO"]=123
print(ENV["FOO"])
system("bar.exe")
> 1. 環境変数を設定する
> 2. (確認のために)設定した環境変数を表示する
> 3. 環境変数を残したまま他のプログラムを実行する
>
> これを関数型言語で書いてみて
ENV["FOO"]=123
print(ENV["FOO"])
system("bar.exe")
448デフォルトの名無しさん
2020/08/23(日) 23:43:50.12ID:HeDyBrKq そもそもまともな思考ができてねーじゃん
本当にその程度でプログラム組めてるのかよ
恥を知れバーカ
本当にその程度でプログラム組めてるのかよ
恥を知れバーカ
449デフォルトの名無しさん
2020/08/23(日) 23:44:56.07ID:+aN5WY/b >>448 お前がなw
450デフォルトの名無しさん
2020/08/23(日) 23:46:21.56ID:RQFTaUls451デフォルトの名無しさん
2020/08/24(月) 00:20:14.32ID:VfgDhYHP >>413
それら全部状態って呼ぶのかぁ
とりあえず言いたいことは理解した
elmのチュートリアル1ページ目のサンプルコードで
HTMLのボタンも作ってるから見てみるといいよ
https://guide.elm-lang.org/
それら全部状態って呼ぶのかぁ
とりあえず言いたいことは理解した
elmのチュートリアル1ページ目のサンプルコードで
HTMLのボタンも作ってるから見てみるといいよ
https://guide.elm-lang.org/
452デフォルトの名無しさん
2020/08/24(月) 01:27:13.84ID:nvJPtqaW453デフォルトの名無しさん
2020/08/24(月) 03:43:12.52ID:ePkGqGTS インスタンスの代わりに、連想配列を受け取って連想配列を返す
それが関数型
状態はメンバ変数の代わりに、連想配列に入っている
連想配列.メソッド(); これがオブジェクト指向で
関数(連想配列); これが関数型
ということでOK?
それが関数型
状態はメンバ変数の代わりに、連想配列に入っている
連想配列.メソッド(); これがオブジェクト指向で
関数(連想配列); これが関数型
ということでOK?
454デフォルトの名無しさん
2020/08/24(月) 14:43:56.73ID:lWuWtpGZ そもそも、時間の流れがある≒刻一刻と状態が変わる、というパラダイムがある
例えば3Dアクションの全てが四次元プログラミングになる
x,y,z,tの四変数が必要になる
GUIは三次元プログラミングで、x,y,tの三変数が必要になる
未来がどーなるかは分からん、ってのがダイナミック、
一度決めたら未来永劫変わらない、ってのがスタティック
例えば3Dアクションの全てが四次元プログラミングになる
x,y,z,tの四変数が必要になる
GUIは三次元プログラミングで、x,y,tの三変数が必要になる
未来がどーなるかは分からん、ってのがダイナミック、
一度決めたら未来永劫変わらない、ってのがスタティック
455デフォルトの名無しさん
2020/08/24(月) 16:21:03.36ID:uvJBs23t え?実行中に変えるの?
456デフォルトの名無しさん
2020/08/24(月) 17:04:36.25ID:jN2NYQ9A >>453
違います
違います
457デフォルトの名無しさん
2020/08/24(月) 18:30:41.04ID:uvJBs23t メリットが全然わからんのよな
458デフォルトの名無しさん
2020/08/24(月) 18:34:32.74ID:9GBeU53A459デフォルトの名無しさん
2020/08/24(月) 20:26:10.91ID:g9Wmq8dv いちいち理由を説明してもらえるのは小学生までやろな
自分で学ばないやつは数十年前にオブジェクト指向理解できなくて既存のパラダイムに囚われてた老害たちと同じ道を辿る
自分で学ばないやつは数十年前にオブジェクト指向理解できなくて既存のパラダイムに囚われてた老害たちと同じ道を辿る
460デフォルトの名無しさん
2020/08/24(月) 21:48:58.65ID:HcNsafA/ 関数型とかw
461デフォルトの名無しさん
2020/08/24(月) 21:56:58.62ID:Um3NUpro 愚かなり。
462デフォルトの名無しさん
2020/08/24(月) 22:09:11.19ID:uvJBs23t >>459
俺なんかそれ怪しいと思ってるんだよね
オブジェクト指向ってどこをどう探してもメリットねぇよコレ
何でこんなもん広めたんだ?
俺これのおかげでソフトウェア業界何十年停滞したかわかんねぇぞって思ってる
俺なんかそれ怪しいと思ってるんだよね
オブジェクト指向ってどこをどう探してもメリットねぇよコレ
何でこんなもん広めたんだ?
俺これのおかげでソフトウェア業界何十年停滞したかわかんねぇぞって思ってる
463デフォルトの名無しさん
2020/08/24(月) 22:13:42.34ID:Um3NUpro 一つのコンピュータ内に複数のプロセッサがある状況になって、俄然関数型が注目されるわけです。
しかし関数型には、数学的思考力が無いと使い方がわかりづらいという欠点があります。
オブジェクト指向でさえパターンを提唱した人たちがいるのです。
世間を侮ってはいけません。
あなたが思うよりずっと低能です。
しかし関数型には、数学的思考力が無いと使い方がわかりづらいという欠点があります。
オブジェクト指向でさえパターンを提唱した人たちがいるのです。
世間を侮ってはいけません。
あなたが思うよりずっと低能です。
464デフォルトの名無しさん
2020/08/24(月) 23:03:49.96ID:Um3NUpro コンピュータは電子計算機なので、関数型は非常に素直なアプローチです。
465デフォルトの名無しさん
2020/08/25(火) 00:06:02.99ID:1TkiLLpa >>462
ずーっと昔はグローバル変数丸出しで
モジュール間の結合度が高すぎて、
既存コードの保守が難しくなった。
既存コードの保守をしやすくする為に、
モジュール間の結合度を下げよう、
カプセル化してモジュール間のインタフェイスを
最小限にしようという機運が高まった。
そこで出てきたのがオブジェクト指向。
計算機科学は発展途上だから完璧なものは未だ無いよ。
有るのは「よりマシなもの」だけ。
文句を言うのは自由だけど、賢い人はそれを
チャンスと捉える。
ずーっと昔はグローバル変数丸出しで
モジュール間の結合度が高すぎて、
既存コードの保守が難しくなった。
既存コードの保守をしやすくする為に、
モジュール間の結合度を下げよう、
カプセル化してモジュール間のインタフェイスを
最小限にしようという機運が高まった。
そこで出てきたのがオブジェクト指向。
計算機科学は発展途上だから完璧なものは未だ無いよ。
有るのは「よりマシなもの」だけ。
文句を言うのは自由だけど、賢い人はそれを
チャンスと捉える。
466デフォルトの名無しさん
2020/08/25(火) 00:41:02.89ID:+asFNcyT 個人的には関数型に大いに興味があるし、勉強もしてみたいと思っているが、一般的には>>464とは逆の理解の方が一般的なのでは?
電子計算機であることと関数型のメリットがどう結び付くのかよくわからないが。
電子計算機であることと関数型のメリットがどう結び付くのかよくわからないが。
467デフォルトの名無しさん
2020/08/25(火) 01:03:47.54ID:OVVmNr3I >>465
オブジェクト指向のビジネス的な成功理由は
メリットがないことで弱点がないってことかな
メリットがあればみんな当然そこを挫きに来るし
もっといいモノを見つけて来るだろう
メリットが無ければそのアプローチで挑むことはできない
そんなくだらないアプローチが通ってしまうほど技術者が劣化してしまっていたことも原因の一つだと思う
資本主義のセーフティが全く働いていない
より良いものを使用者が選択できる選択肢は無く
どこもかしこも全く余裕がなく世界中でMSの提供物を使うしかなかった
そこまで世界が劣化してしまった結果として生まれた悲劇だと思う
二十年?三十年近くプログラミング言語は何も進化しなかった
これは大き過ぎる失策だったと思う
オブジェクト指向のビジネス的な成功理由は
メリットがないことで弱点がないってことかな
メリットがあればみんな当然そこを挫きに来るし
もっといいモノを見つけて来るだろう
メリットが無ければそのアプローチで挑むことはできない
そんなくだらないアプローチが通ってしまうほど技術者が劣化してしまっていたことも原因の一つだと思う
資本主義のセーフティが全く働いていない
より良いものを使用者が選択できる選択肢は無く
どこもかしこも全く余裕がなく世界中でMSの提供物を使うしかなかった
そこまで世界が劣化してしまった結果として生まれた悲劇だと思う
二十年?三十年近くプログラミング言語は何も進化しなかった
これは大き過ぎる失策だったと思う
468デフォルトの名無しさん
2020/08/25(火) 01:18:33.72ID:udMwTrr2 CでADT書いてみればオブジェクト指向の利便性がわかるよ
オブジェクトはADTの延長線にあるものだから
流行ったのはGUIを実現するにあたっての現実な解だったからだろうね
オブジェクトはADTの延長線にあるものだから
流行ったのはGUIを実現するにあたっての現実な解だったからだろうね
469デフォルトの名無しさん
2020/08/25(火) 01:33:38.55ID:fuDvWy3W470デフォルトの名無しさん
2020/08/25(火) 01:34:35.54ID:fuDvWy3W471デフォルトの名無しさん
2020/08/25(火) 01:36:44.68ID:fuDvWy3W 関数型言語の方が(ある点では)メリットが有るのは事実だが
オブジェクト指向にもメリットは有るわけで
それが理解できないのはセンスがない
オブジェクト指向にはメリットがあるが、関数型言語なら
それを上回るメリットが有るという言い方をするならわかるが
メリット自体がわからないんでしょう?
オブジェクト指向にもメリットは有るわけで
それが理解できないのはセンスがない
オブジェクト指向にはメリットがあるが、関数型言語なら
それを上回るメリットが有るという言い方をするならわかるが
メリット自体がわからないんでしょう?
472デフォルトの名無しさん
2020/08/25(火) 02:08:54.58ID:U8JRnYTu オブジェクト指向のメリットと謳われていたものはすべてデメリットだったんだよ。
暗殺組織が「両親を殺したのはあいつらだ」と言って子供に殺人させるが、本当は両親を殺したのは暗殺組織みたいな。
もっとも邪悪なのは階層化だろうな。
暗殺組織が「両親を殺したのはあいつらだ」と言って子供に殺人させるが、本当は両親を殺したのは暗殺組織みたいな。
もっとも邪悪なのは階層化だろうな。
473デフォルトの名無しさん
2020/08/25(火) 02:37:14.24ID:fuDvWy3W > オブジェクト指向のメリットと謳われていたものはすべてデメリットだったんだよ。
じゃあそのメリットというものをすべて言ってみてください
それがデメリットかどうか語るのはそれからですね
じゃあそのメリットというものをすべて言ってみてください
それがデメリットかどうか語るのはそれからですね
474デフォルトの名無しさん
2020/08/25(火) 02:46:05.11ID:U8JRnYTu Microsoftから関数型OSが出るかもしれんな。
出せなければMicrosoftは終わりだろ。
出せなければMicrosoftは終わりだろ。
475デフォルトの名無しさん
2020/08/25(火) 03:49:49.16ID:fuDvWy3W じゃあ俺はMicorosoftどころか、Apple、Googleも含めて
関数型OSなんてのは登場せず、終りもしない方に掛けるわw
少なくとも100年以上安泰だろうな
でお前はMicrosoftはいつまでに終わると思う?
終わると言っては見たものの、すぐには終わりそうもないから
100年後には終わってるはずだーとか言う?w
なんかぐぐってみたらNixOSとかいうのが純関数型OSとか書いてあるの見つけて調べてみたら
たんにパッケージマネージャーが関数型(というより宣言的記述で使えるだけ?)みたいでワロタ
お前が言う関数型OSっていうのもこういう意味?w
https://www.atmarkit.co.jp/news/200902/17/nixos.html
> もう1つ、最近私が気になっている実験的OSは“純関数型”を標榜する「NixOS」だ。
>これもLinux上に構築したシステムで、本来の意味でのOSとは違うのだが、
>ユーザーが利用するシステムが抱えている課題を解決しようとしているという意味では
>OSと呼んでもいいと思う。NixOSの公式ページには純関数型ディストリビューションと書いてある。
関数型OSなんてのは登場せず、終りもしない方に掛けるわw
少なくとも100年以上安泰だろうな
でお前はMicrosoftはいつまでに終わると思う?
終わると言っては見たものの、すぐには終わりそうもないから
100年後には終わってるはずだーとか言う?w
なんかぐぐってみたらNixOSとかいうのが純関数型OSとか書いてあるの見つけて調べてみたら
たんにパッケージマネージャーが関数型(というより宣言的記述で使えるだけ?)みたいでワロタ
お前が言う関数型OSっていうのもこういう意味?w
https://www.atmarkit.co.jp/news/200902/17/nixos.html
> もう1つ、最近私が気になっている実験的OSは“純関数型”を標榜する「NixOS」だ。
>これもLinux上に構築したシステムで、本来の意味でのOSとは違うのだが、
>ユーザーが利用するシステムが抱えている課題を解決しようとしているという意味では
>OSと呼んでもいいと思う。NixOSの公式ページには純関数型ディストリビューションと書いてある。
476デフォルトの名無しさん
2020/08/25(火) 07:10:53.76ID:DynTdfXH なんで「関数型」が「オブジェクト指向」の対義語になってるのか
「関数」なら分かるけど
「関数型」(宣言型)は「手続型」の対義語だよね(あまりにかけ離れてるので親階層で対義語)
「手続型」の「関数」は「関数指向」と言えばいいのかなw
・手続型(命令型)
・コマンド型
・関数指向
・オブジェクト指向
・メッセージ型 ←これも関数指向
・クラス型
・宣言型
・関数型
・構造型(SQL)
しかも「関数型」は反「カプセル化」でもないし
本来はループ処理しなきゃ実現できないものを、むしろ隠蔽しちゃうでしょ
SQLもそうだけど(SQLはループじゃなく並列処理だけど)
値1つ1つの変遷をステップ実行で確認できず、手続脳な人には意味が分かりにくい
「関数型」を希望した人はそれが邪魔だってわけだけど
「関数」なら分かるけど
「関数型」(宣言型)は「手続型」の対義語だよね(あまりにかけ離れてるので親階層で対義語)
「手続型」の「関数」は「関数指向」と言えばいいのかなw
・手続型(命令型)
・コマンド型
・関数指向
・オブジェクト指向
・メッセージ型 ←これも関数指向
・クラス型
・宣言型
・関数型
・構造型(SQL)
しかも「関数型」は反「カプセル化」でもないし
本来はループ処理しなきゃ実現できないものを、むしろ隠蔽しちゃうでしょ
SQLもそうだけど(SQLはループじゃなく並列処理だけど)
値1つ1つの変遷をステップ実行で確認できず、手続脳な人には意味が分かりにくい
「関数型」を希望した人はそれが邪魔だってわけだけど
477デフォルトの名無しさん
2020/08/25(火) 07:24:06.19ID:DynTdfXH OSについては、SQLの発想はありだと思う
既にWMIで一部SQLのようなもので操作できるけど
フォルダやレジストリを全検索すると、物凄い時間かかるじゃん
DBなら一瞬なのに
なのでOS自体がDBでできてればなとは思う
縦横無尽に検索したり更新したりできる
メーカーの中の人も影響関係を瞬時に正確に把握でき、バグ率も下がると思う
システムログに物凄い書式のXML使ってるけど、無駄が多過ぎる
肝心な条件で絞れないし
DB形式の2次元では階層表現できないということなんだろうけど、
2次元でも複数のテーブルに分ければいくらでも多次元にできるし、
検索も速いし、分かりやすいし、二次加工しやすい
Webについては最近はJSONとか?
XMLよりはマシだけど、やはりDB形式より無駄が多い
「関数型OS」とかわけわからんけど、XMLと似た危険な香りがする
なぜ人はDB形式以外に挑戦するのか
既にWMIで一部SQLのようなもので操作できるけど
フォルダやレジストリを全検索すると、物凄い時間かかるじゃん
DBなら一瞬なのに
なのでOS自体がDBでできてればなとは思う
縦横無尽に検索したり更新したりできる
メーカーの中の人も影響関係を瞬時に正確に把握でき、バグ率も下がると思う
システムログに物凄い書式のXML使ってるけど、無駄が多過ぎる
肝心な条件で絞れないし
DB形式の2次元では階層表現できないということなんだろうけど、
2次元でも複数のテーブルに分ければいくらでも多次元にできるし、
検索も速いし、分かりやすいし、二次加工しやすい
Webについては最近はJSONとか?
XMLよりはマシだけど、やはりDB形式より無駄が多い
「関数型OS」とかわけわからんけど、XMLと似た危険な香りがする
なぜ人はDB形式以外に挑戦するのか
478デフォルトの名無しさん
2020/08/25(火) 07:56:10.50ID:qpVxWgT6 >>476
オブジェクト指向にとって関数型は対義語じゃないよ
だけど関数型にとってオブジェクト指向は対義語
なぜなら関数型は極めると純粋関数型言語に向かうから
オブジェクト指向にとって関数型は取り入れるもの。便利な部分をつまみ食い
だけど純粋関数型言語にとってオブジェクト指向は純粋関数型言語ではない
オブジェクト指向にとって関数型は対義語じゃないよ
だけど関数型にとってオブジェクト指向は対義語
なぜなら関数型は極めると純粋関数型言語に向かうから
オブジェクト指向にとって関数型は取り入れるもの。便利な部分をつまみ食い
だけど純粋関数型言語にとってオブジェクト指向は純粋関数型言語ではない
479デフォルトの名無しさん
2020/08/25(火) 07:57:31.04ID:qpVxWgT6 >>477
> フォルダやレジストリを全検索すると、物凄い時間かかるじゃん
> DBなら一瞬なのに
インデックスが張られてないDBは検索がものすごく遅い
全件検索するから
つまり、速いか遅いかはインデックスがあるかどうかでしかない
> フォルダやレジストリを全検索すると、物凄い時間かかるじゃん
> DBなら一瞬なのに
インデックスが張られてないDBは検索がものすごく遅い
全件検索するから
つまり、速いか遅いかはインデックスがあるかどうかでしかない
480デフォルトの名無しさん
2020/08/25(火) 08:01:41.39ID:qpVxWgT6 >>477
どうせあれの話をしてるんだろうけど、
Microsoftから学んだほうが良いよ
ファイル検索をSQLでできるようにしたと
大々的に発表したけど結局搭載するのをやめた
時間がなかったわけじゃない。だって随分と前の話で
本当にやる気があるなら、次期バージョンで搭載にしてたはず
つまりMicrosoftという技術力の高い会社が
「発想は面白かったが実際にやってみたら意味がなかった」
と判断したんだから
どうせあれの話をしてるんだろうけど、
Microsoftから学んだほうが良いよ
ファイル検索をSQLでできるようにしたと
大々的に発表したけど結局搭載するのをやめた
時間がなかったわけじゃない。だって随分と前の話で
本当にやる気があるなら、次期バージョンで搭載にしてたはず
つまりMicrosoftという技術力の高い会社が
「発想は面白かったが実際にやってみたら意味がなかった」
と判断したんだから
481デフォルトの名無しさん
2020/08/25(火) 08:04:32.16ID:DynTdfXH482デフォルトの名無しさん
2020/08/25(火) 08:08:52.19ID:DynTdfXH483デフォルトの名無しさん
2020/08/25(火) 08:15:35.41ID:qpVxWgT6 >>481
検索はインデックスが全てです
検索はインデックスが全てです
484デフォルトの名無しさん
2020/08/25(火) 08:18:46.61ID:qpVxWgT6 Googleの検索がめちゃくちゃ速い理由
https://logmi.jp/business/articles/234684
Googleのコンピューターも膨大な時間と努力を投入して
インデックスを作っていますが、その努力の甲斐があるというものです。
インデックスによって劇的に検索スピードが上がり、毎秒、約40,000件もの検索にGoogleは答えているのです。
https://logmi.jp/business/articles/234684
Googleのコンピューターも膨大な時間と努力を投入して
インデックスを作っていますが、その努力の甲斐があるというものです。
インデックスによって劇的に検索スピードが上がり、毎秒、約40,000件もの検索にGoogleは答えているのです。
485デフォルトの名無しさん
2020/08/25(火) 08:38:05.59ID:d88THs21 ここはオブジェクト指向すら理解できない老害の教育の場かな?
486デフォルトの名無しさん
2020/08/25(火) 09:03:39.44ID:+ObH0gCT >>482
>内部的な設計思想
それがWinFSだったんだけど
https://www.itmedia.co.jp/enterprise/articles/0607/18/news010.html
データは複数のデータベース(またはデータストア)に保存され、WinFSはこれらのストアとファイルシステム間でデータの同期を効率よく実行する。
また、連絡先や予定表アイテム、電子メールなど、一般的に使用される類のデータの標準のプロパティスキーマも提供する予定だった。
WinFSが実現されていれば、ファイルの検索や整理機能の向上、および特定の種類のデータ
(連絡先や予定表のイベントなど)の共有を共通スキーマにより簡素化する相互運用性の向上などが期待できた。
>内部的な設計思想
それがWinFSだったんだけど
https://www.itmedia.co.jp/enterprise/articles/0607/18/news010.html
データは複数のデータベース(またはデータストア)に保存され、WinFSはこれらのストアとファイルシステム間でデータの同期を効率よく実行する。
また、連絡先や予定表アイテム、電子メールなど、一般的に使用される類のデータの標準のプロパティスキーマも提供する予定だった。
WinFSが実現されていれば、ファイルの検索や整理機能の向上、および特定の種類のデータ
(連絡先や予定表のイベントなど)の共有を共通スキーマにより簡素化する相互運用性の向上などが期待できた。
487デフォルトの名無しさん
2020/08/25(火) 09:32:10.77ID:1MKRoGus >>486
そして実験的に実装したけど、結局速い検索ならインデックス作るだけでよくね?となったんだよね
そして実験的に実装したけど、結局速い検索ならインデックス作るだけでよくね?となったんだよね
488デフォルトの名無しさん
2020/08/25(火) 09:33:14.13ID:1MKRoGus 特定のプロパティで検索するのも、プロパティをインデックスすればいいだけだしね
489デフォルトの名無しさん
2020/08/25(火) 10:38:19.23ID:ILy/WoQ4 GUI用の概念を別用途に持ち込んだから今の混乱がある
490デフォルトの名無しさん
2020/08/25(火) 10:44:00.33ID:8u+D4Xfy アップルのデスクトップアイコン?
491デフォルトの名無しさん
2020/08/25(火) 10:45:31.68ID:8F6lcUT7 >>478
純粋関数型以外の関数型言語(関数型をベースにしつつオブジェクト指向の機能を付け加えた言語等)も人気があるから、「関数型は極めると純粋関数型に向かう」というのは語弊があるような。
結局今は、純粋なオブジェクト指向を出発点にするにせよ、純粋な関数型を出発点にするにせよ、他方の良い点ををうまく取り込み、バランスを取ることを目指すアプローチが多いんだろう。
純粋関数型以外の関数型言語(関数型をベースにしつつオブジェクト指向の機能を付け加えた言語等)も人気があるから、「関数型は極めると純粋関数型に向かう」というのは語弊があるような。
結局今は、純粋なオブジェクト指向を出発点にするにせよ、純粋な関数型を出発点にするにせよ、他方の良い点ををうまく取り込み、バランスを取ることを目指すアプローチが多いんだろう。
492デフォルトの名無しさん
2020/08/25(火) 12:06:50.27ID:d4ZTtTef 手続き型でしょ
関数型とは言わない
関数型とは言わない
493デフォルトの名無しさん
2020/08/25(火) 12:46:58.36ID:4v9mLqYW 結局、ドキュメント無くても把握できるにはどうすればいいか。あたりが一般的なメリットで、
それを推し進めると、制約や挙動が保証されるものになり
結果、オブジェクトの不完全さが目立って、
関数型がもてはやされるみたいな。
でも、できる人間なら言語の不完全さは乗り越えていくんだよな。
それを推し進めると、制約や挙動が保証されるものになり
結果、オブジェクトの不完全さが目立って、
関数型がもてはやされるみたいな。
でも、できる人間なら言語の不完全さは乗り越えていくんだよな。
494デフォルトの名無しさん
2020/08/25(火) 13:13:20.85ID:8F6lcUT7 「純粋関数型に非ずんば関数型に非ず」という原理主義的な人は、決して多数派ではないと思うけどなぁ。
自分も関数型言語についての知識はあまりないが、たとえばF#(OCaml)は手続型ではなく、関数型言語として紹介されることの方が圧倒的に多いと思う。
自分も関数型言語についての知識はあまりないが、たとえばF#(OCaml)は手続型ではなく、関数型言語として紹介されることの方が圧倒的に多いと思う。
495デフォルトの名無しさん
2020/08/25(火) 14:23:14.32ID:qvclnJmh496デフォルトの名無しさん
2020/08/25(火) 14:24:37.23ID:qvclnJmh497デフォルトの名無しさん
2020/08/25(火) 21:16:52.01ID:v1cYVdvk メッセージングとは、オブジェクト同士の二人称対話なのだ!
>>155
>オブジェクト指向のコア概念メッセージングがなぜ提唱されたか察するに
928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
>>155
>オブジェクト指向のコア概念メッセージングがなぜ提唱されたか察するに
928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
498デフォルトの名無しさん
2020/08/25(火) 21:57:54.05ID:v1cYVdvk ところで「チンポがシコシコする」という日本語表現は、文法的に正しいのか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
499デフォルトの名無しさん
2020/08/25(火) 22:54:13.29ID:U8JRnYTu ヒント:随意運動。
9文字。
9文字。
500デフォルトの名無しさん
2020/08/25(火) 22:55:10.13ID:U8JRnYTu ヒント:下半身は別人格。
裁判で判例があります。
裁判で判例があります。
501デフォルトの名無しさん
2020/08/26(水) 01:39:53.00ID:SGuLbFai ttps://video.twimg.com/ext_tw_video/1296548685300396032/pu/vid/960x720/Tt9Hj_acNH_uHS6Y.mp4?tag=10
502デフォルトの名無しさん
2020/08/26(水) 02:05:56.58ID:4xdL/BMO >>483
そういうペテン師に合わせて最近のバージョンはたまにインデックスが効く罠が仕込んであるのかなw
あるバージョン以降は、妙に遅いことがあって、解析すると、ここにインデックスを貼れと
貼ると、従来の速さに近付く
速くなるわけじゃなく、元に戻るだけw
(バッファオーバーラン防止のためにタイプセーフ対応したとの情報もちらっと見た気がするので、そのせいかもしれない)
にしてもその差はそれほど大きくない
インデックスの威力がメインなら、BULK INSERTや一時テーブルの速さを説明できない
これを使って、1時間の取り込みを数秒に短縮とか、あちこちで改善してきたので
この差はインデックスの有無を遥かに超える差
そういうペテン師に合わせて最近のバージョンはたまにインデックスが効く罠が仕込んであるのかなw
あるバージョン以降は、妙に遅いことがあって、解析すると、ここにインデックスを貼れと
貼ると、従来の速さに近付く
速くなるわけじゃなく、元に戻るだけw
(バッファオーバーラン防止のためにタイプセーフ対応したとの情報もちらっと見た気がするので、そのせいかもしれない)
にしてもその差はそれほど大きくない
インデックスの威力がメインなら、BULK INSERTや一時テーブルの速さを説明できない
これを使って、1時間の取り込みを数秒に短縮とか、あちこちで改善してきたので
この差はインデックスの有無を遥かに超える差
503デフォルトの名無しさん
2020/08/26(水) 02:18:05.05ID:4xdL/BMO >>486
>既存のツールで有用な結果が得られるのに、わざわざ追加情報を設定して
>ファイルにタグを付ける必要があるだろうかという疑問が生まれることになった。
ああ現実主義でいいんじゃないかな
「発想は面白かったが実際にやってみたら意味がなかった」
ではないよ
>データベース内のテーブルとファイルシステム内のファイルを同期する機能は、SQL Serverの次期バージョンに組み込まれる予定だ。
>汎用OSサービスとなるはずだったものがSQL Serverの1機能として提供されることになる
いきなりスクラッチビルドな高い理想を目指すのではなく、徐々にってことだ
ここでは直近の現実について話してるわけじゃないから
実際Win10でも「Windows へようこそ」をオフにしても出てくるとかw
俺が言ってるのは検索だけじゃなくて、中の人のバグ率や、機能整理の意味もある
>既存のツールで有用な結果が得られるのに、わざわざ追加情報を設定して
>ファイルにタグを付ける必要があるだろうかという疑問が生まれることになった。
ああ現実主義でいいんじゃないかな
「発想は面白かったが実際にやってみたら意味がなかった」
ではないよ
>データベース内のテーブルとファイルシステム内のファイルを同期する機能は、SQL Serverの次期バージョンに組み込まれる予定だ。
>汎用OSサービスとなるはずだったものがSQL Serverの1機能として提供されることになる
いきなりスクラッチビルドな高い理想を目指すのではなく、徐々にってことだ
ここでは直近の現実について話してるわけじゃないから
実際Win10でも「Windows へようこそ」をオフにしても出てくるとかw
俺が言ってるのは検索だけじゃなくて、中の人のバグ率や、機能整理の意味もある
504デフォルトの名無しさん
2020/08/26(水) 02:25:15.30ID:gA2PDNl8 >>502
> インデックスの威力がメインなら、BULK INSERTや一時テーブルの速さを説明できない
え?説明できないの?それお前が無知なだけじゃん。
1. インデックスは検索に使うものでインサート時には関係ない
むしろインデックス作成のために逆に時間がかかる
BULK INSERTでは一件ごとにインデックスを貼る処理を行うと時間がかかるので
インデックスは貼らずにデータを挿入し、あとからインデックスをつけるのは常識レベルのテクニック
2. 一時テーブルだからといって速いことにはならないが、それで速くなったとするなら
一時テーブルによってデータ量が減った。複雑なクエリーで無駄にデータを参照しているとそれが減ることがある
一時テーブルによってインデックスを(有効に)使える条件が揃った
などの理由だろう
アナライズとかしたことないだろ?そういう風にデータを参照しているかちゃんと調べろ
常識レベルのことを知らんとかアウトや
お前はなんかやったら速くなったといってるだけで、その理由を調べてもいない
> インデックスの威力がメインなら、BULK INSERTや一時テーブルの速さを説明できない
え?説明できないの?それお前が無知なだけじゃん。
1. インデックスは検索に使うものでインサート時には関係ない
むしろインデックス作成のために逆に時間がかかる
BULK INSERTでは一件ごとにインデックスを貼る処理を行うと時間がかかるので
インデックスは貼らずにデータを挿入し、あとからインデックスをつけるのは常識レベルのテクニック
2. 一時テーブルだからといって速いことにはならないが、それで速くなったとするなら
一時テーブルによってデータ量が減った。複雑なクエリーで無駄にデータを参照しているとそれが減ることがある
一時テーブルによってインデックスを(有効に)使える条件が揃った
などの理由だろう
アナライズとかしたことないだろ?そういう風にデータを参照しているかちゃんと調べろ
常識レベルのことを知らんとかアウトや
お前はなんかやったら速くなったといってるだけで、その理由を調べてもいない
505デフォルトの名無しさん
2020/08/26(水) 02:25:32.44ID:4xdL/BMO >>484
グーグルとローカルのDBシステムでは規模が違い過ぎるし、「インデックス」の意味もだいぶ違う
いろんな角度からの検索を想定したキーワードを事前に生成し、単純な比較でヒットするようにしてある
逆にそのロジックが邪魔で余計なものがヒットし過ぎるが
言葉を厳密にしても全然絞れない
グーグルとローカルのDBシステムでは規模が違い過ぎるし、「インデックス」の意味もだいぶ違う
いろんな角度からの検索を想定したキーワードを事前に生成し、単純な比較でヒットするようにしてある
逆にそのロジックが邪魔で余計なものがヒットし過ぎるが
言葉を厳密にしても全然絞れない
506デフォルトの名無しさん
2020/08/26(水) 02:27:29.62ID:gA2PDNl8 > グーグルとローカルのDBシステムでは規模が違い過ぎるし、「インデックス」の意味もだいぶ違う
その根拠は?(間違った)主張だけをしても支持は得られない
その根拠は?(間違った)主張だけをしても支持は得られない
507デフォルトの名無しさん
2020/08/26(水) 02:35:11.86ID:4xdL/BMO >>504
>これを使って、1時間の取り込みを数秒に短縮とか、あちこちで改善してきたので
これが見えんのかねw
誰に向かって言ってるのか
「あちこちで」だ
さらに言うと「確実に」だ
まぐれではない
1.そんなことは知ってるが、ゆえに、インデックスがDBエンジンの速さの理由かね?
(言っとくが、ファイルコピーより遥かに速い)
2.何を言ってるのか分からんw
ちなみに説明を省略したが、1時間もかかる要件なので、一時テーブルから本テーブルへの
INSERT SELECTは、腕の悪いSEには無理な複雑さになることもある
そのFROM句が一時テーブルなのに速いと言ってるんだよ
というかその他のストアドでも多用するが、速い
あるいは言い方を変えると、インデックスの効いてない状態での速さでも十分速いと言ってる
普通のシングルタスク処理や、OS関連に比べると、とてつもなく速い
という意味
>これを使って、1時間の取り込みを数秒に短縮とか、あちこちで改善してきたので
これが見えんのかねw
誰に向かって言ってるのか
「あちこちで」だ
さらに言うと「確実に」だ
まぐれではない
1.そんなことは知ってるが、ゆえに、インデックスがDBエンジンの速さの理由かね?
(言っとくが、ファイルコピーより遥かに速い)
2.何を言ってるのか分からんw
ちなみに説明を省略したが、1時間もかかる要件なので、一時テーブルから本テーブルへの
INSERT SELECTは、腕の悪いSEには無理な複雑さになることもある
そのFROM句が一時テーブルなのに速いと言ってるんだよ
というかその他のストアドでも多用するが、速い
あるいは言い方を変えると、インデックスの効いてない状態での速さでも十分速いと言ってる
普通のシングルタスク処理や、OS関連に比べると、とてつもなく速い
という意味
508デフォルトの名無しさん
2020/08/26(水) 02:36:30.08ID:4xdL/BMO509デフォルトの名無しさん
2020/08/26(水) 02:38:40.51ID:gA2PDNl8 > そのFROM句が一時テーブルなのに速いと言ってるんだよ
だからちゃんとアナライズしてどのようにデータを参照しているか調べましょうって
なにもしてないくせに、やってみたら速かったとか遅かったと素人かよw
だからちゃんとアナライズしてどのようにデータを参照しているか調べましょうって
なにもしてないくせに、やってみたら速かったとか遅かったと素人かよw
510デフォルトの名無しさん
2020/08/26(水) 02:40:06.77ID:gA2PDNl8 > (言っとくが、ファイルコピーより遥かに速い)
他人が検証できる方法とベンチマーク結果よろしく
主張だけしても説得力はない
他人が検証できる方法とベンチマーク結果よろしく
主張だけしても説得力はない
511デフォルトの名無しさん
2020/08/26(水) 02:40:47.00ID:gA2PDNl8 だいたいインデックスは検索にときに使われるといってるのに
ファイルコピーとか言ってる時点で頭悪いがw
ファイルコピーとか言ってる時点で頭悪いがw
512デフォルトの名無しさん
2020/08/26(水) 02:46:21.84ID:4xdL/BMO >>511
頭悪いな
取込処理がファイルコピーより遥かに速いんだよ
その理由は?
インデックスがないから?アホかw
インデックスがあるよりはない方が速いのは当たり前だが、ファイルコピーより速い理由は?
頭悪いな
取込処理がファイルコピーより遥かに速いんだよ
その理由は?
インデックスがないから?アホかw
インデックスがあるよりはない方が速いのは当たり前だが、ファイルコピーより速い理由は?
513デフォルトの名無しさん
2020/08/26(水) 02:47:55.44ID:4xdL/BMO514デフォルトの名無しさん
2020/08/26(水) 02:48:05.51ID:gA2PDNl8515デフォルトの名無しさん
2020/08/26(水) 02:51:23.46ID:4xdL/BMO >>514
自分でやってみろ
自分でやってみろ
516デフォルトの名無しさん
2020/08/26(水) 02:55:06.46ID:oEB3gdtA ストアドよりインデックスのほうが速いよってスレが無かったでしょうかね。
517デフォルトの名無しさん
2020/08/26(水) 02:57:46.43ID:4xdL/BMO ありがちなインデックス教を説得するのは本題ではない
イベントログを解析したことあるか?
特にファイル監査
なんだあの大量のゴミ
不信なアクセスにどうやって気付くんだ
物凄い工夫して視認できるバッチ作ったけど
あれを単純なCSVにするだけでも各方面生産性が随分高くなる
イベントログを解析したことあるか?
特にファイル監査
なんだあの大量のゴミ
不信なアクセスにどうやって気付くんだ
物凄い工夫して視認できるバッチ作ったけど
あれを単純なCSVにするだけでも各方面生産性が随分高くなる
518デフォルトの名無しさん
2020/08/26(水) 02:57:58.67ID:gA2PDNl8 >>515
やってみるから、お前がやったことをいえ、
1. RDBMS
2. OS、バージョン
3. ファイルサイズ
4. 挿入先テーブルのスキーマ
お前が何も言ってないんだから、出来るわけなねーだろ
やってみるから、お前がやったことをいえ、
1. RDBMS
2. OS、バージョン
3. ファイルサイズ
4. 挿入先テーブルのスキーマ
お前が何も言ってないんだから、出来るわけなねーだろ
519デフォルトの名無しさん
2020/08/26(水) 02:58:27.97ID:gA2PDNl8 > イベントログを解析したことあるか?
> 特にファイル監査
データベースの話なののこれだからなぁ
素人じゃんw
> 特にファイル監査
データベースの話なののこれだからなぁ
素人じゃんw
520デフォルトの名無しさん
2020/08/26(水) 03:01:31.53ID:oEB3gdtA > そしたら「ストアドよりインデックスのほうが速いよ」って。(゚Д゚)ハァ?
521デフォルトの名無しさん
2020/08/26(水) 03:02:09.30ID:4xdL/BMO522デフォルトの名無しさん
2020/08/26(水) 03:04:12.27ID:gA2PDNl8 DB型OS?そんなことばどこから出てきたんだw
検索してもないな
検索してもないな
523デフォルトの名無しさん
2020/08/26(水) 03:04:33.30ID:4xdL/BMO524デフォルトの名無しさん
2020/08/26(水) 03:05:47.13ID:oEB3gdtA 私は逆にOS型DBのほうが興味ありますね。
525デフォルトの名無しさん
2020/08/26(水) 03:07:11.25ID:4xdL/BMO526デフォルトの名無しさん
2020/08/26(水) 03:10:39.69ID:oEB3gdtA イマジネーションの欠如が深刻なんですよ。
つまり、石頭です。
昔は頑固おやじに代表されるように、年よりが石頭だったんですが、最近は若者なんですよ。
頑固おやじというものは、経験に基づいて保守的になっていたものですが、若者の石頭は、イマジネーションの欠如によるものです。
教わったものしかわからない、新しいものを創造できない。
つまり、石頭です。
昔は頑固おやじに代表されるように、年よりが石頭だったんですが、最近は若者なんですよ。
頑固おやじというものは、経験に基づいて保守的になっていたものですが、若者の石頭は、イマジネーションの欠如によるものです。
教わったものしかわからない、新しいものを創造できない。
527デフォルトの名無しさん
2020/08/26(水) 03:11:54.02ID:gA2PDNl8 OSがデーターベースで出来てるって意味不明w
プロセス管理はどうするんだ?
メモリ管理はどうするんだだ?
プロセス管理はどうするんだ?
メモリ管理はどうするんだだ?
528デフォルトの名無しさん
2020/08/26(水) 03:13:47.18ID:oEB3gdtA プログラマはよく「ggrks」と言いますが、ネットで検索して何がわかりますか?
私の職業では、ネットで検索してわかることなどありません。
出てくるのは宣伝文句だけです。
プログラマは検索してわかるほど簡単なお仕事ですか?
だとしたら、新しいものは生み出せません。
きっと中国人は、検索でわかることなどないと言うでしょう。
だから新しいものはすべて中国からやってくるのです。
私の職業では、ネットで検索してわかることなどありません。
出てくるのは宣伝文句だけです。
プログラマは検索してわかるほど簡単なお仕事ですか?
だとしたら、新しいものは生み出せません。
きっと中国人は、検索でわかることなどないと言うでしょう。
だから新しいものはすべて中国からやってくるのです。
529デフォルトの名無しさん
2020/08/26(水) 03:17:12.45ID:oEB3gdtA 最近はよく「エビデンスを示せ」なんて言いますよね。
彼らに示して理解できますか?
彼らが欲するのは文献ですが、文献の中身は一切理解できないでしょう。
違いますか?
それでも、文献を編纂する立場の者にでさえ、気軽にエビデンスを示せなどと言います。
あなたに示して何が変わると言うのでしょう?
彼らに示して理解できますか?
彼らが欲するのは文献ですが、文献の中身は一切理解できないでしょう。
違いますか?
それでも、文献を編纂する立場の者にでさえ、気軽にエビデンスを示せなどと言います。
あなたに示して何が変わると言うのでしょう?
530デフォルトの名無しさん
2020/08/26(水) 03:33:08.83ID:oEB3gdtA 反論はありませんね。
DB型OSの良さが理解していただけたようで何よりです。
DB型OSの良さが理解していただけたようで何よりです。
531デフォルトの名無しさん
2020/08/26(水) 06:04:43.21ID:gA2PDNl8 まだデータベースのほうが速いって証拠だせないの?
一体どの環境だったらそうなるのかサッサ言えよ
DB型OSの意味もいわないしw
ねぇねぇプロセス管理は?メモリ管理は?
一体どの環境だったらそうなるのかサッサ言えよ
DB型OSの意味もいわないしw
ねぇねぇプロセス管理は?メモリ管理は?
532デフォルトの名無しさん
2020/08/26(水) 07:10:05.97ID:48xzUiDm 精神論ワロタ
533デフォルトの名無しさん
2020/08/26(水) 07:32:21.32ID:y5BtOBTb >>155
>オブジェクト指向のコア概念メッセージングがなぜ提唱されたか察するに
オブジェクト同士は常に二人称で、「俺」←対話(メッセージング)→「チンポ」。
つまりチンポは独立し自ら考えて行動する別の生き物なのである。
この考え方に至ってからは、オブジェクト指向の理解もすんなり進みました。
上手くオブジェクトを定義して、上手く会話させてやるのがオブジェクト指向
での設計なんだなーと今でも思っています。
https://blog.mah-lab.com/2014/03/18/object-oriented/
チンコの随意筋と不随意筋
http://d.hatena.ne.jp/tottokotokoroten/20130516/1368716650
<俺>
「 部屋の英子がこちらを向いた気配に、彼は勃○した陰○を外から障子に突きたてた。障子は乾いた音をたてて破れ、
それを見た英子は読んでいた本を力一杯障子にぶつけたのだ。本は見事、的に当って畳に落ちた。 」
<チンポ>
「 その瞬間、竜哉は体中が引き締まるような快感を感じた。彼は今、リングで感じるあのギラギラした、
抵抗される人間の喜びを味わったのだ。 」
まさに独立した人格を有したチンポという、もう一人の俺がそこに現れるのである!
【藤子・F・不二雄】「みきおとミキオ」現在と未来、憧れの入れ替わり生活!
https://www.google.com/amp/s/middle-edge.jp/articles/0izbO.amp
>オブジェクト指向のコア概念メッセージングがなぜ提唱されたか察するに
オブジェクト同士は常に二人称で、「俺」←対話(メッセージング)→「チンポ」。
つまりチンポは独立し自ら考えて行動する別の生き物なのである。
この考え方に至ってからは、オブジェクト指向の理解もすんなり進みました。
上手くオブジェクトを定義して、上手く会話させてやるのがオブジェクト指向
での設計なんだなーと今でも思っています。
https://blog.mah-lab.com/2014/03/18/object-oriented/
チンコの随意筋と不随意筋
http://d.hatena.ne.jp/tottokotokoroten/20130516/1368716650
<俺>
「 部屋の英子がこちらを向いた気配に、彼は勃○した陰○を外から障子に突きたてた。障子は乾いた音をたてて破れ、
それを見た英子は読んでいた本を力一杯障子にぶつけたのだ。本は見事、的に当って畳に落ちた。 」
<チンポ>
「 その瞬間、竜哉は体中が引き締まるような快感を感じた。彼は今、リングで感じるあのギラギラした、
抵抗される人間の喜びを味わったのだ。 」
まさに独立した人格を有したチンポという、もう一人の俺がそこに現れるのである!
【藤子・F・不二雄】「みきおとミキオ」現在と未来、憧れの入れ替わり生活!
https://www.google.com/amp/s/middle-edge.jp/articles/0izbO.amp
534デフォルトの名無しさん
2020/08/26(水) 07:54:58.07ID:WbeMdUBd DB ベースOSは、BeOSなど失敗の歴史。Windowsでもその計画は頓挫してる。
535デフォルトの名無しさん
2020/08/26(水) 08:00:09.84ID:gA2PDNl8 頓挫と言うか試してみて良くなかったってことよね
536デフォルトの名無しさん
2020/08/26(水) 09:09:25.88ID:3xqKZ5M9 ファイルシステムのデータ構造はB-Tree
B-TreeはDBのインデックスに使われるデータ構造
OSもDBも性能的には似たようなものじゃないかな
ファイル名にデータを格納するIsseiという伝説の検索システムを思い出した、DBより効率が良いとうたって叩かれていたなあ
B-TreeはDBのインデックスに使われるデータ構造
OSもDBも性能的には似たようなものじゃないかな
ファイル名にデータを格納するIsseiという伝説の検索システムを思い出した、DBより効率が良いとうたって叩かれていたなあ
537デフォルトの名無しさん
2020/08/26(水) 09:47:45.40ID:sEb98ISo >>497
洋式トイレに座ってオシッコを出したり止めたりする時、チンポがどうなっているかを確かめる必要無い。
つまりカプセル化とはオブジェクトの独立性であり、チンポはそれ自体が独立した生き物なのであると。
洋式トイレに座ってオシッコを出したり止めたりする時、チンポがどうなっているかを確かめる必要無い。
つまりカプセル化とはオブジェクトの独立性であり、チンポはそれ自体が独立した生き物なのであると。
538デフォルトの名無しさん
2020/08/26(水) 09:53:35.94ID:sEb98ISo オブジェクト指向とは、「繋がっているけれども独立している」という意味である!
オシッコを出したり止めたりする時のチンポは繋がっているが、勃起する時のチンポは独立している!
違うか?
>>18
>オブジェクト思考って何?
>誰か説明して
では「チンポがシコシコする」という日本語表現は、文法的に正しいのか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
オシッコを出したり止めたりする時のチンポは繋がっているが、勃起する時のチンポは独立している!
違うか?
>>18
>オブジェクト思考って何?
>誰か説明して
では「チンポがシコシコする」という日本語表現は、文法的に正しいのか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
539デフォルトの名無しさん
2020/08/26(水) 10:01:20.43ID:GbuOebwM ちんぽがしこしこ、そんな言語表現あるのか?
クリントンの「不適切な関係」
https://eigo-kobako.blog.so-net.ne.jp/2008-06-21
不適切な関係、そんな言語表現あるのか?
クリントン大統領も、チンポがしこしこしてしまったのか?
ちんぽがしこしこしてしまったのが、不適切な関係なのか?
クリントンの「不適切な関係」
https://eigo-kobako.blog.so-net.ne.jp/2008-06-21
不適切な関係、そんな言語表現あるのか?
クリントン大統領も、チンポがしこしこしてしまったのか?
ちんぽがしこしこしてしまったのが、不適切な関係なのか?
540デフォルトの名無しさん
2020/08/26(水) 10:02:48.02ID:NYX2/iU2 // おしっこルーチン
俺.パンツを脱ぐ()
while (俺.オシッコ残量 != 0) {
俺.オシッコ残量 -= 俺.チンポ.オシッコを出す()
}
do {
俺.チンポフリフリする()
} while(count < MAX && 俺.残尿感())
俺.パンツを履く()
俺.パンツを脱ぐ()
while (俺.オシッコ残量 != 0) {
俺.オシッコ残量 -= 俺.チンポ.オシッコを出す()
}
do {
俺.チンポフリフリする()
} while(count < MAX && 俺.残尿感())
俺.パンツを履く()
541デフォルトの名無しさん
2020/08/26(水) 10:34:17.49ID:NYX2/iU2 問題はチンポがオシッコ残量を知らないことだ
542デフォルトの名無しさん
2020/08/26(水) 10:47:15.80ID:4GZ9k+0t543デフォルトの名無しさん
2020/08/26(水) 11:16:35.08ID:goOahd89 >>536
>ファイルシステムのデータ構造はB-Tree
その比較はDBのレコード数分だけ1ディレクトリ内にファイルを作成して
それぞれの性能を比較することが前提になるんだけど
意味のある性能比較じゃないよね
>ファイルシステムのデータ構造はB-Tree
その比較はDBのレコード数分だけ1ディレクトリ内にファイルを作成して
それぞれの性能を比較することが前提になるんだけど
意味のある性能比較じゃないよね
544デフォルトの名無しさん
2020/08/26(水) 11:21:37.10ID:rqf33yds データベースに1GBものISOや動画を入れるのは遅い
まあ普通馬鹿げていてやらんがね
まあ普通馬鹿げていてやらんがね
545デフォルトの名無しさん
2020/08/26(水) 12:22:26.28ID:DZmLrOoQ 「オブジェクト指向」について解説!
>>88
>こういう認識の齟齬を生みやすいこと自体が
>オブジェクト指向の欠陥
>まず分かりにくい思想があって
>その思想の解釈が人によってバラバラで
オブジェクト指向とは、繋がっているけれども独立しているということ。
例えばチンポは自分の体の一部であっても、チンポは自ら考え自分の意志で勃起してシコシコする。
>>88
>こういう認識の齟齬を生みやすいこと自体が
>オブジェクト指向の欠陥
>まず分かりにくい思想があって
>その思想の解釈が人によってバラバラで
オブジェクト指向とは、繋がっているけれども独立しているということ。
例えばチンポは自分の体の一部であっても、チンポは自ら考え自分の意志で勃起してシコシコする。
546デフォルトの名無しさん
2020/08/26(水) 12:26:25.27ID:DZmLrOoQ547デフォルトの名無しさん
2020/08/26(水) 12:31:11.46ID:nY6YdJgd >>476
> ・オブジェクト指向
> ・メッセージ型 ←これも関数指向
オブジェクト指向のメッセージングは「関数指向」ということだが、オシッコはチンポの役割で、
オシッコを出したり止めたりするのはチンポ、チンポに力を入れたり力を抜いたりするのは俺。
> ・オブジェクト指向
> ・メッセージ型 ←これも関数指向
オブジェクト指向のメッセージングは「関数指向」ということだが、オシッコはチンポの役割で、
オシッコを出したり止めたりするのはチンポ、チンポに力を入れたり力を抜いたりするのは俺。
548デフォルトの名無しさん
2020/08/26(水) 12:35:44.35ID:nY6YdJgd >>105
>そもそもオブジェクト内に状態を持つこと、
チンポは随意筋であり不随意筋である!
>内部状態を操作すること自体がシステムがめんどくさくなったり
>不具合の原因なんだから、そんなこと自体極力やめた
>方がいい。という考え方。
ならばオシッコのチンポと勃起のチンポは別々に分けて考えることが大切だな!
511 デフォルトの名無しさん 2018/10/29(月) 23:32:40.68 ID:LL+W6ENh
随意筋←implements─チンポ─implements→不随意筋
>そもそもオブジェクト内に状態を持つこと、
チンポは随意筋であり不随意筋である!
>内部状態を操作すること自体がシステムがめんどくさくなったり
>不具合の原因なんだから、そんなこと自体極力やめた
>方がいい。という考え方。
ならばオシッコのチンポと勃起のチンポは別々に分けて考えることが大切だな!
511 デフォルトの名無しさん 2018/10/29(月) 23:32:40.68 ID:LL+W6ENh
随意筋←implements─チンポ─implements→不随意筋
549デフォルトの名無しさん
2020/08/26(水) 12:40:14.09ID:RaglZ+rk 40歳童貞「さーて今日も5ちゃんねるで、オシッコ!チンポ!しこしこ!書き込みっと」
こんな感じなんだろうなw
こんな感じなんだろうなw
550デフォルトの名無しさん
2020/08/26(水) 12:41:41.42ID:nY6YdJgd 『シコシコ』という擬音はどうでもよい。問題は、
自我 チンポ
↑ ↑ チンポ=自我
チンポ 自我
オブジェクト指向では、この三種類が考えられるということだ。
>チンポ=自我
散歩している時、自分もチンポも所在地は同一である。
https://i.imgur.com/j3uTk1K.jpg
夏目くんの場合は、チンポが自我を圧倒し、体が自然に滝川さんの股間に近づいていったのだ。
『笑ってごまかすな!!』
と言われても、夏目くんは何と言えば良かったのだろう?
チンポ≫自我
『チンポが自我を超えてしまった』を簡略化して、チンポがシコシコする!
チンポがシコシコしていると(チンポが自我を超越していると)、息もハァハァになる。
チンポがシコシコしている(チンポが自我を超越している)と、顔もアヘ顔になる。
つまりその顔は『チンポの一部』つまりチンポの皮と同じということ。
博士号の肩書きがあっても、STAP細胞のそれは間違いであり科学者として失格。
チンポと自我の関係について、それが間違いということなら、俺も科学者を自称するのを止めよう。
しかしながらあの夏目くんは、笑ってごまかす以外に何と申し上げたら良かったのか。
自我 チンポ
↑ ↑ チンポ=自我
チンポ 自我
オブジェクト指向では、この三種類が考えられるということだ。
>チンポ=自我
散歩している時、自分もチンポも所在地は同一である。
https://i.imgur.com/j3uTk1K.jpg
夏目くんの場合は、チンポが自我を圧倒し、体が自然に滝川さんの股間に近づいていったのだ。
『笑ってごまかすな!!』
と言われても、夏目くんは何と言えば良かったのだろう?
チンポ≫自我
『チンポが自我を超えてしまった』を簡略化して、チンポがシコシコする!
チンポがシコシコしていると(チンポが自我を超越していると)、息もハァハァになる。
チンポがシコシコしている(チンポが自我を超越している)と、顔もアヘ顔になる。
つまりその顔は『チンポの一部』つまりチンポの皮と同じということ。
博士号の肩書きがあっても、STAP細胞のそれは間違いであり科学者として失格。
チンポと自我の関係について、それが間違いということなら、俺も科学者を自称するのを止めよう。
しかしながらあの夏目くんは、笑ってごまかす以外に何と申し上げたら良かったのか。
551デフォルトの名無しさん
2020/08/26(水) 12:43:57.08ID:nY6YdJgd >>549
「オブジェクト指向」について、他にもっと解りやすい説明が有るというなら、ここに書いてくれよ!
「オブジェクト指向」について、他にもっと解りやすい説明が有るというなら、ここに書いてくれよ!
552デフォルトの名無しさん
2020/08/26(水) 12:59:22.14ID:CC12ZgHh553デフォルトの名無しさん
2020/08/26(水) 13:08:08.30ID:3xqKZ5M9 >>543
そういうことなの?
僕はファイルシステム作ったことないし調べたことないから知らないけど
B-Treeはファイルシステムでファイル管理にだけ使われてるの? ディレクトリの管理は別であるってわけ?
ディレクトリの検索はファイルの検索よりも遅いの? どうなってるの?
そういうことなの?
僕はファイルシステム作ったことないし調べたことないから知らないけど
B-Treeはファイルシステムでファイル管理にだけ使われてるの? ディレクトリの管理は別であるってわけ?
ディレクトリの検索はファイルの検索よりも遅いの? どうなってるの?
554デフォルトの名無しさん
2020/08/26(水) 13:48:42.79ID:xeUirg9t555デフォルトの名無しさん
2020/08/26(水) 13:55:09.22ID:3xqKZ5M9 カプセル化で困るときってトラブったときだよね
この内部のメソッド呼び出せたら調査やリカバリが簡単なのにって思うことはときどきある
副作用がないメソッドは原則公開でも良いかもわからんね
副作用がないようにメソッドを作る技術も大事
この内部のメソッド呼び出せたら調査やリカバリが簡単なのにって思うことはときどきある
副作用がないメソッドは原則公開でも良いかもわからんね
副作用がないようにメソッドを作る技術も大事
556デフォルトの名無しさん
2020/08/26(水) 14:00:02.90ID:CC12ZgHh557デフォルトの名無しさん
2020/08/26(水) 14:04:56.62ID:48xzUiDm 流石にそのくらい思い付けよ...
558デフォルトの名無しさん
2020/08/26(水) 14:07:56.01ID:CC12ZgHh いろんなことを思いつくことができる俺がないと言ってます。
反論があるなら受け付けますよ?
反論があるなら受け付けますよ?
559デフォルトの名無しさん
2020/08/26(水) 14:08:16.42ID:NYX2/iU2 副作用ないならそもそもインスタンス化可能なクラスにする必要もない(?)
必要あってクラス化してるなら副作用抑えるといっても限界があるんじゃね
必要あってクラス化してるなら副作用抑えるといっても限界があるんじゃね
560デフォルトの名無しさん
2020/08/26(水) 15:12:25.45ID:goOahd89 >>553
ディレクトリは直下のファイル名と内部IDとのマッピングリストをコンテンツに持つファイル
親ディレクトリから見れば他のファイルと同じ
NTFSだとMaster File Table(MFT)っていう固定長のデータ構造に
ファイル/ディレクトリごとに1レコードの情報が管理されていて
ファイルのレコードを見ればDiskのどこにアクセスすればのかがわかる
/foo/bar.txt にアクセスしたいなら
MFTのルートディレクトリのレコードにアクセスして
ルートディレクトリのインデックスからfooという名前のエントリを探してfooの内部IDを取得する
それを元にMFTのfooのレコードにアクセスしてそのインデックスからbar.txtの内部IDを取得
MFTのbar.txtのレコードにアクセスしてbar.txtの中身が保存されてるDiskの位置を把握して
そこからデータを読み込む
B-Treeはディレクトリの中に多くのファイルがあっても
O(log n)で検索(や追加や削除)ができるようにするため
ディレクトリは直下のファイル名と内部IDとのマッピングリストをコンテンツに持つファイル
親ディレクトリから見れば他のファイルと同じ
NTFSだとMaster File Table(MFT)っていう固定長のデータ構造に
ファイル/ディレクトリごとに1レコードの情報が管理されていて
ファイルのレコードを見ればDiskのどこにアクセスすればのかがわかる
/foo/bar.txt にアクセスしたいなら
MFTのルートディレクトリのレコードにアクセスして
ルートディレクトリのインデックスからfooという名前のエントリを探してfooの内部IDを取得する
それを元にMFTのfooのレコードにアクセスしてそのインデックスからbar.txtの内部IDを取得
MFTのbar.txtのレコードにアクセスしてbar.txtの中身が保存されてるDiskの位置を把握して
そこからデータを読み込む
B-Treeはディレクトリの中に多くのファイルがあっても
O(log n)で検索(や追加や削除)ができるようにするため
561デフォルトの名無しさん
2020/08/26(水) 15:54:15.18ID:+lvOcjDi >>531
触ったこともないようだなw
DBサーバーはサーバーゆえ、セッション管理は当たり前
メモリだけでなく一時テーブルも他セッションから見えない
アクセス権の設定もOSよりフレキシブルかつ堅牢
扱うものがファイルじゃなく重要な大量データなので、そこらへんはOSよりむしろ高性能
触ったこともないようだなw
DBサーバーはサーバーゆえ、セッション管理は当たり前
メモリだけでなく一時テーブルも他セッションから見えない
アクセス権の設定もOSよりフレキシブルかつ堅牢
扱うものがファイルじゃなく重要な大量データなので、そこらへんはOSよりむしろ高性能
562デフォルトの名無しさん
2020/08/26(水) 16:00:46.94ID:+lvOcjDi そもそも「オブジェクト指向」言いたがるのは開発系にはいない
使ってはいても
むしろ腕がいいほど言わない
言いたがるのは手配師やPMなどの「営業系」
または本格的に開発しない「保守系」
使ってはいても
むしろ腕がいいほど言わない
言いたがるのは手配師やPMなどの「営業系」
または本格的に開発しない「保守系」
563デフォルトの名無しさん
2020/08/26(水) 16:11:18.17ID:pQkCIJWG564デフォルトの名無しさん
2020/08/26(水) 16:16:41.70ID:GjEoDtBH アラン・ケイ? SmallTalkってカプセル化てんこ盛りじゃなかったっけ? 自己増殖していくんだから、カプセル化しなかったらまずいべ。
565デフォルトの名無しさん
2020/08/26(水) 16:16:49.73ID:3xqKZ5M9 >>560
超詳しいですね、ありがとうございます!
超詳しいですね、ありがとうございます!
566デフォルトの名無しさん
2020/08/26(水) 16:24:12.37ID:+lvOcjDi >>543
面白い点だね
若い頃、ディレクトリ構造のようなマスタを発想したことがあった
階層が動的だと物凄く重くなる
泥臭いが有限、固定であることが速さの秘訣
型も可変長より固定長の方が速いのと同じ
DB内部では可変長も固定長のように扱うからファイルもメモリも容量がデカい
容量を犠牲に速度を上げてる
容量はさておき、固定の速さを利用する設計思想も「DB型OS」には重要
「DB型OS」では、「A¥B¥C」まで一気に「パス」という名の列に入ってるのか
「A」「B」「C」が「フォルダ1」「フォルダ2」「フォルダ3」という3列に入ってるのか
少なくとも、XMLのような階層表現や、リレーションで動的に無制限に階層を持つ構造にはしない方がいい
「フォルダ1」「フォルダ2」「フォルダ3」は泥臭いが、その方が速度も速く、実は可用性も高い
面白い点だね
若い頃、ディレクトリ構造のようなマスタを発想したことがあった
階層が動的だと物凄く重くなる
泥臭いが有限、固定であることが速さの秘訣
型も可変長より固定長の方が速いのと同じ
DB内部では可変長も固定長のように扱うからファイルもメモリも容量がデカい
容量を犠牲に速度を上げてる
容量はさておき、固定の速さを利用する設計思想も「DB型OS」には重要
「DB型OS」では、「A¥B¥C」まで一気に「パス」という名の列に入ってるのか
「A」「B」「C」が「フォルダ1」「フォルダ2」「フォルダ3」という3列に入ってるのか
少なくとも、XMLのような階層表現や、リレーションで動的に無制限に階層を持つ構造にはしない方がいい
「フォルダ1」「フォルダ2」「フォルダ3」は泥臭いが、その方が速度も速く、実は可用性も高い
567デフォルトの名無しさん
2020/08/26(水) 16:25:50.43ID:8+Mp20b2 >>134
>カプセル化とはなにか?超わかりやすく解説します!
俺が寝ている時も俺の知らない時に、パンツの中でチンポが勝手に夢精してましたということだな。
つまりオブジェクトは独立であり、チンポは独立した生き物であり、独立したオブジェクトカプセルなのだと。
>カプセル化とはなにか?超わかりやすく解説します!
俺が寝ている時も俺の知らない時に、パンツの中でチンポが勝手に夢精してましたということだな。
つまりオブジェクトは独立であり、チンポは独立した生き物であり、独立したオブジェクトカプセルなのだと。
568デフォルトの名無しさん
2020/08/26(水) 16:28:13.87ID:4B4pOhxB >>541
オシッコ残量はチンポではなくて膀胱の働きだからな。それは膀胱からのメッセージングによる。
オシッコ残量はチンポではなくて膀胱の働きだからな。それは膀胱からのメッセージングによる。
569デフォルトの名無しさん
2020/08/26(水) 16:30:47.98ID:3xqKZ5M9 へーここは勉強になるスレッドですね
570デフォルトの名無しさん
2020/08/26(水) 16:33:12.61ID:+lvOcjDi デルファイがクラス型オブジェクト指向だと知らんような素人が
「オブジェクト指向じゃないと駄目なんです!」とか力説するもの(某リクルートの姉ちゃん)
もっと言うと、「クラス型オブジェクト指向」でなく「オブジェクト指向」と言うならば、VBAだってそうだよw
VBAでも「クラス」を宣言できるので、「クラス型オブジェクト指向」としか言いようがないのだが、
継承機能がないので、百歩譲って「クラス型オブジェクト指向」からは除外する約束でもいいが
「オブジェクト指向じゃないと駄目なんです!」とか力説するもの(某リクルートの姉ちゃん)
もっと言うと、「クラス型オブジェクト指向」でなく「オブジェクト指向」と言うならば、VBAだってそうだよw
VBAでも「クラス」を宣言できるので、「クラス型オブジェクト指向」としか言いようがないのだが、
継承機能がないので、百歩譲って「クラス型オブジェクト指向」からは除外する約束でもいいが
571デフォルトの名無しさん
2020/08/26(水) 16:48:44.18ID:+lvOcjDi ところでWindowsがオブジェクト指向なのかというと、設計思想はそうだと言い難い
それは別スレに書いたが、およそ「デスクトップにオブジェクトを置く」感覚ではない
それはMac
オブジェクト指向はいろんな角度で串刺しにできる機能(ポリモーフィズム)を持つが、
それは「串刺しにされても我が道を行く」というオブジェクトの主体性を意味するものであって、
できるからってごちゃごちゃ串刺しすると、物感がなくなる
それは別スレに書いたが、およそ「デスクトップにオブジェクトを置く」感覚ではない
それはMac
オブジェクト指向はいろんな角度で串刺しにできる機能(ポリモーフィズム)を持つが、
それは「串刺しにされても我が道を行く」というオブジェクトの主体性を意味するものであって、
できるからってごちゃごちゃ串刺しすると、物感がなくなる
572デフォルトの名無しさん
2020/08/26(水) 16:56:24.61ID:+lvOcjDi Macが始めた、なんでもクリック、長押し、ドラッグ&ドロップで表現するのはたしかに串刺しだが
物感を強調するための串刺し
だがWindowsはこれを真似するにあたり、「右クリック」を導入した
物を「右クリック」するとはなんぞや
ここにコマンド思想がある
それは些細なことだが、スタートメニュー、レジストリ、AppDataなど、物感からの乖離が多い
物感を強調するための串刺し
だがWindowsはこれを真似するにあたり、「右クリック」を導入した
物を「右クリック」するとはなんぞや
ここにコマンド思想がある
それは些細なことだが、スタートメニュー、レジストリ、AppDataなど、物感からの乖離が多い
573デフォルトの名無しさん
2020/08/26(水) 18:04:34.49ID:CC12ZgHh574デフォルトの名無しさん
2020/08/26(水) 18:06:55.27ID:CC12ZgHh >>571
> ところでWindowsがオブジェクト指向なのかというと
オブジェクト指向だね
例えばウインドウがそう。実はWindowsは
ボタンやインプットボックスなどあらゆるコンポーネントが
ウインドウとして作られていて、ウインドウハンドルを持っている
基本のウインドウがあってそれを拡張して
コンポーネントが作られてる
もちろん自分で拡張することも可能
> ところでWindowsがオブジェクト指向なのかというと
オブジェクト指向だね
例えばウインドウがそう。実はWindowsは
ボタンやインプットボックスなどあらゆるコンポーネントが
ウインドウとして作られていて、ウインドウハンドルを持っている
基本のウインドウがあってそれを拡張して
コンポーネントが作られてる
もちろん自分で拡張することも可能
575デフォルトの名無しさん
2020/08/26(水) 18:21:13.49ID:oEB3gdtA 一般人は、数学空間に現実の問題を写像して解きます。
直接計算できるようになるからです。
アウアウアーは、現実空間に数学の問題でさえ写像しようとします。
これがオブジェクト指向です。
当然直接計算できません。
天才は、数学空間に写像された問題を計算機に解かせようとします。
これが関数型です。
直接計算できるようになるからです。
アウアウアーは、現実空間に数学の問題でさえ写像しようとします。
これがオブジェクト指向です。
当然直接計算できません。
天才は、数学空間に写像された問題を計算機に解かせようとします。
これが関数型です。
576デフォルトの名無しさん
2020/08/26(水) 18:24:32.95ID:oEB3gdtA オブジェクト指向の功績は、アウアウアーでも理解できるモデルを提供したことです。
オブジェクト志向の罪は、一般人をアウアウアーのレベルで作業させることです。
オブジェクト志向の罪は、一般人をアウアウアーのレベルで作業させることです。
577デフォルトの名無しさん
2020/08/26(水) 18:41:31.09ID:CC12ZgHh このようにオブジェクト指向いう「技術」の問題と「人」の問題を
わざとごちゃまぜにするやつに話を聞いてはいけません
わざとごちゃまぜにするやつに話を聞いてはいけません
578デフォルトの名無しさん
2020/08/26(水) 18:58:26.90ID:F43MuBwc インタフェイスと実装を区別せずに議論してるような気がするが、スレの趣旨にあっていないような気がするので他所でやって欲しいと思いました。
579デフォルトの名無しさん
2020/08/26(水) 19:23:43.10ID:Pf4G7zlI580デフォルトの名無しさん
2020/08/26(水) 20:23:35.65ID:4zct0Nww >>572
今やMacも右クリックありきだけどな
今やMacも右クリックありきだけどな
581デフォルトの名無しさん
2020/08/26(水) 20:56:51.93ID:Pf4G7zlI >>405
>スタートアップである弊社が全員ほぼ未経験でRuby on RailsをScalaに移行した理由、
Rubyとかの所謂「オブジェクト指向言語プログラミング」がここ十年くらいで落ち目なのは、
オブジェクト指向の何たるかを理解しないプログラマーが、オブジェクト指向言語プログラミングと称して、
使い道の無いコードを沢山書いたからだと思うぞ。要らない書類ばかり増えると整理が大変。
>スタートアップである弊社が全員ほぼ未経験でRuby on RailsをScalaに移行した理由、
Rubyとかの所謂「オブジェクト指向言語プログラミング」がここ十年くらいで落ち目なのは、
オブジェクト指向の何たるかを理解しないプログラマーが、オブジェクト指向言語プログラミングと称して、
使い道の無いコードを沢山書いたからだと思うぞ。要らない書類ばかり増えると整理が大変。
582デフォルトの名無しさん
2020/08/26(水) 21:03:47.96ID:Pf4G7zlI オブジェクト指向とは何かが分からないのに、オブジェクト指向プログラミング言語だと言ったりすると、
何だかこの人頭がイイみたいな錯覚を抱かせてしまう。
パソコンが苦手な人から見れば、パソコンが使えて書類を沢山作る人は頭がイイと錯覚してしまう。
トヨタ式「整理整頓」使わない書類は1日、名刺は1年で処分
https://president.jp/articles/-/16215
どんなに見た目がキレイに書けていても、使い道の無い書類は百害あって一利無し!
何だかこの人頭がイイみたいな錯覚を抱かせてしまう。
パソコンが苦手な人から見れば、パソコンが使えて書類を沢山作る人は頭がイイと錯覚してしまう。
トヨタ式「整理整頓」使わない書類は1日、名刺は1年で処分
https://president.jp/articles/-/16215
どんなに見た目がキレイに書けていても、使い道の無い書類は百害あって一利無し!
583デフォルトの名無しさん
2020/08/26(水) 21:10:57.96ID:O4WMLh95 まーた人の話にすり替えてるw
584デフォルトの名無しさん
2020/08/26(水) 21:17:20.18ID:Pf4G7zlI >>583
チンポは独立した生き物だが?
チンポは独立した生き物だが?
585デフォルトの名無しさん
2020/08/26(水) 21:18:07.21ID:O4WMLh95 オブジェクト指向の話をしろと言ってる
586デフォルトの名無しさん
2020/08/26(水) 22:08:44.78ID:7syk/8cI オブジェクト指向とは何か、関数型とは何か
端的に一言で言える人はいないのか
端的に一言で言える人はいないのか
587デフォルトの名無しさん
2020/08/26(水) 22:16:39.17ID:Ss3hGbOq 何となくイメージはあるけど、例えば多重継承はオブジェクト指向かと言われると多重継承が無くてもオブジェクト指向は成立しうるよなとか思ってしまうし、
結構人によってイメージの持ち方に幅があるような気がするなあ。
教科書的な定義とか解釈とかは進化が止まって化石になってから出来上がるような気がするし。
結構人によってイメージの持ち方に幅があるような気がするなあ。
教科書的な定義とか解釈とかは進化が止まって化石になってから出来上がるような気がするし。
588デフォルトの名無しさん
2020/08/26(水) 22:25:16.49ID:3xqKZ5M9589デフォルトの名無しさん
2020/08/26(水) 22:29:30.73ID:NYX2/iU2 プログラムを構成する各オブジェクトは
言わば人間を構成する各臓器
心臓も肝臓もその詳細を知らず命令せずとも
責務を果たしている
言わば人間を構成する各臓器
心臓も肝臓もその詳細を知らず命令せずとも
責務を果たしている
590デフォルトの名無しさん
2020/08/26(水) 22:32:52.45ID:O4WMLh95 >>587
前にどこかに書いたが、オブジェクト指向=多重継承とかいう話ではなくて
オブジェクト指向を行うのに便利な多重継承などの機能を集めたものが
オブジェクト指向言語なんだよ
多重継承はオブジェクト指向か?という疑問は
for文は手続き型に必要か?なくてもwhileやloopで代用できると言ってるようなもん
多重継承はオブジェクト指向を行うのに便利な機能の1つ
機能の1つでしかないから、なくても成立するのは当たり前
前にどこかに書いたが、オブジェクト指向=多重継承とかいう話ではなくて
オブジェクト指向を行うのに便利な多重継承などの機能を集めたものが
オブジェクト指向言語なんだよ
多重継承はオブジェクト指向か?という疑問は
for文は手続き型に必要か?なくてもwhileやloopで代用できると言ってるようなもん
多重継承はオブジェクト指向を行うのに便利な機能の1つ
機能の1つでしかないから、なくても成立するのは当たり前
591デフォルトの名無しさん
2020/08/26(水) 23:49:22.94ID:Ss3hGbOq オブジェクト指向の功罪の「罪」の部分って、
多重継承が原因じゃないかなと個人的には思う。
作るときは便利なんでついつい使っちゃうけど、
メンテナンスするのに非常にしんどくなる。
多重継承が原因じゃないかなと個人的には思う。
作るときは便利なんでついつい使っちゃうけど、
メンテナンスするのに非常にしんどくなる。
592デフォルトの名無しさん
2020/08/27(木) 00:29:41.97ID:Av3pnrM3 >>589
>心臓も肝臓もその詳細を知らず命令せずとも
人間の体のように個々のオブジェクトの有機的な相互作用によってシステム全体が構築されている場合
ある入力(食べ物/薬/ストレス/運動など)に対してどういう出力が得られるか
どういう副作用が発生しうるかを把握するのが困難
オブジェクト指向で作られたシステムも同じで
オブジェクト間にどういう相互作用があって、どういう風に副作用が連鎖していくかがわかりにくくなりがち
そうならないようにする対策の一つとして関数型の考え方が取り入れられてる
>心臓も肝臓もその詳細を知らず命令せずとも
人間の体のように個々のオブジェクトの有機的な相互作用によってシステム全体が構築されている場合
ある入力(食べ物/薬/ストレス/運動など)に対してどういう出力が得られるか
どういう副作用が発生しうるかを把握するのが困難
オブジェクト指向で作られたシステムも同じで
オブジェクト間にどういう相互作用があって、どういう風に副作用が連鎖していくかがわかりにくくなりがち
そうならないようにする対策の一つとして関数型の考え方が取り入れられてる
593デフォルトの名無しさん
2020/08/27(木) 01:22:50.36ID:aggnfjOi >>591
多重継承はついつい使っちゃうもんじゃないですねぇ
最終手段として使えれば便利とは思うけど
いつ使うんですかそんなもの
あなた本当に使ってますか?
てきとーなこといってオブジェクト指向ディスってるようにしか見えません
多重継承はついつい使っちゃうもんじゃないですねぇ
最終手段として使えれば便利とは思うけど
いつ使うんですかそんなもの
あなた本当に使ってますか?
てきとーなこといってオブジェクト指向ディスってるようにしか見えません
594デフォルトの名無しさん
2020/08/27(木) 01:31:43.23ID:JwVMaeMo 型の多重継承ならJavaでもよく使うけど
595デフォルトの名無しさん
2020/08/27(木) 02:11:04.59ID:hkH5l7An 例えば動物クラスを継承して、犬クラスを作るなら自然だけど
動物クラスを継承した猫クラスがあるとして、ペットショップクラスを犬クラスと猫クラスの多重継承で作れないの?というのが初心者
極端すぎるけどこの場合はペットショップクラス内に動物クラスのインスタンスを管理するように作るべきだと思う
動物クラスを継承した猫クラスがあるとして、ペットショップクラスを犬クラスと猫クラスの多重継承で作れないの?というのが初心者
極端すぎるけどこの場合はペットショップクラス内に動物クラスのインスタンスを管理するように作るべきだと思う
596デフォルトの名無しさん
2020/08/27(木) 03:26:47.88ID:k1UmMy2p597デフォルトの名無しさん
2020/08/27(木) 03:36:47.97ID:0TX63Eqy ライオンクラスを頂点に、底辺は羊では。
598デフォルトの名無しさん
2020/08/27(木) 04:29:11.06ID:qjXIX307 動物とか架空の例ばかりで、
実際に多重継承を使った実例をいわないのが
お前使ってないでしょっていう理由なんだわw
実際に多重継承を使った実例をいわないのが
お前使ってないでしょっていう理由なんだわw
599デフォルトの名無しさん
2020/08/27(木) 04:29:54.37ID:qjXIX307 あれだな。多重継承をディスるためにわざわざ多重継承が
使えそうな「例」を持ち出してる感100%だ
使えそうな「例」を持ち出してる感100%だ
600デフォルトの名無しさん
2020/08/27(木) 10:26:32.28ID:wrfFiWTH そのクラスに属するメソッドをいい意味でも悪い意味でも結合させてしまうわけで
馬鹿は使うなってことになるわけだよ。
馬鹿は使うなってことになるわけだよ。
601デフォルトの名無しさん
2020/08/27(木) 11:48:30.05ID:s9fS5Msc バカが作ると、とりあえず動くかもしれないけど
動作効率や保守性悪くなりがち
となるのは言語・パラダイムを問わず起こり得ること
動作効率や保守性悪くなりがち
となるのは言語・パラダイムを問わず起こり得ること
602デフォルトの名無しさん
2020/08/27(木) 11:50:15.78ID:Q9F08mvx そう。「バカが使うと〜」と言い出すと何にでも当てはまるので
「人」と「技術」の話は分けて考えろといってる
「人」と「技術」の話は分けて考えろといってる
603デフォルトの名無しさん
2020/08/27(木) 12:13:20.64ID:esPfZquD 本来の意味での多重継承は現在では使われて無い
メソッド集や関数集を本体にドッキングさせたいときに使ってる
Javaに実装の書けるインタフェイスが出来たのもその為
Rubyのmix-inはそれ
つまり、ただの構造体にどうやって関数を足すかが、C++での現在の多重継承
メソッド集や関数集を本体にドッキングさせたいときに使ってる
Javaに実装の書けるインタフェイスが出来たのもその為
Rubyのmix-inはそれ
つまり、ただの構造体にどうやって関数を足すかが、C++での現在の多重継承
604デフォルトの名無しさん
2020/08/27(木) 12:16:36.33ID:XNd4fe+/ >>603
>本来の意味での多重継承は現在では使われて無い
随意筋 不随意筋
↖ ↗
チンポ
>本来の意味での多重継承は現在では使われて無い
随意筋 不随意筋
↖ ↗
チンポ
605デフォルトの名無しさん
2020/08/27(木) 12:23:27.55ID:R7AbwnBd >>586
結局はどっちも宣言的プログラミングをする為の手段と言う認識。
手続き型言語のままで宣言的プログラミングをしようとしてオブジェクト指向プログラミングが出来たんじゃないかな。
でも、関数やメソッドにするべき処理は無数(無限)にあるので全ての処理をメソッド呼び出しやメソッドチェーンで記述する事は不可能。
結果としてどんなにクラスやメソッドが増えても全てを宣言的に書けず、どこかに必ず手続き的な記述が必要。
関数型言語は基本的な記述からして宣言的なので全部を宣言的に書ける。
ただ、状態を持たないと言うことはなんでも一から計算するので手続き型言語より遅い処理がある。
(例えば文字列の長さはオブジェクト指向プログラミングでは文字列オブジェクトそのものが生成された時点で文字数を内部に持っているが、関数型言語は必ず数える処理が入る)
結局はどっちも宣言的プログラミングをする為の手段と言う認識。
手続き型言語のままで宣言的プログラミングをしようとしてオブジェクト指向プログラミングが出来たんじゃないかな。
でも、関数やメソッドにするべき処理は無数(無限)にあるので全ての処理をメソッド呼び出しやメソッドチェーンで記述する事は不可能。
結果としてどんなにクラスやメソッドが増えても全てを宣言的に書けず、どこかに必ず手続き的な記述が必要。
関数型言語は基本的な記述からして宣言的なので全部を宣言的に書ける。
ただ、状態を持たないと言うことはなんでも一から計算するので手続き型言語より遅い処理がある。
(例えば文字列の長さはオブジェクト指向プログラミングでは文字列オブジェクトそのものが生成された時点で文字数を内部に持っているが、関数型言語は必ず数える処理が入る)
606デフォルトの名無しさん
2020/08/27(木) 12:27:06.54ID:9DS3XVCn607デフォルトの名無しさん
2020/08/27(木) 12:40:23.45ID:R7AbwnBd608デフォルトの名無しさん
2020/08/27(木) 13:11:06.08ID:s9fS5Msc >>606
バカはお前だって何度も言ってるだろ
バカはお前だって何度も言ってるだろ
609デフォルトの名無しさん
2020/08/27(木) 13:15:44.72ID:9DS3XVCn 状態を持たないから全部1から計算とかプログラマやめろってレベルじゃねーぞチンパン
610デフォルトの名無しさん
2020/08/27(木) 13:40:18.77ID:wrfFiWTH611デフォルトの名無しさん
2020/08/27(木) 13:42:21.22ID:Q9F08mvx > 人と技術は結びついてるんだから仕方ないだろ。
明確にすればいいだけ
つまり、技術的には○○の方が優れているが
うちの人材は技術力が低いので優れた技術を使えない
と認めた上で、○○を使わないっていうのはいいんだよ
〇〇は技術的にだめという嘘をつかなければいい
技術力が低いと認めればいいだけ
明確にすればいいだけ
つまり、技術的には○○の方が優れているが
うちの人材は技術力が低いので優れた技術を使えない
と認めた上で、○○を使わないっていうのはいいんだよ
〇〇は技術的にだめという嘘をつかなければいい
技術力が低いと認めればいいだけ
612デフォルトの名無しさん
2020/08/27(木) 13:44:15.13ID:Q9F08mvx 例
× ローカル変数?ありゃだめだ?意味がわからない
グローバル変数のほうがいい
↑
技術のせいにしてるからNG
○ ローカル変数のほうが良いようだが俺には使いこなせない。
俺の技術力が低いからグローバル変数を使っている。
↑
人の問題だと認めてるからOK
× ローカル変数?ありゃだめだ?意味がわからない
グローバル変数のほうがいい
↑
技術のせいにしてるからNG
○ ローカル変数のほうが良いようだが俺には使いこなせない。
俺の技術力が低いからグローバル変数を使っている。
↑
人の問題だと認めてるからOK
613デフォルトの名無しさん
2020/08/27(木) 14:40:38.75ID:qx1+2YSb チンポ挿入するの大好き
614デフォルトの名無しさん
2020/08/27(木) 15:27:15.58ID:iBh5BPF2 >>589
本人が知らないうちに膵臓ガンが出来てましたというか自覚症状が無いのも、オブジェクトカプセルだから。
本人が知らないうちに膵臓ガンが出来てましたというか自覚症状が無いのも、オブジェクトカプセルだから。
615デフォルトの名無しさん
2020/08/27(木) 15:38:46.33ID:/TJ+6+BI616デフォルトの名無しさん
2020/08/27(木) 15:57:08.86ID:s9fS5Msc has-aの関係とis-aの関係で
継承かコンポジションか判断するのが基本だと思うけど
随意筋とか不随意筋はチンポからしたらhas-aの関係なのか
is-aの関係なのか どっちだ?!
継承かコンポジションか判断するのが基本だと思うけど
随意筋とか不随意筋はチンポからしたらhas-aの関係なのか
is-aの関係なのか どっちだ?!
617デフォルトの名無しさん
2020/08/27(木) 16:00:15.44ID:lxQOOhz0 831 デフォルトの名無しさん sage 2018/11/11(日) 10:00:59.18 ID:Tyd11AGx
たとえば、CycはFredという名前の男がドナルドダックのモノマネをするという話が理解できなかった。
Cycの推論エンジンは、この話の中に矛盾を見つけた。Cycは人間には羽がないことは知っているが、
アヒルのように歩き、アヒルのように鳴くものはアヒルに違いないと考えた。
したがって、CycはFredがドナルドダックのモノマネしている間、
Fredはそれでも人間なのかと尋ねた。
925 デフォルトの名無しさん 2018/11/21(水) 18:36:07.42 ID:8Yc2p7H1
>>919
>そもそもアランケイの言う「実行中」は「起動中」であって
>「使用中」じゃないんだろう。マルチユーザーで誰かが使用している最中に
チンポがシコシコしている間、俺はそれでも俺なのかと尋ねた。
829 デフォルトの名無しさん 2018/11/11(日) 09:52:59.70 ID:y84pWKv0
(第1章 はじめに 2頁)
たとえば、CycはFredという名前の男が朝にひげをそるという話が理解できなかった。
Cycの推論エンジンは、この話の中に矛盾を見つけた。Cycは人間には電気の部品がないことは知っているが、
Fredが電気カミソリを持っていたので、エンティティ「Fredがひげそり中(FredWhileShaving)」
には電気の部品が含まれていると考えた。したがって、CycはFredがひげをそっている間、
Fredはそれでも人間なのかと尋ねた。
『深層学習』
著者:
Ian Goodfellow, イアングッドフェロー,
Yoshua Bengio, ヨシュアベンジオ,
Aaron Courville, アーロンカービル
たとえば、CycはFredという名前の男がドナルドダックのモノマネをするという話が理解できなかった。
Cycの推論エンジンは、この話の中に矛盾を見つけた。Cycは人間には羽がないことは知っているが、
アヒルのように歩き、アヒルのように鳴くものはアヒルに違いないと考えた。
したがって、CycはFredがドナルドダックのモノマネしている間、
Fredはそれでも人間なのかと尋ねた。
925 デフォルトの名無しさん 2018/11/21(水) 18:36:07.42 ID:8Yc2p7H1
>>919
>そもそもアランケイの言う「実行中」は「起動中」であって
>「使用中」じゃないんだろう。マルチユーザーで誰かが使用している最中に
チンポがシコシコしている間、俺はそれでも俺なのかと尋ねた。
829 デフォルトの名無しさん 2018/11/11(日) 09:52:59.70 ID:y84pWKv0
(第1章 はじめに 2頁)
たとえば、CycはFredという名前の男が朝にひげをそるという話が理解できなかった。
Cycの推論エンジンは、この話の中に矛盾を見つけた。Cycは人間には電気の部品がないことは知っているが、
Fredが電気カミソリを持っていたので、エンティティ「Fredがひげそり中(FredWhileShaving)」
には電気の部品が含まれていると考えた。したがって、CycはFredがひげをそっている間、
Fredはそれでも人間なのかと尋ねた。
『深層学習』
著者:
Ian Goodfellow, イアングッドフェロー,
Yoshua Bengio, ヨシュアベンジオ,
Aaron Courville, アーロンカービル
618デフォルトの名無しさん
2020/08/27(木) 16:22:44.00ID:5/hfp35I619デフォルトの名無しさん
2020/08/27(木) 16:27:02.84ID:5/hfp35I620デフォルトの名無しさん
2020/08/27(木) 16:44:10.57ID:eFA7BsAf >>539
>クリントンの「不適切な関係」
チンポがシコシコしてしまったのは、大統領に悪意があったわけではないが、所有者責任は免れない。
飼い犬が歩行人に噛み付いたら、飼い主に管理者責任が生じるというのと同じ。
>クリントンの「不適切な関係」
チンポがシコシコしてしまったのは、大統領に悪意があったわけではないが、所有者責任は免れない。
飼い犬が歩行人に噛み付いたら、飼い主に管理者責任が生じるというのと同じ。
621デフォルトの名無しさん
2020/08/27(木) 16:46:23.50ID:eFA7BsAf >>550
夏目くんは何も悪いことはしていないセクハラではない、チンポが勝手にシコシコしまっただけ。
夏目くんは何も悪いことはしていないセクハラではない、チンポが勝手にシコシコしまっただけ。
622デフォルトの名無しさん
2020/08/27(木) 18:21:41.94ID:wrfFiWTH >>612
グローバル変数なら一行で済むとか言えば技術的にグローバル変数のが優れてることになるが?
グローバル変数を管理できないお前の技術がないといわれたらどうすんの?
少なくともCPUからしたらそうだが。
技術的ってのがそれこそ人間の認識能力の前提によってるってことに全く気付かない馬鹿なのかな?
グローバル変数なら一行で済むとか言えば技術的にグローバル変数のが優れてることになるが?
グローバル変数を管理できないお前の技術がないといわれたらどうすんの?
少なくともCPUからしたらそうだが。
技術的ってのがそれこそ人間の認識能力の前提によってるってことに全く気付かない馬鹿なのかな?
623デフォルトの名無しさん
2020/08/27(木) 18:25:09.77ID:Q9F08mvx >>622
頭悪そうw
ようするにね、優秀な人(Googleレベルでいいよ)が
優れた技術だって言っていれば、技術は優れてるってこと
その技術が使えない人がいたなら、それは技術じゃなくて
人間の問題だってこと
頭悪そうw
ようするにね、優秀な人(Googleレベルでいいよ)が
優れた技術だって言っていれば、技術は優れてるってこと
その技術が使えない人がいたなら、それは技術じゃなくて
人間の問題だってこと
624デフォルトの名無しさん
2020/08/27(木) 18:56:54.22ID:Av3pnrM3 技術が優れてるかどうかの判断基準や観点の違いでしょ
その基準の一つに頭悪い人でも使いやすいかどうかというのがあっても何もおかしくない
物事を一面的にしか捉えられない人はソフトウェアの仕事には向かない
その基準の一つに頭悪い人でも使いやすいかどうかというのがあっても何もおかしくない
物事を一面的にしか捉えられない人はソフトウェアの仕事には向かない
625デフォルトの名無しさん
2020/08/27(木) 19:15:28.22ID:JwVMaeMo >>605
関数型プログラミングで使われるデータ構造は
状態を持たないわけじゃなくて状態が不変なだけだと思うよ
状態を変えるときはオブジェクトを作り直す感じ
文字列のオブジェクトは関数型言語じゃなくても不変なのが一般的だと思うよ
関数型プログラミングで使われるデータ構造は
状態を持たないわけじゃなくて状態が不変なだけだと思うよ
状態を変えるときはオブジェクトを作り直す感じ
文字列のオブジェクトは関数型言語じゃなくても不変なのが一般的だと思うよ
626デフォルトの名無しさん
2020/08/27(木) 19:21:54.69ID:LjKzxOF2 >>624
>技術が優れてるかどうかの判断基準や観点の違いでしょ
他所で広く使われているか、という指標はどうだろうか?
使われるコードは良いコード、使われないコードは悪いコード。デファクトスタンダードという言葉もある。
>技術が優れてるかどうかの判断基準や観点の違いでしょ
他所で広く使われているか、という指標はどうだろうか?
使われるコードは良いコード、使われないコードは悪いコード。デファクトスタンダードという言葉もある。
627デフォルトの名無しさん
2020/08/27(木) 19:38:47.84ID:OAHLXlr3 多重継承は曖昧だというが、自然言語処理はその曖昧さが大切になる。チンポは随意筋であり不随意筋である。
最終的に,クラス階層は最上位クラスを含めた
最大8 階層から構成され,「伝統的な日本の絵画」
に属する用語に対応する 55 クラスと解説文中か
ら抽出した139 クラスが配置された。ただし,そ
のうち 32 クラスが複数の上位クラスをもつとい
う多重継承が示された。例えば,「ngyc:絵巻物」
は「ngyc:伝統的な日本の絵画」と,「ngyc:表具の
形式」の下位クラスである「ngyc:巻子」の 2 つの
クラスを継承する(図 2)。こうした多重継承は,
本質属性をもつ基本概念と機能を表すロール概念
を分離することで,基本概念による属性継承に限
った階層関係に変更するという考え方もあり 10),
「ngyc:伝統的な日本の絵画」がロール概念で,
「ngyc:表具の形式」が基本概念と捉えることもで
きる。しかし,本研究ではテキストからの情報抽
出に即して配置し,多重継承を許容した階層を導
き出した。
http://www.mslis.jp/am2019yoko/05_kobayashi.pdf
最終的に,クラス階層は最上位クラスを含めた
最大8 階層から構成され,「伝統的な日本の絵画」
に属する用語に対応する 55 クラスと解説文中か
ら抽出した139 クラスが配置された。ただし,そ
のうち 32 クラスが複数の上位クラスをもつとい
う多重継承が示された。例えば,「ngyc:絵巻物」
は「ngyc:伝統的な日本の絵画」と,「ngyc:表具の
形式」の下位クラスである「ngyc:巻子」の 2 つの
クラスを継承する(図 2)。こうした多重継承は,
本質属性をもつ基本概念と機能を表すロール概念
を分離することで,基本概念による属性継承に限
った階層関係に変更するという考え方もあり 10),
「ngyc:伝統的な日本の絵画」がロール概念で,
「ngyc:表具の形式」が基本概念と捉えることもで
きる。しかし,本研究ではテキストからの情報抽
出に即して配置し,多重継承を許容した階層を導
き出した。
http://www.mslis.jp/am2019yoko/05_kobayashi.pdf
628デフォルトの名無しさん
2020/08/27(木) 19:51:25.25ID:11nNbPii 数人月の仕事なら何だって良いさ
時間貰えばコードの隅から隅まで読んで把握出来る
みずほのサグラダ・ファミリアがグローバル変数で完成するならそういう話をしてよ
時間貰えばコードの隅から隅まで読んで把握出来る
みずほのサグラダ・ファミリアがグローバル変数で完成するならそういう話をしてよ
629デフォルトの名無しさん
2020/08/27(木) 19:51:41.61ID:OAHLXlr3 令和のコペルニクス
https://youtu.be/7DbdPKWhrpY
室町時代のアミダくじは円形であること、ベンゼン環の六角構造、赤青緑の三色ダイオードを考えてみた。
ソースコード
https://drive.google.com/file/d/1hsFT2F4AMgUv1JHqy0si_7Yj7q7TyHnR/view
https://youtu.be/7DbdPKWhrpY
室町時代のアミダくじは円形であること、ベンゼン環の六角構造、赤青緑の三色ダイオードを考えてみた。
ソースコード
https://drive.google.com/file/d/1hsFT2F4AMgUv1JHqy0si_7Yj7q7TyHnR/view
630デフォルトの名無しさん
2020/08/27(木) 20:00:22.80ID:OAHLXlr3 カプセル化とはオブジェクトの独立性でありオブジェクトカプセルのことだ!
>>64
>設計的にはイベントというかメッセージ以外のアクセスを許さないためのカプセル化だろ?
洋式便器に座ってオシッコを出したり止めたりするのに、チンポがどうなっているかを確かめる必要無いだろ?
928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
>>64
>設計的にはイベントというかメッセージ以外のアクセスを許さないためのカプセル化だろ?
洋式便器に座ってオシッコを出したり止めたりするのに、チンポがどうなっているかを確かめる必要無いだろ?
928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
631デフォルトの名無しさん
2020/08/27(木) 20:10:35.55ID:LUaIeiWj _w 、... ョ ┌┐ ィ ′
 ̄+ ヘe、 j「. .¬气¬''..~''~ ,.ルw、.ーu、す
^^"~~l|~~^''' ォ′ .,. l| ┐ .√ j| _~+,.、.
. .,/. ょ_/ 、j「 { `¬.. 〃 .、l| 、
.. ~^. ~ ` ~^
. ;. ョ __
. j| ~ラ¬¬+ |.  ̄.  ̄..
. オ |.. ォ ,、
k、 ,j〃. L_. _ェ ~'――'~. ^^^^^^ ̄´
 ̄′  ̄ ̄
 ̄+ ヘe、 j「. .¬气¬''..~''~ ,.ルw、.ーu、す
^^"~~l|~~^''' ォ′ .,. l| ┐ .√ j| _~+,.、.
. .,/. ょ_/ 、j「 { `¬.. 〃 .、l| 、
.. ~^. ~ ` ~^
. ;. ョ __
. j| ~ラ¬¬+ |.  ̄.  ̄..
. オ |.. ォ ,、
k、 ,j〃. L_. _ェ ~'――'~. ^^^^^^ ̄´
 ̄′  ̄ ̄
632デフォルトの名無しさん
2020/08/27(木) 20:16:01.13ID:YMQIhwLV >例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
当然ながら起きているときも、チンポがシコシコする!
風呂から出て体一杯に水を浴びながら竜哉は、この時始めて英子に対する心を決めた。裸の上半身にタオルをかけ、
離れに上ると彼は障子の外から声を掛けた。
「英子さん」
部屋の英子がこちらを向いた気配に、彼は勃○した陰○を外から障子に突きたてた。障子は乾いた音をたてて破れ、
それを見た英子は読んでいた本を力一杯障子にぶつけたのだ。本は見事、的に当って畳に落ちた。
その瞬間、竜哉は体中が引き締まるような快感を感じた。彼は今、リングで感じるあのギラギラした、
抵抗される人間の喜びを味わったのだ。
●これが衝撃の「障子破り」シーンだ! (石原慎太郎 『太陽の季節』 (新潮文庫) より)
>その瞬間、竜哉は体中が引き締まるような快感を感じた
チンポがシコシコする≠勃起、つまりそれはただチンポが勃起するのではなくて、
「体中が引き締まるような快感を感じた」ということなのである!!
当然ながら起きているときも、チンポがシコシコする!
風呂から出て体一杯に水を浴びながら竜哉は、この時始めて英子に対する心を決めた。裸の上半身にタオルをかけ、
離れに上ると彼は障子の外から声を掛けた。
「英子さん」
部屋の英子がこちらを向いた気配に、彼は勃○した陰○を外から障子に突きたてた。障子は乾いた音をたてて破れ、
それを見た英子は読んでいた本を力一杯障子にぶつけたのだ。本は見事、的に当って畳に落ちた。
その瞬間、竜哉は体中が引き締まるような快感を感じた。彼は今、リングで感じるあのギラギラした、
抵抗される人間の喜びを味わったのだ。
●これが衝撃の「障子破り」シーンだ! (石原慎太郎 『太陽の季節』 (新潮文庫) より)
>その瞬間、竜哉は体中が引き締まるような快感を感じた
チンポがシコシコする≠勃起、つまりそれはただチンポが勃起するのではなくて、
「体中が引き締まるような快感を感じた」ということなのである!!
633デフォルトの名無しさん
2020/08/27(木) 20:38:21.72ID:Q9F08mvx >>624
> その基準の一つに頭悪い人でも使いやすいかどうかというのがあっても何もおかしくない
それが本当に 頭悪い人 "でも" 使いやすいのであれば
頭が良い人でも使いやすいんだよ
頭が良くなるにつれて、使いづらくなるものは
それは技術ではなく人の問題になってる
> その基準の一つに頭悪い人でも使いやすいかどうかというのがあっても何もおかしくない
それが本当に 頭悪い人 "でも" 使いやすいのであれば
頭が良い人でも使いやすいんだよ
頭が良くなるにつれて、使いづらくなるものは
それは技術ではなく人の問題になってる
634デフォルトの名無しさん
2020/08/27(木) 20:52:06.48ID:m77ghP+M >>623
>優秀な人(Googleレベルでいいよ)が優れた技術だって言っていれば
問『なぜ、人を殺してはいけないのか?』
答『この社会の法律でそういうことになっているから』
問『トランプ大統領は原爆素晴らしいと言ってるぞ?』
答『アメリカ大統領に日本の法律は通じない』
>優秀な人(Googleレベルでいいよ)が優れた技術だって言っていれば
問『なぜ、人を殺してはいけないのか?』
答『この社会の法律でそういうことになっているから』
問『トランプ大統領は原爆素晴らしいと言ってるぞ?』
答『アメリカ大統領に日本の法律は通じない』
635デフォルトの名無しさん
2020/08/27(木) 20:56:18.38ID:Q9F08mvx636デフォルトの名無しさん
2020/08/27(木) 21:12:15.32ID:m77ghP+M 優れた技術とやらが常に新しいシステムのことだとすれば、
>>611
>うちの人材は技術力が低いので優れた技術を使えない
Windows 7の2023年までの延長サポート、あらゆる企業が購入可能に Microsoftが方針転換
https://www.itmedia.co.jp/news/spv/1910/03/news091.html
古いシステムを使っている企業は、技術力低いということになるのか?
>>611
>うちの人材は技術力が低いので優れた技術を使えない
Windows 7の2023年までの延長サポート、あらゆる企業が購入可能に Microsoftが方針転換
https://www.itmedia.co.jp/news/spv/1910/03/news091.html
古いシステムを使っている企業は、技術力低いということになるのか?
637デフォルトの名無しさん
2020/08/27(木) 21:17:37.90ID:Q9F08mvx 優れた技術が常に新しいシステムなんて言ってませんね
言ってない話を前提にしてるので
レスするだけ無駄ですね
言ってない話を前提にしてるので
レスするだけ無駄ですね
638デフォルトの名無しさん
2020/08/27(木) 21:24:22.38ID:m77ghP+M >>635
偉い人が言うことだから正しいってのはお里が知れてるってことなんだが?
偉い人が言うことだから正しいってのはお里が知れてるってことなんだが?
639デフォルトの名無しさん
2020/08/27(木) 21:25:39.84ID:Q9F08mvx640デフォルトの名無しさん
2020/08/27(木) 21:29:09.27ID:m77ghP+M641デフォルトの名無しさん
2020/08/27(木) 21:29:47.44ID:Q9F08mvx > 優れた技術とやらが、例えばナチスドイツの軍事技術だとすれば
それもいってませんねw
まいどまいど印象操作
それもいってませんねw
まいどまいど印象操作
642デフォルトの名無しさん
2020/08/27(木) 21:34:17.32ID:m77ghP+M >>639
>専門家の言うことだから正しい
STAP細胞論文の責任著者の一人である理化学研究所の笹井芳樹氏が8月5日、死亡した。52歳だった。
神戸市の先端医療センターの関連施設の階段5階の踊り場で、ひも状のもので首を吊っていたという。
遺書らしきものが見つかっており、兵庫県警では自殺を図ったとみている。
https://m.huffingtonpost.jp/2014/08/04/sasaiyoshiki-attempt-suicide_n_5649588.html
新井紀子教授のAIやコンピュータに関する知識は素人に毛が生えた程度
新井紀子教授の『AI vs. 教科書が読めない子どもたち』という本が大変売れているようです。
私も本を購入し精読させていただきました。
一言で感想を言うと、新井紀子教授のAI技術に関する知識はせいぜいAI関連ニュースに詳しい人レベルであり、
そのベースであるコンピュータに関する知識もほぼ素人だということがわかりました。
https://mywarstory.tokyo/inconvenient-truth/
>専門家の言うことだから正しい
STAP細胞論文の責任著者の一人である理化学研究所の笹井芳樹氏が8月5日、死亡した。52歳だった。
神戸市の先端医療センターの関連施設の階段5階の踊り場で、ひも状のもので首を吊っていたという。
遺書らしきものが見つかっており、兵庫県警では自殺を図ったとみている。
https://m.huffingtonpost.jp/2014/08/04/sasaiyoshiki-attempt-suicide_n_5649588.html
新井紀子教授のAIやコンピュータに関する知識は素人に毛が生えた程度
新井紀子教授の『AI vs. 教科書が読めない子どもたち』という本が大変売れているようです。
私も本を購入し精読させていただきました。
一言で感想を言うと、新井紀子教授のAI技術に関する知識はせいぜいAI関連ニュースに詳しい人レベルであり、
そのベースであるコンピュータに関する知識もほぼ素人だということがわかりました。
https://mywarstory.tokyo/inconvenient-truth/
643デフォルトの名無しさん
2020/08/27(木) 21:54:59.56ID:s9fS5Msc 素人はおとなしくしてろ
644デフォルトの名無しさん
2020/08/28(金) 00:01:24.91ID:OgWlouZ2645デフォルトの名無しさん
2020/08/28(金) 00:16:44.09ID:30PWE3IP646デフォルトの名無しさん
2020/08/28(金) 00:25:15.08ID:an13tW42647デフォルトの名無しさん
2020/08/28(金) 01:23:51.12ID:I2GFa1tZ >>642
え?それがなにか?w
え?それがなにか?w
648デフォルトの名無しさん
2020/08/28(金) 10:41:00.53ID:i6Fmhhr5 24 名無しさん@ゴーゴーゴーゴー! (JP 0H82-LX7o [153.145.207.163]) 2019/11/23(土) 16:54:55.03 ID:l9637O/lH
https://i.imgur.com/1VuRIrP.jpg
https://i.imgur.com/1VuRIrP.jpg
649デフォルトの名無しさん
2020/08/28(金) 11:18:02.52ID:YjugbQV3 >>586
あんま難しく考えなくて良いと思う。
ただの解釈の違い。
オブジェクト指向は手続き型言語にグローバル変数を減らす為に、グローバル変数とそれ必要とする複数の関数をさらに包み込む物を用意した。
関数型言語は関数の引数や、関数の中でのみ変数を書き換えられると言う制約でグローバル変数の危険性を回避した。
手続き型言語(Python)
def fib( n):
temp = 0
a = 0
b = 1
for i in range( n):
temp = a
a = b
b += temp
return a
Haskell
fib n = fib’ n 0 1
where
fib’ 0 a _ = a
fib’ n a b = fib’ (n–1) b (b + a)
あんま難しく考えなくて良いと思う。
ただの解釈の違い。
オブジェクト指向は手続き型言語にグローバル変数を減らす為に、グローバル変数とそれ必要とする複数の関数をさらに包み込む物を用意した。
関数型言語は関数の引数や、関数の中でのみ変数を書き換えられると言う制約でグローバル変数の危険性を回避した。
手続き型言語(Python)
def fib( n):
temp = 0
a = 0
b = 1
for i in range( n):
temp = a
a = b
b += temp
return a
Haskell
fib n = fib’ n 0 1
where
fib’ 0 a _ = a
fib’ n a b = fib’ (n–1) b (b + a)
650デフォルトの名無しさん
2020/08/28(金) 11:31:44.63ID:YjugbQV3 オブジェクト指向と関数型のどっちがどうと言うのは知らんけど、Haskellと言うか圏論の考え方は面白いとは思うよ。
視野を広げる意味でもHaskellは学んで損は無いと思う。
入出力も圏論的にはキーボードそのものを変数の様な物と捉える。
値が入ってくる方向が違うと言う意味では虚数と実数の関係に似ている。
readLn >>= \x -> (2 * x)
f x = (2 * x)
カリー化するとより似てる。
readLn >>= (2*)
f = (2*)
また、変数も引数の無い関数と捉えられる。
main関数はmain変数と言う見方も出来るし、x = 2は常に2を返す関数xとも捉えられる。
視野を広げる意味でもHaskellは学んで損は無いと思う。
入出力も圏論的にはキーボードそのものを変数の様な物と捉える。
値が入ってくる方向が違うと言う意味では虚数と実数の関係に似ている。
readLn >>= \x -> (2 * x)
f x = (2 * x)
カリー化するとより似てる。
readLn >>= (2*)
f = (2*)
また、変数も引数の無い関数と捉えられる。
main関数はmain変数と言う見方も出来るし、x = 2は常に2を返す関数xとも捉えられる。
651デフォルトの名無しさん
2020/08/28(金) 11:39:16.31ID:YjugbQV3 x readLn >>= \x -> (2 * x)
o readLn >>= \x -> print (2 * x)
x readLn >>= (2*)
o readLn >>= print.(2*)
o readLn >>= \x -> print (2 * x)
x readLn >>= (2*)
o readLn >>= print.(2*)
652デフォルトの名無しさん
2020/08/28(金) 12:23:30.81ID:PrwED61V カプセル化が悪いんじゃなくてせっかくのカプセル化をぶち壊すのが悪いんだ
653デフォルトの名無しさん
2020/08/28(金) 12:35:06.15ID:RBhGMmXK 「内部には高電圧部があり感電する危険がありますから
サービスエンジニア以外は分解改造してはいけません」
サービスエンジニア以外は分解改造してはいけません」
654デフォルトの名無しさん
2020/08/28(金) 14:52:09.13ID:k/wySbW5655デフォルトの名無しさん
2020/08/28(金) 16:44:01.34ID:BawoiMjj 詫びソースコード
アイミョン
[KS108-054]
テーマ:冒険者の広場・DQXショップ2020/02/17 16:22
今月になってから急にシステム障害が多発しており、運営としては説明責任を果たすべきと考えます。
https://hiroba.dqx.jp/sc/news/category/3/
不具合を出した個所とその修正箇所の両方を「詫びソースコード」として開示するのです。
ソースコードも企業の重要な著作物ですが、だからこそ開示して詫びることが大切です。
それと同時にシステムの不具合がなぜ多発しているのかを、プレイヤーも一緒に考えるのです。
バンダイナムコゲームスの『ドラゴンボールZ ドッカンバトル』を見習うべきです。
https://i.imgur.com/QHVwmj5.jpg
アイミョン
[KS108-054]
テーマ:冒険者の広場・DQXショップ2020/02/17 16:22
今月になってから急にシステム障害が多発しており、運営としては説明責任を果たすべきと考えます。
https://hiroba.dqx.jp/sc/news/category/3/
不具合を出した個所とその修正箇所の両方を「詫びソースコード」として開示するのです。
ソースコードも企業の重要な著作物ですが、だからこそ開示して詫びることが大切です。
それと同時にシステムの不具合がなぜ多発しているのかを、プレイヤーも一緒に考えるのです。
バンダイナムコゲームスの『ドラゴンボールZ ドッカンバトル』を見習うべきです。
https://i.imgur.com/QHVwmj5.jpg
656デフォルトの名無しさん
2020/08/28(金) 16:49:45.88ID:BawoiMjj >>586
>オブジェクト指向とは何か、関数型とは何か
勃起するときのチンポはオブジェクト指向、オシッコする時のチンポは関数型。
自らの意志で勃起し射精する独立型と、オシッコを出したり止めたりの制御型とを区別することが大切。
>オブジェクト指向とは何か、関数型とは何か
勃起するときのチンポはオブジェクト指向、オシッコする時のチンポは関数型。
自らの意志で勃起し射精する独立型と、オシッコを出したり止めたりの制御型とを区別することが大切。
657デフォルトの名無しさん
2020/08/28(金) 17:15:51.36ID:H48t2s60 カプセル化って悪いことなのか?
俺にとってはメリットしかないと思ってるのだが。
>>2のような例はカプセル化が問題なのではなくて、設計の問題だろう。
必要なデータにアクセスできないような設計になっているのが悪い。
知られてはイケナイ情報は隠蔽すべきだろう。
カプセル化を否定するということは、自動販売機に向かって
「いくら銭が貯まってるのか見せろ」などと言ってるようなもん。
パソコンの電源ユニットも勝手に分解できないように封印がされてるし、
女の子のパンティーも隠蔽されている。
俺にとってはメリットしかないと思ってるのだが。
>>2のような例はカプセル化が問題なのではなくて、設計の問題だろう。
必要なデータにアクセスできないような設計になっているのが悪い。
知られてはイケナイ情報は隠蔽すべきだろう。
カプセル化を否定するということは、自動販売機に向かって
「いくら銭が貯まってるのか見せろ」などと言ってるようなもん。
パソコンの電源ユニットも勝手に分解できないように封印がされてるし、
女の子のパンティーも隠蔽されている。
658デフォルトの名無しさん
2020/08/28(金) 17:18:13.19ID:BawoiMjj >>589
人体を扱う医学分野とか自然言語処理とかでは、ますますオブジェクト指向が大切になってくるよな。
機械的に統計取るだけならグローバル変数でもいいけど、人間科学生態科学は独立性を抜きには考えられない。
人体を扱う医学分野とか自然言語処理とかでは、ますますオブジェクト指向が大切になってくるよな。
機械的に統計取るだけならグローバル変数でもいいけど、人間科学生態科学は独立性を抜きには考えられない。
659デフォルトの名無しさん
2020/08/28(金) 17:29:34.40ID:BawoiMjj オブジェクト指向とは、Rubyのような所謂オブジェクト指向プログラミング言語のことではない!
つまりオブジェクト指向とは、俺の股間に付いているモノに他ならない!
つまりオブジェクト指向とは、俺の股間に付いているモノに他ならない!
660デフォルトの名無しさん
2020/08/28(金) 18:01:30.91ID:qvGvuXDB いくら熱心に勉強しても
チンポの事しか話せないなら意味がないな
誰もいないスレに1人で連投してスレを汚すんじゃない
チンポの事しか話せないなら意味がないな
誰もいないスレに1人で連投してスレを汚すんじゃない
661デフォルトの名無しさん
2020/08/28(金) 18:15:41.26ID:1ynI1oSD >>660
ならオブジェクト指向とは何かを、自分の言葉で簡潔に述べてみろ!
ならオブジェクト指向とは何かを、自分の言葉で簡潔に述べてみろ!
662デフォルトの名無しさん
2020/08/28(金) 18:27:24.04ID:k/wySbW5 大規模システムを小さい多数のコンポーネントに分割することで
管理しやすくし、複数人での並行開発を行えるようにする技術かな
管理しやすくし、複数人での並行開発を行えるようにする技術かな
663デフォルトの名無しさん
2020/08/28(金) 18:53:44.07ID:BnzPgwao >>662
では「オブジェクトの多重継承」とは何か? そして多重継承はなぜ必要なのか?
では「オブジェクトの多重継承」とは何か? そして多重継承はなぜ必要なのか?
664デフォルトの名無しさん
2020/08/28(金) 18:57:04.23ID:k/wySbW5 >>633
> では「オブジェクトの多重継承」とは何か?
2つのオブジェクトを継承(実装を伴うもの)したいときに使うもの
> そして多重継承はなぜ必要なのか?
オブジェクト指向が提供する技術はどれも必須ではない
技術は必要かどうかではなく、何かを実現したい時(必要な時)に使うもの
言葉自体がおかしい
> では「オブジェクトの多重継承」とは何か?
2つのオブジェクトを継承(実装を伴うもの)したいときに使うもの
> そして多重継承はなぜ必要なのか?
オブジェクト指向が提供する技術はどれも必須ではない
技術は必要かどうかではなく、何かを実現したい時(必要な時)に使うもの
言葉自体がおかしい
665デフォルトの名無しさん
2020/08/28(金) 20:27:52.86ID:XFujtf5p オブジェクト指向がコンポーネント技術の需要から始まったことは周知のとおりだが、コンポーネント化のアイデアそのものが誤りだった可能性もあるな。
666デフォルトの名無しさん
2020/08/28(金) 20:29:24.21ID:k/wySbW5667デフォルトの名無しさん
2020/08/28(金) 20:32:35.48ID:XFujtf5p668デフォルトの名無しさん
2020/08/28(金) 20:34:17.13ID:k/wySbW5669デフォルトの名無しさん
2020/08/28(金) 20:37:52.62ID:XFujtf5p オブジェクト指向の限界は皆が感じていて、これから学ぼうとする初心者たちがオブジェクト指向が良いものだと言ってる状況では?
間違っていた可能性があると言うだけで、ほとんどの人には十分だと思う。
間違っていた可能性があると言うだけで、ほとんどの人には十分だと思う。
670デフォルトの名無しさん
2020/08/28(金) 20:41:02.14ID:k/wySbW5 なにが十分なのわからないが?
例えば推理もの小説でその人が犯人だという証拠があがってる中、
ヘボ探偵が、その人犯人じゃない可能性がある!と言った所で
その後に理由をいわなければ、何の意味もないことぐらいわかるでしょw
例えば推理もの小説でその人が犯人だという証拠があがってる中、
ヘボ探偵が、その人犯人じゃない可能性がある!と言った所で
その後に理由をいわなければ、何の意味もないことぐらいわかるでしょw
671デフォルトの名無しさん
2020/08/28(金) 20:44:48.47ID:Qq63pedZ 麻酔針犯人プッシュ!
コナン(ボイスチェンジャー)「私が犯人デス!」
コレ
コナン(ボイスチェンジャー)「私が犯人デス!」
コレ
672デフォルトの名無しさん
2020/08/28(金) 20:46:07.59ID:JFdvcY0m だからオブジェクト指向も理解できてない素人を真面目に相手にするなって
673デフォルトの名無しさん
2020/08/28(金) 20:48:37.42ID:XFujtf5p 推理ものだと思うのはこれからオブジェクト指向を学ぶ初心者でしょ。
オブジェクト指向を使いこなしてきた人にとっては合意の取れた事実だから。
オブジェクト指向をこれから学ぼうとする初心者が話に加わろうとする気持ちはわからんでもないが、おまえにはまだ早いという人が居るのも無理からぬ話。
オブジェクト指向を使いこなしてきた人にとっては合意の取れた事実だから。
オブジェクト指向をこれから学ぼうとする初心者が話に加わろうとする気持ちはわからんでもないが、おまえにはまだ早いという人が居るのも無理からぬ話。
674デフォルトの名無しさん
2020/08/28(金) 20:49:36.03ID:k/wySbW5 > おまえにはまだ早いという人が
また人の話にすり替えたw
また人の話にすり替えたw
675デフォルトの名無しさん
2020/08/28(金) 20:52:52.49ID:XFujtf5p STLが非常に参考になる。
もちろん、これからの時代にSTLレベルでは話にならない。
思考の出発点として素晴らしい。
もちろん、これからの時代にSTLレベルでは話にならない。
思考の出発点として素晴らしい。
676デフォルトの名無しさん
2020/08/28(金) 21:05:56.68ID:JFdvcY0m STLってなんだよ
Standard Template Languageか?
最近おぼえた単語を言いたくてしょうがないって感じだなw
Standard Template Languageか?
最近おぼえた単語を言いたくてしょうがないって感じだなw
677デフォルトの名無しさん
2020/08/28(金) 21:06:16.07ID:XFujtf5p コンポーネントというのは、バベルの塔だったんじゃないかと思ってな。
678デフォルトの名無しさん
2020/08/28(金) 21:06:55.78ID:JFdvcY0m Language ✗
Library ○
Library ○
679デフォルトの名無しさん
2020/08/28(金) 21:07:43.45ID:JFdvcY0m お前にはScratchで十分だ!
680デフォルトの名無しさん
2020/08/28(金) 21:08:35.98ID:JFdvcY0m コンポーネントって単語も最近覚えたんだね
よかったでちゅね〜
よかったでちゅね〜
681デフォルトの名無しさん
2020/08/28(金) 21:41:15.03ID:npmi1CGp >>672
>だからオブジェクト指向も理解できてない素人を
ならば「チンポがシコシコする」という日本語表現は、文法的に正しいのか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
>だからオブジェクト指向も理解できてない素人を
ならば「チンポがシコシコする」という日本語表現は、文法的に正しいのか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
682デフォルトの名無しさん
2020/08/28(金) 21:51:25.23ID:npmi1CGp 例えば具体的にいかなる形で「分割」するかだが、
>>662
>大規模システムを小さい多数のコンポーネントに分割することで
まず自分とチンポを分割すること。チンポは独立した生き物で、チンポは自分の意志で勃起してシコシコする。
>>662
>大規模システムを小さい多数のコンポーネントに分割することで
まず自分とチンポを分割すること。チンポは独立した生き物で、チンポは自分の意志で勃起してシコシコする。
683デフォルトの名無しさん
2020/08/28(金) 23:17:35.99ID:XFujtf5p 「画面上に4個のボタンがある」
ボタンのように見せかけてるだけで、ボタンじゃないんだよ。
だから、ボタンとして分割することはできない。
ボタンのように見せかけてるだけで、ボタンじゃないんだよ。
だから、ボタンとして分割することはできない。
684デフォルトの名無しさん
2020/08/29(土) 00:36:34.24ID:SgECYZiQ コンポーネントに分割することで管理しやすくするというだけなら、関数型や非オブジェクト指向の手続型でも共通のような。
コンポーネント化の単位として、オブジェクトを選択したことの優位性如何というのがポイントになってくるのでは。
コンポーネント化の単位として、オブジェクトを選択したことの優位性如何というのがポイントになってくるのでは。
685デフォルトの名無しさん
2020/08/29(土) 00:45:30.98ID:g18FcF9h やはり関数型OSが本命だろうな。
686デフォルトの名無しさん
2020/08/29(土) 03:45:42.19ID:g18FcF9h 4個のON/OFFボタンは4ビットで表せる。
HDグラフィックスは3MB程度。
ということは、4ビット入力して3MB出力するような関数があれば良いと考える。
ここが出発点じゃないか?
HDグラフィックスは3MB程度。
ということは、4ビット入力して3MB出力するような関数があれば良いと考える。
ここが出発点じゃないか?
687デフォルトの名無しさん
2020/08/29(土) 08:41:46.22ID:oUMAS3pz >>685
関数型がなんなのかわかってれば、そもそもそんなこと言えんわ。
関数型がなんなのかわかってれば、そもそもそんなこと言えんわ。
688デフォルトの名無しさん
2020/08/29(土) 10:42:20.92ID:+QUdJXvJ C++のSTLはLispの超進化バージョンだから関数型への回帰に見える
要するに汎用的な関数を作りたいんだろう
テンプレートを使った万能な関数を作りたいワケだ
C++というかプログラミング言語の狙いはそこ(万能な関数)にある
例えばmax関数一つ作るだけで、どんな型でも最大値を出せる……てのが理想だ
要するに汎用的な関数を作りたいんだろう
テンプレートを使った万能な関数を作りたいワケだ
C++というかプログラミング言語の狙いはそこ(万能な関数)にある
例えばmax関数一つ作るだけで、どんな型でも最大値を出せる……てのが理想だ
689デフォルトの名無しさん
2020/08/29(土) 15:54:18.98ID:MNNuNAQw ジェネリック知らないのかな?
Lispは動的言語だからSTLとの比較で進化も退化もない
Lispは動的言語だからSTLとの比較で進化も退化もない
690デフォルトの名無しさん
2020/08/29(土) 19:30:12.05ID:07o8HjE4 関数型が出せなければ、Windowsも終わるだろうな。
691デフォルトの名無しさん
2020/08/29(土) 19:39:16.76ID:urowXmVA >>686
64ビットのCPUなんですけど
64ビットのCPUなんですけど
692デフォルトの名無しさん
2020/08/29(土) 19:41:13.66ID:0Qp+2/1q Haskellでコンパイラ作ったけど処理が遅かったからモナド使って
完成したものは手続き型言語で書いたものと変わらなかったみたいな話をみたことがある
関数型でOSは厳しいのじゃないかな
関数型は銀の弾丸ではないよ
完成したものは手続き型言語で書いたものと変わらなかったみたいな話をみたことがある
関数型でOSは厳しいのじゃないかな
関数型は銀の弾丸ではないよ
693デフォルトの名無しさん
2020/08/29(土) 20:00:12.92ID:07o8HjE4694デフォルトの名無しさん
2020/08/29(土) 20:05:55.38ID:urowXmVA 処理単位という物理的な概念がないのか
695デフォルトの名無しさん
2020/08/29(土) 20:11:02.81ID:gmR1chaS 冒頭の繰り返しになりますが、オントロジーは「情報の意味を定義するための概念」であり、その適用範囲は
広義なものです。更にオントロジーだけではなく、LDやRDFといった周辺技術の関連性を理解してないと
学習初期で混乱することになります。本記事がこれからオントロジーを学ぼうとする方の一助になれば幸いです。
https://qiita.com/mininobu/items/bce0e0ad97ed17e0aff2
広義なものです。更にオントロジーだけではなく、LDやRDFといった周辺技術の関連性を理解してないと
学習初期で混乱することになります。本記事がこれからオントロジーを学ぼうとする方の一助になれば幸いです。
https://qiita.com/mininobu/items/bce0e0ad97ed17e0aff2
696デフォルトの名無しさん
2020/08/29(土) 20:23:16.35ID:07o8HjE4 中国の味の素と言えば李錦記。
オイスターソースを発明した会社だ。
オイスターソースを発明した会社だ。
697デフォルトの名無しさん
2020/08/29(土) 21:15:39.66ID:i3irdbE0 カプセル化ってstaticの事じゃないの? そう習ったような気が、、、 愚かなの?
698デフォルトの名無しさん
2020/08/29(土) 22:45:50.17ID:07o8HjE4 殻を破れ。
699デフォルトの名無しさん
2020/08/29(土) 22:51:35.09ID:EjjA84a9 頭がおかしい
700デフォルトの名無しさん
2020/08/29(土) 22:58:46.20ID:EjjA84a9 C++ってガチのマルチパラダイムだよね
手続き型 オブジェクト指向
そしてテンプレートメタプログラミングは関数型
手続き型 オブジェクト指向
そしてテンプレートメタプログラミングは関数型
701デフォルトの名無しさん
2020/08/29(土) 23:21:22.88ID:yWtTTOog >>700
老害ですね
老害ですね
702デフォルトの名無しさん
2020/08/29(土) 23:28:20.93ID:07o8HjE4 関数型プロセッサが必要かもな。
703デフォルトの名無しさん
2020/08/30(日) 08:47:47.58ID:zRn3rglz >>692
Haskellが遅いのは遅延評価だからだよ。(速度より表現力を取った)
モナドは関係無いし、モナドで解決するならとっくにHaskellは速くなってる。
モナドは順序の関係無い数学の世界(純粋関数型言語の世界)で逐次処理を再現する仕組み。
(重さの無い量子に重さを生み出すヒッグス粒子の様なもの)
HaskellでOSが作りにくいのは遅いのもだけど、Haskellのランタイムが大きいから。
C++が一定以上の規模じゃ無いと組み込みで使えないのと同じ。
Cみたいにランタイムが小さく無いとメモリに入りきらない。
C++よりランタイムが大きい上に遅いHaskellでOS作ろうと思うのは、余程の物好きだろう。
Haskellが遅いのは遅延評価だからだよ。(速度より表現力を取った)
モナドは関係無いし、モナドで解決するならとっくにHaskellは速くなってる。
モナドは順序の関係無い数学の世界(純粋関数型言語の世界)で逐次処理を再現する仕組み。
(重さの無い量子に重さを生み出すヒッグス粒子の様なもの)
HaskellでOSが作りにくいのは遅いのもだけど、Haskellのランタイムが大きいから。
C++が一定以上の規模じゃ無いと組み込みで使えないのと同じ。
Cみたいにランタイムが小さく無いとメモリに入りきらない。
C++よりランタイムが大きい上に遅いHaskellでOS作ろうと思うのは、余程の物好きだろう。
704デフォルトの名無しさん
2020/08/30(日) 08:55:55.45ID:AzgFk2g1 関数型プロセッサはSFだろう
無限の再帰に耐えれるCPUだがそんなものが出来るとは思えない
無限の再帰に耐えれるCPUだがそんなものが出来るとは思えない
705デフォルトの名無しさん
2020/08/30(日) 09:04:55.80ID:zRn3rglz スタックプロセッサ(だっけ?)とかLispに最適化したCPUが昔無かったっけ?
数の暴力でx86に潰されたけど。
数の暴力でx86に潰されたけど。
706デフォルトの名無しさん
2020/08/30(日) 09:10:58.49ID:zRn3rglz 関数OSの可能性が有るとすれば量子コンピュータかな。
純粋関数型言語はアーキテクチャに依存しないので、今でも紙と鉛筆で実行出来るし、理論上は文法そのまま量子コンピュータで動かせる。
まあ、今までの歴史振り返ればCなりをベースにした新言語を作って対応しそうだが。
純粋関数型言語はアーキテクチャに依存しないので、今でも紙と鉛筆で実行出来るし、理論上は文法そのまま量子コンピュータで動かせる。
まあ、今までの歴史振り返ればCなりをベースにした新言語を作って対応しそうだが。
707デフォルトの名無しさん
2020/08/30(日) 09:19:35.78ID:g5q4aE3p それらの総称として、オイスタープロジェクトと呼ぶことにします。
708デフォルトの名無しさん
2020/08/30(日) 09:26:18.65ID:AzgFk2g1 いや、スタックプロセッサでは無限のスタックを用意すると数学的に正しい再帰が実現できる
709デフォルトの名無しさん
2020/08/30(日) 09:31:31.63ID:i3Iv6gG3 文脈によって意味が変わる自然言語処理においては「多重継承」が大切。
状況によって、チンポは随意筋にも不随意筋にもなるし、自分自身にもなるし部下にも上司にもなる。
>>539
クリントンとチンポの関係は、部下と上司の関係が逆転してしまった例。
状況によって、チンポは随意筋にも不随意筋にもなるし、自分自身にもなるし部下にも上司にもなる。
>>539
クリントンとチンポの関係は、部下と上司の関係が逆転してしまった例。
710デフォルトの名無しさん
2020/08/30(日) 09:35:57.52ID:g5q4aE3p 文系の人がプログラミングできるようにとの配慮からオブジェクト指向を推進してきたわけですが、理系には関数型のほうが思考しやすいと思います。
というのも、数式そのままに理解していけるからです。
というのも、数式そのままに理解していけるからです。
711デフォルトの名無しさん
2020/08/30(日) 09:38:35.51ID:i3Iv6gG3 ・多重継承
ものごとには唯一の本質があるとする存在論にお
いては多重継承が忌避されるかもしれない。しかし
現在の GUO では本質に関する議論を保留してお
り、多 重 継 承 を許 容 している。例 えば《人 間 》は
Agent と EnergyBearer を継 承 し、《パソコン》も
System と EnergyBearer、Artifact を継承する。また、
Agent は System を継承している(図 1)。
http://www.jaist.ac.jp/ks/labs/kbs-lab/sig-swo/papers/SIG-SWO-A602/SIG-SWO-A602-04.pdf
ものごとには唯一の本質があるとする存在論にお
いては多重継承が忌避されるかもしれない。しかし
現在の GUO では本質に関する議論を保留してお
り、多 重 継 承 を許 容 している。例 えば《人 間 》は
Agent と EnergyBearer を継 承 し、《パソコン》も
System と EnergyBearer、Artifact を継承する。また、
Agent は System を継承している(図 1)。
http://www.jaist.ac.jp/ks/labs/kbs-lab/sig-swo/papers/SIG-SWO-A602/SIG-SWO-A602-04.pdf
712デフォルトの名無しさん
2020/08/30(日) 09:41:09.24ID:i3Iv6gG3 オシッコするときのチンポは制御、
>>710
>理系には関数型のほうが思考しやすいと思います。
勃起するときのチンポは自律ね!
>数式そのままに理解していけるからです
ならばチンポが勃起する事象を「数式」で示せ!
>>710
>理系には関数型のほうが思考しやすいと思います。
勃起するときのチンポは自律ね!
>数式そのままに理解していけるからです
ならばチンポが勃起する事象を「数式」で示せ!
713デフォルトの名無しさん
2020/08/30(日) 09:54:21.45ID:g5q4aE3p 殻を破れ。
714デフォルトの名無しさん
2020/08/30(日) 10:02:03.27ID:zRn3rglz >>710
How(どの様に =手続き)では無く、 What(それは何 =構造)で考えろも一緒に教えれば文系にも関数型言語は優しいと思うんだけどな。
lengthとはリストの中の値の個数分1を足した合計を返す関数である。
(要素1個1個を表すxは捨てて1を足すので_で使わない事を明記)
length [] = 0
length (_:xs) = 1 + length xs
リストの中の値の個数分1を足した合計なので、リスト内包表記でこうも書ける。
length xs = sum [ 1 | _ <- xs]
How(どの様に =手続き)では無く、 What(それは何 =構造)で考えろも一緒に教えれば文系にも関数型言語は優しいと思うんだけどな。
lengthとはリストの中の値の個数分1を足した合計を返す関数である。
(要素1個1個を表すxは捨てて1を足すので_で使わない事を明記)
length [] = 0
length (_:xs) = 1 + length xs
リストの中の値の個数分1を足した合計なので、リスト内包表記でこうも書ける。
length xs = sum [ 1 | _ <- xs]
715デフォルトの名無しさん
2020/08/30(日) 10:10:57.43ID:g5q4aE3p オイスタープロジェクトでは、皆さんのご意見をお待ちしております。
716デフォルトの名無しさん
2020/08/30(日) 10:13:00.06ID:i3Iv6gG3 「言葉の意味をどう定義するか」で、「概念ツリー」と「Has-aツリー」の話をしました。
どちらも、心のモデルを構成するものです。
「概念ツリー」とは、単語の意味の概念関係をツリーで表現したモデルです。
たとえば、「建物」概念の下には、「病院」「学校」「家」といった建物の下位概念が属します。
「学校」概念は、「小学校」や「中学校」、「大学」「東京大学」などの単語を持ちます。
このように、概念ツリーは、下位なほど具体的であり、上位なほど、抽象度が高くなります。
「Has-aツリー」は、「AはBを持つ」という関係を表したものです。
たとえば、
「建物」は「ドア」、「窓」を持つ。
「学校」は、「先生」、「生徒」を持つ。
「病院」は、「医者」、「患者」、「看護師」を持つ。
といったデータモデルになっています。
「心のモデル」が、「概念ツリー」と「Has-aツリー」を持っていたとします。
そこから、このモデルに合致する単語をランダムに選び、文として出力させます。
たとえば、「建物は窓を持つ」といった風に。
特に、問題ないですよね。
こうやって、AIが出力する文を人間が判断していくわけです。
上位概念が持つものは、下位概念も持つので、
「学校は窓を持つ」
「小学校は窓を持つ」
といった文も出力されます。
https://robomind.co.jp/sizengengosyorihenoteigen4/
>>616
心のモデルの基礎はやはりチンポ!
どちらも、心のモデルを構成するものです。
「概念ツリー」とは、単語の意味の概念関係をツリーで表現したモデルです。
たとえば、「建物」概念の下には、「病院」「学校」「家」といった建物の下位概念が属します。
「学校」概念は、「小学校」や「中学校」、「大学」「東京大学」などの単語を持ちます。
このように、概念ツリーは、下位なほど具体的であり、上位なほど、抽象度が高くなります。
「Has-aツリー」は、「AはBを持つ」という関係を表したものです。
たとえば、
「建物」は「ドア」、「窓」を持つ。
「学校」は、「先生」、「生徒」を持つ。
「病院」は、「医者」、「患者」、「看護師」を持つ。
といったデータモデルになっています。
「心のモデル」が、「概念ツリー」と「Has-aツリー」を持っていたとします。
そこから、このモデルに合致する単語をランダムに選び、文として出力させます。
たとえば、「建物は窓を持つ」といった風に。
特に、問題ないですよね。
こうやって、AIが出力する文を人間が判断していくわけです。
上位概念が持つものは、下位概念も持つので、
「学校は窓を持つ」
「小学校は窓を持つ」
といった文も出力されます。
https://robomind.co.jp/sizengengosyorihenoteigen4/
>>616
心のモデルの基礎はやはりチンポ!
717デフォルトの名無しさん
2020/08/30(日) 10:15:58.81ID:g5q4aE3p718デフォルトの名無しさん
2020/08/30(日) 10:20:20.87ID:zRn3rglz そう言う意味じゃオブジェクト指向プログラミングも部品を組み合わせる様にプログラミングして行くので考え方としてはWhatだ。
でもクラスが用意されてない部分になると途端にHowになる。
そして>>605で書いた通りオブジェクト指向プログラミングではHow部分を駆逐出来ない。
でもクラスが用意されてない部分になると途端にHowになる。
そして>>605で書いた通りオブジェクト指向プログラミングではHow部分を駆逐出来ない。
719デフォルトの名無しさん
2020/08/30(日) 11:13:19.74ID:i3Iv6gG3 オブジェクト指向プログラミング言語とオブジェクト指向は違う!
>>718
>オブジェクト指向プログラミングも部品を組み合わせる様にプログラミングして行くので
オブジェクト指向とは、繋がっているけれども独立しているという意味で、俺の股間に付いているモノだ!
>>718
>オブジェクト指向プログラミングも部品を組み合わせる様にプログラミングして行くので
オブジェクト指向とは、繋がっているけれども独立しているという意味で、俺の股間に付いているモノだ!
720デフォルトの名無しさん
2020/08/30(日) 11:24:47.62ID:i3Iv6gG3 オブジェクト指向とは、決してプログラミングの手法ではない!
>>718
>オブジェクト指向プログラミングも部品を組み合わせる様にプログラミングして行くので
オブジェクト指向とはまさに俺の股間に付いているのであって、それはプログラミングとは無関係である!
>>718
>オブジェクト指向プログラミングも部品を組み合わせる様にプログラミングして行くので
オブジェクト指向とはまさに俺の股間に付いているのであって、それはプログラミングとは無関係である!
721デフォルトの名無しさん
2020/08/30(日) 12:07:11.69ID:7OtexdeL >>540
オシッコするときのチンポは「関数型」ね!
オシッコするときのチンポは「関数型」ね!
722デフォルトの名無しさん
2020/08/30(日) 12:39:27.27ID:j2JU6h3h https://ja.wikipedia.org/wiki/関数型言語#関数型プログラミングの例
VBAで書くとこういうことですな
手続き型
Function fibona(num As Integer) As Integer
Dim x As Integer, y As Integer, tmp As Integer
x = 1: y = 1
For i = 2 To num
tmp = x: x = y: y = y + tmp
Next
fibona = y
End Function
関数型
Function fibona2(num As Integer) As Integer
If num < 2 Then fibona2 = 1 Else fibona2 = fibona2(num - 2) + fibona2(num - 1)
End Function
なるほど、「フィボナッチ数列は前2個を再帰的に足す」という要件が、下の方が見えやすいね
この場合は上の方が呪文
ただ下は要件は見えやすいが、なんとなくであって、動作に確証は持ちにくいわな
しかし引数が10の時、上は9ループだけど下は177回!
それ専用の言語はうまくコンパイルするのかな
VBAで書くとこういうことですな
手続き型
Function fibona(num As Integer) As Integer
Dim x As Integer, y As Integer, tmp As Integer
x = 1: y = 1
For i = 2 To num
tmp = x: x = y: y = y + tmp
Next
fibona = y
End Function
関数型
Function fibona2(num As Integer) As Integer
If num < 2 Then fibona2 = 1 Else fibona2 = fibona2(num - 2) + fibona2(num - 1)
End Function
なるほど、「フィボナッチ数列は前2個を再帰的に足す」という要件が、下の方が見えやすいね
この場合は上の方が呪文
ただ下は要件は見えやすいが、なんとなくであって、動作に確証は持ちにくいわな
しかし引数が10の時、上は9ループだけど下は177回!
それ専用の言語はうまくコンパイルするのかな
723デフォルトの名無しさん
2020/08/30(日) 12:46:58.39ID:j2JU6h3h フィボナッチはたぶんSQLでは書けんね
SQLは全行同時処理するところに速さの秘訣があるので、逐次処理や再帰処理はその利点を生かせない
(T−SQLには制御文もあるので書くことは書けるが)
SQLは全行同時処理するところに速さの秘訣があるので、逐次処理や再帰処理はその利点を生かせない
(T−SQLには制御文もあるので書くことは書けるが)
724デフォルトの名無しさん
2020/08/30(日) 12:49:20.46ID:BWuiy1TR 最低限SOLIDくらい理解してから語ってくれよ。。
725デフォルトの名無しさん
2020/08/30(日) 12:54:15.74ID:yxkdlNNK >>723
CTEとか使えば標準でもできるよ
CTEとか使えば標準でもできるよ
726デフォルトの名無しさん
2020/08/30(日) 12:59:10.56ID:j2JU6h3h Function fibona(num As Integer) As Integer
Dim i As Integer, x1 As Integer, x2 As Integer
x1 = 1: x2 = 1
For i = 2 To num
fibona = x1 + x2
x1 = x2
x2 = fibona
Next
End Function
(さっきのは i の宣言が抜けてた)
こう書けば「前の2個を足す」という意味が分かりやすいのでは?
何言語を使おうとセンスの問題だったり
Dim i As Integer, x1 As Integer, x2 As Integer
x1 = 1: x2 = 1
For i = 2 To num
fibona = x1 + x2
x1 = x2
x2 = fibona
Next
End Function
(さっきのは i の宣言が抜けてた)
こう書けば「前の2個を足す」という意味が分かりやすいのでは?
何言語を使おうとセンスの問題だったり
727デフォルトの名無しさん
2020/08/30(日) 13:07:28.54ID:j2JU6h3h728デフォルトの名無しさん
2020/08/30(日) 13:25:08.04ID:i3Iv6gG3 >>717
クリントン大統領もチンポがしこしこしてしまったのだが?
クリントン大統領もチンポがしこしこしてしまったのだが?
729デフォルトの名無しさん
2020/08/30(日) 13:41:34.87ID:i3Iv6gG3 メッセージングとは「対話」ね!
>>155
>オブジェクト指向のコア概念メッセージングがなぜ提唱されたか察するに
オブジェクトは必ずオブジェクト同士の「対話」を伴う、これがメッセージングだ!
928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
>>155
>オブジェクト指向のコア概念メッセージングがなぜ提唱されたか察するに
オブジェクトは必ずオブジェクト同士の「対話」を伴う、これがメッセージングだ!
928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
730デフォルトの名無しさん
2020/08/30(日) 13:45:23.95ID:i3Iv6gG3 >>550
女子のブルマ姿に勃起してチンポがしこしこしてしまわないよう、あらかじめオナニーしとくことが大切。
それからチンポがしこしこしてしまった場合でも、急いでトイレに駆け込んでオナニーしておくことが大切。
オシッコが出るのか精液が出るのかは、本人にしかわからないことで「カプセル化」されている。
女子のブルマ姿に勃起してチンポがしこしこしてしまわないよう、あらかじめオナニーしとくことが大切。
それからチンポがしこしこしてしまった場合でも、急いでトイレに駆け込んでオナニーしておくことが大切。
オシッコが出るのか精液が出るのかは、本人にしかわからないことで「カプセル化」されている。
731デフォルトの名無しさん
2020/08/30(日) 14:10:38.58ID:i3Iv6gG3 言葉の意味を追求しない統計的機械翻訳は、2010年のIBMワトソンでおしまい。
>現在の GUO では本質に関する議論を保留しており、多重継承を許容している。
自然言語のロゴスを徹底的に追求するには、オブジェクトの多重継承は必須!
>現在の GUO では本質に関する議論を保留しており、多重継承を許容している。
自然言語のロゴスを徹底的に追求するには、オブジェクトの多重継承は必須!
732デフォルトの名無しさん
2020/08/30(日) 14:14:03.24ID:j2JU6h3h とはいえ、これを with でどうやって書くのか、ちょっと思いつかん
(これは2個ずつ処理してるので変数でやった方がいい処理だが)
select n, f =1 into #n
from (
select n =1
union select n =2
) n;
while (select max(n) from #n)<=10
begin
insert #n
select n.n, f =isnull(n1.f+n2.f,1)
from (select n =max(n)+1 from #n) n
left join #n n1 on n1.n=n.n-1
left join #n n2 on n2.n=n.n-2
order by n.n desc;
end;
go_end:
select * from #n;
drop table #n;
(これは2個ずつ処理してるので変数でやった方がいい処理だが)
select n, f =1 into #n
from (
select n =1
union select n =2
) n;
while (select max(n) from #n)<=10
begin
insert #n
select n.n, f =isnull(n1.f+n2.f,1)
from (select n =max(n)+1 from #n) n
left join #n n1 on n1.n=n.n-1
left join #n n2 on n2.n=n.n-2
order by n.n desc;
end;
go_end:
select * from #n;
drop table #n;
733デフォルトの名無しさん
2020/08/30(日) 14:15:27.47ID:j2JU6h3h あれ、
order by n.n desc; ←これは余計
order by n.n desc; ←これは余計
734デフォルトの名無しさん
2020/08/30(日) 14:17:32.56ID:i3Iv6gG3 チンポがオシッコ出したり止めたり勃起したり射精したりするのは古今東西共通であり、
>>552
>俺が言ってるのは40にもなって
>オシッコとかチンポとか、恥ずかしくないのかってことなんだがw
恥ずかしがらずに「チンポがシコシコする」という新しい表現を受け入れることが大切!
「帽子」と言ってもいろんな帽子があるが、「チンポ」は一人につき一つであり、一対一の対話が可能!
>>552
>俺が言ってるのは40にもなって
>オシッコとかチンポとか、恥ずかしくないのかってことなんだがw
恥ずかしがらずに「チンポがシコシコする」という新しい表現を受け入れることが大切!
「帽子」と言ってもいろんな帽子があるが、「チンポ」は一人につき一つであり、一対一の対話が可能!
735デフォルトの名無しさん
2020/08/30(日) 14:22:00.66ID:i3Iv6gG3 クリントン大統領もチンポがシコシコしてしまったのであり、
>オントロジーは「情報の意味を定義するための概念」であり
官能小説はいくらでもあるし、アダルト映画もいくらでもある。チンポがシコシコという表現があれば、
アニメからホワイトハウスまであらゆるオントロジーを作成出来るはずだ!
>オントロジーは「情報の意味を定義するための概念」であり
官能小説はいくらでもあるし、アダルト映画もいくらでもある。チンポがシコシコという表現があれば、
アニメからホワイトハウスまであらゆるオントロジーを作成出来るはずだ!
736デフォルトの名無しさん
2020/08/30(日) 14:29:52.73ID:i3Iv6gG3 >オントロジーは「情報の意味を定義するための概念」であり
977 デフォルトの名無しさん 2018/09/17(月) 07:24:42.74 ID:C7pw6n1T
自然言語処理の知識はゼロなのでわからないです。面白いアイデアだと思うので、Twitterの自然言語処理が専門の方々に聞いてみては?
https://peing.net/ja/q/417c9e29-35de-4c95-8323-afd6a50fcbc7
コンピューターのための自然言語理解シミュレ
ーターというのは可能ですか?
例えば第二次大戦の推移について、言葉ではな
くて動画で理解する方法もあります。
言葉で説明するよりもマインクラフトのような
創作ゲーム表現に変えたほうが分かりやすいで
す。
けれども自分が読み漁った人工知能や自然言語
処理の本にはそうしたアプローチは見つからな
かったです。
言語はただの記号の羅列で機械は現実世界を全
く知らない。でもそういうことなら、
テレビゲームのような仮想世界をインプットし
て、自然言語で操作したらいいと思います。
というか自然言語入力でときめきメモリアルみ
たいなゲームをやってみたいてす。
977 デフォルトの名無しさん 2018/09/17(月) 07:24:42.74 ID:C7pw6n1T
自然言語処理の知識はゼロなのでわからないです。面白いアイデアだと思うので、Twitterの自然言語処理が専門の方々に聞いてみては?
https://peing.net/ja/q/417c9e29-35de-4c95-8323-afd6a50fcbc7
コンピューターのための自然言語理解シミュレ
ーターというのは可能ですか?
例えば第二次大戦の推移について、言葉ではな
くて動画で理解する方法もあります。
言葉で説明するよりもマインクラフトのような
創作ゲーム表現に変えたほうが分かりやすいで
す。
けれども自分が読み漁った人工知能や自然言語
処理の本にはそうしたアプローチは見つからな
かったです。
言語はただの記号の羅列で機械は現実世界を全
く知らない。でもそういうことなら、
テレビゲームのような仮想世界をインプットし
て、自然言語で操作したらいいと思います。
というか自然言語入力でときめきメモリアルみ
たいなゲームをやってみたいてす。
737デフォルトの名無しさん
2020/08/30(日) 23:16:48.18ID:j2JU6h3h よくよく考えると、フィボナッチで「定義」通りにやってるのは手続き型
なので10回の指定で9回計算し、途中経過を出力するとフィボナッチ数列になってる
関数型は最後のフィボナッチ数は出てくるが、177回も計算し、途中経過は意味不明な数字になってる
数列で欲しい場合、この関数を10回使うか、手続き型の別の関数を用意することになる
なので10回の指定で9回計算し、途中経過を出力するとフィボナッチ数列になってる
関数型は最後のフィボナッチ数は出てくるが、177回も計算し、途中経過は意味不明な数字になってる
数列で欲しい場合、この関数を10回使うか、手続き型の別の関数を用意することになる
738デフォルトの名無しさん
2020/08/31(月) 00:07:31.00ID:RyTJNMW1 >>737
ループと同じにするならこうかと
Function Fibo(n, a, b)
If n = 1 Then
Fibo = b
Exit Function
End If
Fibo = Fibo(n - 1, b, a + b)
End Function
ループと同じにするならこうかと
Function Fibo(n, a, b)
If n = 1 Then
Fibo = b
Exit Function
End If
Fibo = Fibo(n - 1, b, a + b)
End Function
739デフォルトの名無しさん
2020/08/31(月) 00:15:22.32ID:RyTJNMW1 ループの実装であっても
「関数は同じ引数を与えられた場合、同じ値を返す」
を満たすから参照透過性があると考えて
関数型プログラミングとみなしてもよいと僕は思います
「関数は同じ引数を与えられた場合、同じ値を返す」
を満たすから参照透過性があると考えて
関数型プログラミングとみなしてもよいと僕は思います
740デフォルトの名無しさん
2020/08/31(月) 01:34:59.59ID:abwkhqHt >>738
おお、これは
wiki は「関数っぽさ」の説明のためであって、ほんとはこうなのかな
共通テーブルは自己参照が1個しか書けないから、2個前が参照できず、
そのように前の加算結果も最新行に保持するしかないなと、思ったところで断念w
declare @n int =0;
select n =@n into #n;
while @n<10 begin set @n =@n+1; insert #n select @n; end;
--↑整数マスタがあるとして
with nn(n, f, f1) as (
select n, f =1, f1 =0 from #n where n>=2 and n<=10
union all
select n.n, f =n1.f1, f1 =n1.f+n1.f1
from #n n inner join nn n1 on n1.n=n.n-1
)
select sum(f)+1 from nn;
drop table #n;
最後の+1が逃げっぽいけどw
共通テーブルは1個の上に外部結合も許可されず(できたとろこでスマートになるかは不明)
しかし同じ発想のようで、そっちは途中経過が綺麗な数列
こっちは意味不明な45レコード
その上、意味不明度が上がるのでやめた方がいいなw
おお、これは
wiki は「関数っぽさ」の説明のためであって、ほんとはこうなのかな
共通テーブルは自己参照が1個しか書けないから、2個前が参照できず、
そのように前の加算結果も最新行に保持するしかないなと、思ったところで断念w
declare @n int =0;
select n =@n into #n;
while @n<10 begin set @n =@n+1; insert #n select @n; end;
--↑整数マスタがあるとして
with nn(n, f, f1) as (
select n, f =1, f1 =0 from #n where n>=2 and n<=10
union all
select n.n, f =n1.f1, f1 =n1.f+n1.f1
from #n n inner join nn n1 on n1.n=n.n-1
)
select sum(f)+1 from nn;
drop table #n;
最後の+1が逃げっぽいけどw
共通テーブルは1個の上に外部結合も許可されず(できたとろこでスマートになるかは不明)
しかし同じ発想のようで、そっちは途中経過が綺麗な数列
こっちは意味不明な45レコード
その上、意味不明度が上がるのでやめた方がいいなw
741デフォルトの名無しさん
2020/08/31(月) 01:56:42.46ID:abwkhqHt 共通テーブルのサンプルを見ると、20年前の若気の至りを思い出すな
リレーショナルだから、2列のキーのみで可変階層がスマートじゃないかと
できるからって工事の積算なんかに使うと、えらいことになる
20年前と今ではPCの性能違うだろうけど
現実には階層を固定で持っても十数列で済んだり、なんなら255列用意しても大したことない
泥臭くてもその方が圧倒的に速く、再利用性も高いのが現実
リレーショナルだから、2列のキーのみで可変階層がスマートじゃないかと
できるからって工事の積算なんかに使うと、えらいことになる
20年前と今ではPCの性能違うだろうけど
現実には階層を固定で持っても十数列で済んだり、なんなら255列用意しても大したことない
泥臭くてもその方が圧倒的に速く、再利用性も高いのが現実
742デフォルトの名無しさん
2020/08/31(月) 09:44:30.49ID:wxThvNjw 構造化プログラミングの再帰処理で階乗やディレクトリ探索しか例がない理由を考えたことあるのか。
逆に、分岐条件や判定が複雑に入り混じったいわゆる手続きを関数型で実現する例が少ない理由を考えたことがあるのか。
関数バカは死ね。
逆に、分岐条件や判定が複雑に入り混じったいわゆる手続きを関数型で実現する例が少ない理由を考えたことがあるのか。
関数バカは死ね。
743デフォルトの名無しさん
2020/08/31(月) 09:55:23.77ID:zAiif6l8 > 構造化プログラミングの再帰処理で階乗やディレクトリ探索しか例がない理由を考えたことあるのか。
再帰処理をしたことがない人でも知っているものだからだよ
> 逆に、分岐条件や判定が複雑に入り混じったいわゆる手続きを関数型で実現する例が
例として持ち出す時、手続き型でも分岐条件や判定が複雑に入り混じったっものは使わないよ
理由はこれでいいと思うけど、
なんで関数バカは死ねって最後に捨て台詞はいたの?
再帰処理をしたことがない人でも知っているものだからだよ
> 逆に、分岐条件や判定が複雑に入り混じったいわゆる手続きを関数型で実現する例が
例として持ち出す時、手続き型でも分岐条件や判定が複雑に入り混じったっものは使わないよ
理由はこれでいいと思うけど、
なんで関数バカは死ねって最後に捨て台詞はいたの?
744デフォルトの名無しさん
2020/08/31(月) 11:08:51.82ID:f7jpNd8/ >>722
単純な再帰だと関数型言語でもスタック消費するけど、モナドのインスタンスになってる再帰関数や、末尾再帰はループにコンパイルされる。
(リストはモナドのインスタンスなので、リストを受け取ってリストを返す関数は再帰でもループになる。IOな関数も同じく)
手続き型言語でもC/C++とJavaScriptは末尾再帰のループ化は対応してる。
単純な再帰だと関数型言語でもスタック消費するけど、モナドのインスタンスになってる再帰関数や、末尾再帰はループにコンパイルされる。
(リストはモナドのインスタンスなので、リストを受け取ってリストを返す関数は再帰でもループになる。IOな関数も同じく)
手続き型言語でもC/C++とJavaScriptは末尾再帰のループ化は対応してる。
745デフォルトの名無しさん
2020/08/31(月) 11:19:36.36ID:ZrRJaCUf 愚かな・・・なんて愚かな・・・
※戦場のピアニスト
※戦場のピアニスト
746デフォルトの名無しさん
2020/08/31(月) 11:30:50.52ID:f7jpNd8/ >>742
?
条件分岐や判定が複雑に入り混じった様なのは、むしろ関数型言語や論理型言語の得意分野だけど・・・。
今まで関数型言語が苦手と言うか、純粋さを捨てていた手続きってのは
putStrLn str
print n
みたいな戻り値が無い関数(voidな関数や戻り値を普段は使わない関数)が続く様な処理や入出力。
これを順番を保証するのが難しかった。
そこを圏論でプログラム丸ごと関数の様なものとして順番を保証しつつ参照透明性を確保する事で大きな意味での(個人的に純粋とは言わない気もするが)純粋関数型言語を実現した。
putStrLn str >>= \_ -> print n
上の糖衣構文
putStrLn str >> print n
do形式で手続き型言語っぽく(手続き型言語っぽいとはいえ、しっかり関数型言語なので一つの巨大な式に還元される)
do
putStrLn str
print n
?
条件分岐や判定が複雑に入り混じった様なのは、むしろ関数型言語や論理型言語の得意分野だけど・・・。
今まで関数型言語が苦手と言うか、純粋さを捨てていた手続きってのは
putStrLn str
print n
みたいな戻り値が無い関数(voidな関数や戻り値を普段は使わない関数)が続く様な処理や入出力。
これを順番を保証するのが難しかった。
そこを圏論でプログラム丸ごと関数の様なものとして順番を保証しつつ参照透明性を確保する事で大きな意味での(個人的に純粋とは言わない気もするが)純粋関数型言語を実現した。
putStrLn str >>= \_ -> print n
上の糖衣構文
putStrLn str >> print n
do形式で手続き型言語っぽく(手続き型言語っぽいとはいえ、しっかり関数型言語なので一つの巨大な式に還元される)
do
putStrLn str
print n
747デフォルトの名無しさん
2020/08/31(月) 13:40:25.41ID:ZrRJaCUf これからの時代、多態性よりポリリズムのほうが重要。
748デフォルトの名無しさん
2020/08/31(月) 14:31:14.55ID:3l02ZOhc 何回繰り返すんだ…
749デフォルトの名無しさん
2020/08/31(月) 15:35:42.21ID:+mVf3WVi x,y,zをpos2d,zで持つことはないよねって100万回復唱しろ
750デフォルトの名無しさん
2020/08/31(月) 17:14:59.79ID:PbFnPWGE ネタスレのようだが
カプセル化は問題無い
隠蔽化が問題有る
カプセル化は問題無い
隠蔽化が問題有る
751デフォルトの名無しさん
2020/08/31(月) 18:06:13.87ID:+mVf3WVi 単純に実行しないとインターフェースから先に飛ぶことができないのも読みにくい
更にそこから先の処理の可能性がインターフェースを持つクラス全部とかこれまた読みにくい
更にそのクラスのインスタンスの違いについても追わなきゃいけなくて結果としてゴミクズ
更にそこから先の処理の可能性がインターフェースを持つクラス全部とかこれまた読みにくい
更にそのクラスのインスタンスの違いについても追わなきゃいけなくて結果としてゴミクズ
752デフォルトの名無しさん
2020/08/31(月) 18:45:27.41ID:Tn5kdrj1 カプセル化はいまいちメリットわからんよね
スコープの話なのに徹底できてない点がカプセル化の是非が定まらない原因
スコープの話なのに徹底できてない点がカプセル化の是非が定まらない原因
753デフォルトの名無しさん
2020/08/31(月) 18:49:04.49ID:+mVf3WVi カプセル化したくせにSetterとかGetter作ってるやつ見ると
「オメェ、ここおかしんじゃねーのか?」
って言いたくなる
アクセスをイベントに限定したいのか?
誰でもいつでもアクセスしたいのかスタンスをハッキリさせろよw
「オメェ、ここおかしんじゃねーのか?」
って言いたくなる
アクセスをイベントに限定したいのか?
誰でもいつでもアクセスしたいのかスタンスをハッキリさせろよw
754デフォルトの名無しさん
2020/08/31(月) 19:30:45.75ID:EhjC94Lv >>747
なにをいまさら
なにをいまさら
755デフォルトの名無しさん
2020/08/31(月) 20:27:11.07ID:JFSQLtY4756デフォルトの名無しさん
2020/08/31(月) 20:59:45.24ID:I/LqRe2u そうですか
757デフォルトの名無しさん
2020/08/31(月) 21:33:12.45ID:+mVf3WVi >>755
作るソース全部そんな感じの奴がいて邪魔くせぇ
wpfのINotifyPropertyChangedってさ関係ないイベントでも発火して制御できないよね
はじめはsetter、getterでやってたけどあかんわ
発火したいときとそうでないときと手動で分けられないとあかんわ
なんかこれ系のついでに何やらやっちゃおうシステムって開発終盤になると全部ゴミだな
作るソース全部そんな感じの奴がいて邪魔くせぇ
wpfのINotifyPropertyChangedってさ関係ないイベントでも発火して制御できないよね
はじめはsetter、getterでやってたけどあかんわ
発火したいときとそうでないときと手動で分けられないとあかんわ
なんかこれ系のついでに何やらやっちゃおうシステムって開発終盤になると全部ゴミだな
758デフォルトの名無しさん
2020/08/31(月) 21:44:33.69ID:wxThvNjw >>753
Java web appだと、lombock入れてカプセル化壊すのが当たり前になっちまった。
スマホアプリとか組み込み系とかでしっかりコーディングすればいいと諦めてる。
実際、Web アプリ界隈はバカばっかだし。割り切りも大切。
Java web appだと、lombock入れてカプセル化壊すのが当たり前になっちまった。
スマホアプリとか組み込み系とかでしっかりコーディングすればいいと諦めてる。
実際、Web アプリ界隈はバカばっかだし。割り切りも大切。
759デフォルトの名無しさん
2020/08/31(月) 21:48:45.10ID:SA/5RSYf >>758
https://codezine.jp/article/detail/7274
> Javaは言語仕様上の制約により、ボイラープレートコード(自明だが省略できないお決まりのコード断片)が
> いくつかあります。例えば、メンバ変数を読み書きするだけのgetterメソッドやsetterメソッドがこれにあたります。
> Lombokを使えば、これらJava特有の冗長なコードを、見やすく簡潔なものにすることができます。
>
> LombokではEclipseのような自動生成ではなく、アノテーションを付与することにより
> ボイラープレートコードを実装したのと同じ効果を得ることができます。
単にプロパティをアノテーションで書けるってだけだよね?
これのどこがカプセル化破壊になるの?
https://codezine.jp/article/detail/7274
> Javaは言語仕様上の制約により、ボイラープレートコード(自明だが省略できないお決まりのコード断片)が
> いくつかあります。例えば、メンバ変数を読み書きするだけのgetterメソッドやsetterメソッドがこれにあたります。
> Lombokを使えば、これらJava特有の冗長なコードを、見やすく簡潔なものにすることができます。
>
> LombokではEclipseのような自動生成ではなく、アノテーションを付与することにより
> ボイラープレートコードを実装したのと同じ効果を得ることができます。
単にプロパティをアノテーションで書けるってだけだよね?
これのどこがカプセル化破壊になるの?
760デフォルトの名無しさん
2020/08/31(月) 23:12:59.79ID:KpYRvIVn エラーチェックをしたいときはsetter
761デフォルトの名無しさん
2020/09/01(火) 00:02:49.23ID:TdzDL303 もしかして
貧血ドメインモデル
貧血ドメインモデル
762デフォルトの名無しさん
2020/09/01(火) 00:41:56.64ID:EzjTWAdj763デフォルトの名無しさん
2020/09/01(火) 00:52:29.54ID:PZXbhIm5 JavaBeansではセッタとメソッドは別の概念
セッタを通じて状態にアクセスすることでオブジェクトは
よりスマートになる
セッタを通じて状態にアクセスすることでオブジェクトは
よりスマートになる
764デフォルトの名無しさん
2020/09/01(火) 00:54:01.92ID:PZXbhIm5 一周回ってアクセサが再評価される段階に入った
765デフォルトの名無しさん
2020/09/01(火) 02:05:29.12ID:ETu8a3Hk766デフォルトの名無しさん
2020/09/01(火) 02:06:41.53ID:ETu8a3Hk 何がカプセル化だよ
settergetter使うなら丸出しと変わんねーよ
settergetter使うなら丸出しと変わんねーよ
767デフォルトの名無しさん
2020/09/01(火) 02:27:10.74ID:/xk9LnpH これからの時代、多態性よりポリフェノールのほうが重要。
768デフォルトの名無しさん
2020/09/01(火) 04:55:11.55ID:Z9W01AEm 下駄 雪駄
769デフォルトの名無しさん
2020/09/01(火) 09:15:18.95ID:G32wsX1x >>766
そんなわけないやろ。
そんなわけないやろ。
770デフォルトの名無しさん
2020/09/01(火) 09:26:14.90ID:PZXbhIm5 >>766
おいお前それはないよ
おいお前それはないよ
771デフォルトの名無しさん
2020/09/01(火) 10:03:35.97ID:EzjTWAdj772デフォルトの名無しさん
2020/09/01(火) 10:13:31.32ID:FqTPqd+i これこそ露出狂という奴だなw
773デフォルトの名無しさん
2020/09/01(火) 11:42:47.53ID:G32wsX1x 今時、意図せずフィールド丸出しはない
774デフォルトの名無しさん
2020/09/01(火) 11:53:13.42ID:4pPofKRH >>771
は?そもそもオブジェクト指向とか言うクソ使ってねーわ
は?そもそもオブジェクト指向とか言うクソ使ってねーわ
775デフォルトの名無しさん
2020/09/01(火) 12:14:48.18ID:lpkaZteT >>774
オブジェクト指向は既に俺の股間に付いているのだから、オブジェクト指向プログラミング言語は要らない!
オブジェクト指向は既に俺の股間に付いているのだから、オブジェクト指向プログラミング言語は要らない!
776デフォルトの名無しさん
2020/09/01(火) 12:27:07.84ID:wBGQmF0I だから適切なインターフェイス作成ができないなら素直に関数にしとけと。。
馬鹿に限って自分のクラス設計に自信持ってんだよな。。
馬鹿に限って自分のクラス設計に自信持ってんだよな。。
777デフォルトの名無しさん
2020/09/01(火) 12:50:13.91ID:/xk9LnpH CSSはJavascriptで実装されただけあって、仕様も混沌としてるな。
動的確保前提の設計なので、いちいちイラっとする。
動的確保前提の設計なので、いちいちイラっとする。
778デフォルトの名無しさん
2020/09/01(火) 12:52:31.23ID:1Eq9ttpo ハァ?
779デフォルトの名無しさん
2020/09/01(火) 12:59:45.89ID:/xk9LnpH 教科書は「後で説明するので今はそういうものだと思ってください」というのは無い。
前から順番に読んでいくと、説明なく出てくるものが無いのである。
仕様を書くときは、教科書のように書くことを徹底する。
するとどうなるか?
相互参照が無くなるのである。
相互参照が無くなれば、変数の大きさは一意に決まる。
つまり不要不急の動的確保が無くなるのである。
これがC/C++の掟である。
前から順番に読んでいくと、説明なく出てくるものが無いのである。
仕様を書くときは、教科書のように書くことを徹底する。
するとどうなるか?
相互参照が無くなるのである。
相互参照が無くなれば、変数の大きさは一意に決まる。
つまり不要不急の動的確保が無くなるのである。
これがC/C++の掟である。
780デフォルトの名無しさん
2020/09/01(火) 13:15:28.27ID:Z9W01AEm 今まで見たもっともひどいクラス設計は?
781デフォルトの名無しさん
2020/09/01(火) 13:22:15.49ID:EzjTWAdj782デフォルトの名無しさん
2020/09/01(火) 13:26:52.52ID:/xk9LnpH Javaのようなお猿さん言語はプリミティブ以外はすべて参照、つまり動的に確保される。
だからいつでもどこでも動的でいいのだなどと思わないでほしい。
あなた方はお猿さん。
そしてお猿さん用言語を使っている。
しかし、世の中には人間もいることを忘れないでほしい。
人間はもっと効率の良い設計を求めるものだ。
だからいつでもどこでも動的でいいのだなどと思わないでほしい。
あなた方はお猿さん。
そしてお猿さん用言語を使っている。
しかし、世の中には人間もいることを忘れないでほしい。
人間はもっと効率の良い設計を求めるものだ。
783デフォルトの名無しさん
2020/09/01(火) 13:31:17.95ID:EzjTWAdj Javaのような人間用言語はプリミティブ以外はすべて参照、つまり動的に確保される。
というふうに入れ替えても問題ないんじゃね?w
というふうに入れ替えても問題ないんじゃね?w
784デフォルトの名無しさん
2020/09/01(火) 13:35:01.05ID:/xk9LnpH 入れ替えた場合、C/C++は天才用言語になるからダメだ。
785デフォルトの名無しさん
2020/09/01(火) 14:09:37.70ID:FqTPqd+i >>779
小学生の教科書からやり直せ
小学生の教科書からやり直せ
786デフォルトの名無しさん
2020/09/01(火) 14:12:06.91ID:ETu8a3Hk 脳筋プログラマばっかりだな
787デフォルトの名無しさん
2020/09/01(火) 15:05:15.80ID:OC0cfHje >>780
MFC
MFC
788デフォルトの名無しさん
2020/09/01(火) 15:29:52.72ID:fuWow3G5 >>781
高校までの教科書は大学入ったら全部役に立たないよなω
高校までの教科書は大学入ったら全部役に立たないよなω
789デフォルトの名無しさん
2020/09/01(火) 15:31:01.61ID:fuWow3G5 >>787
あれはただのwrapper以下だからなー
あれはただのwrapper以下だからなー
790デフォルトの名無しさん
2020/09/01(火) 15:51:55.50ID:/xk9LnpH MFCは30年前のライブラリだからな。
よくまあここまで生き残ったわ。
よくまあここまで生き残ったわ。
791デフォルトの名無しさん
2020/09/01(火) 16:28:44.96ID:fuWow3G5 同じ時期かそれより前にあった OWL の方が10000倍マシだった
792デフォルトの名無しさん
2020/09/01(火) 20:39:35.27ID:QR4OvP6I 御子を捨てよ、良いな?
793デフォルトの名無しさん
2020/09/01(火) 21:24:37.44ID:eOhMfKjO Delphi最強
794デフォルトの名無しさん
2020/09/01(火) 21:52:46.77ID:NYV7WRkk >>779
Javaの教科書には
class Test {
public static void main(argv[]) {
System.out.println("Hello");
}
とりあえずこれで動きます。「あとで説明するので今はそういうものだと思ってください」
と堂々と書いてあるぞ。
Javaの教科書には
class Test {
public static void main(argv[]) {
System.out.println("Hello");
}
とりあえずこれで動きます。「あとで説明するので今はそういうものだと思ってください」
と堂々と書いてあるぞ。
796デフォルトの名無しさん
2020/09/01(火) 23:46:39.13ID:cXm81OcM プロパティは、可変階層と同じく若気の興味本位系ではあるが
ベテランになってからも、いくつか使ったことはある
設定時処理のカプセル化
カプセル化と言っても隠したいわけじゃなく、設定する時に絶対にこの処理を通す、という便利機能
「発火」は未経験だが、下手な作りだとなり得る構造だね
ちゃんとできてたとしても、よほどの事情がない限り、普通の関数で書いた方がシンプルで理解もしやすいと思う
なぜ使ったのか、過去ソースを見てみたら、なるほどw
SET時だけでなくGET時にも複雑な処理があるものがあり、これをそれぞれ関数で書くと、関数名が2倍に増える
少なくとも関数名の数を半分にする効能はある
言ってみれば1つの関数に2つの内部関数がある構造なので
ベテランになってからも、いくつか使ったことはある
設定時処理のカプセル化
カプセル化と言っても隠したいわけじゃなく、設定する時に絶対にこの処理を通す、という便利機能
「発火」は未経験だが、下手な作りだとなり得る構造だね
ちゃんとできてたとしても、よほどの事情がない限り、普通の関数で書いた方がシンプルで理解もしやすいと思う
なぜ使ったのか、過去ソースを見てみたら、なるほどw
SET時だけでなくGET時にも複雑な処理があるものがあり、これをそれぞれ関数で書くと、関数名が2倍に増える
少なくとも関数名の数を半分にする効能はある
言ってみれば1つの関数に2つの内部関数がある構造なので
797デフォルトの名無しさん
2020/09/02(水) 00:29:23.85ID:KTyhBksd ベテランねー
798デフォルトの名無しさん
2020/09/02(水) 01:31:27.80ID:J/rUgEv/ 関数でもできるな
引数が未設定ならGET動作に切り替わると
実際そういう関数も作る
プロパティだと逆に2個になってしまう言語の場合
引数が未設定ならGET動作に切り替わると
実際そういう関数も作る
プロパティだと逆に2個になってしまう言語の場合
799デフォルトの名無しさん
2020/09/02(水) 01:58:36.95ID:HgpWbw0i 藻前ラ、モチツケ
https://i.imgur.com/DJzoN7F.jpg
https://i.imgur.com/DJzoN7F.jpg
800デフォルトの名無しさん
2020/09/02(水) 08:33:16.30ID:yy35G5fq801デフォルトの名無しさん
2020/09/02(水) 09:26:13.66ID:9/rkp9iy 単純なValueオブジェクトはCとかだと
struct Color {
int r, g, b;
};
Color color;
int red = color.r;
みたいに書けるところをわざわざgetter/setter毎回作るの?
アホらしくない?
struct Color {
int r, g, b;
};
Color color;
int red = color.r;
みたいに書けるところをわざわざgetter/setter毎回作るの?
アホらしくない?
802デフォルトの名無しさん
2020/09/02(水) 10:33:19.59ID:ifuz91bD >>800
何も言い返さないのかよw
何も言い返さないのかよw
803デフォルトの名無しさん
2020/09/02(水) 10:36:53.36ID:lZ/LLDT1 >>801
Valueオブジェクトって何か知ってる?
Valueオブジェクトって何か知ってる?
804デフォルトの名無しさん
2020/09/02(水) 11:10:55.31ID:Hwtp1D+h オブジェクト指向はフレームワーク実装者が意識すべきもの
フレームワーク利用者はその枠でただベタにアプリ実装すればよい
プロパティはフレームワーク実装側から見ると自分自身に対しては何も利益がないけど
フレームワーク利用者の行動をコントロールできるという点で利益がある
フレームワーク利用者はその枠でただベタにアプリ実装すればよい
プロパティはフレームワーク実装側から見ると自分自身に対しては何も利益がないけど
フレームワーク利用者の行動をコントロールできるという点で利益がある
805デフォルトの名無しさん
2020/09/02(水) 12:01:34.43ID:9/rkp9iy ValueオブジェクトってDDD関連で出てくる単語だったのね
その意味では知らなかったけど、そんなこと聞きたいんじゃない
その意味では知らなかったけど、そんなこと聞きたいんじゃない
806デフォルトの名無しさん
2020/09/02(水) 12:08:34.16ID:64Ct0prY >>801
必要なら作っていいし、必要ないならCみたいに書けばいい
必要なら作っていいし、必要ないならCみたいに書けばいい
807デフォルトの名無しさん
2020/09/02(水) 12:21:27.36ID:9/rkp9iy ホントかなぁJava触ってるやつらは
getter/setter使わず単にpublicフィールドにしたら
文句行ってきそうなイメージだったけど
getter/setter使わず単にpublicフィールドにしたら
文句行ってきそうなイメージだったけど
808デフォルトの名無しさん
2020/09/02(水) 12:33:16.41ID:KTyhBksd ValueObjectはReadOnlyが基本だからfinalにして変数をpublicにします
809デフォルトの名無しさん
2020/09/02(水) 13:30:42.14ID:FrAP3fk+ オブジェクト指向に対する愚痴を延々と続ける人には主に2つのタイプがある。
1つはその人にとってオブジェクト指向が新しいパラダイムでありそれを受け入れる事が出来なかった老害タイプ。
もう1つはJavaを通してしかオブジェクト指向を理解しようとしないJava屋の土方タイプ。
両方の属性を持ったタイプが最もタチが悪い。
1つはその人にとってオブジェクト指向が新しいパラダイムでありそれを受け入れる事が出来なかった老害タイプ。
もう1つはJavaを通してしかオブジェクト指向を理解しようとしないJava屋の土方タイプ。
両方の属性を持ったタイプが最もタチが悪い。
810デフォルトの名無しさん
2020/09/02(水) 13:31:38.92ID:6n47TPOy >>809
そもそも誰もメリット説明できてないけどねw
そもそも誰もメリット説明できてないけどねw
811デフォルトの名無しさん
2020/09/02(水) 13:53:16.93ID:HxHRAGOQ >>810
メリットがわからないなら使わなければいいだけ
メリットがわからないなら使わなければいいだけ
812デフォルトの名無しさん
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 値でも型でもない「レコード」というと、はて…?
まさかデータベースとか円盤とかではあるまいが。
まさかデータベースとか円盤とかではあるまいが。
912デフォルトの名無しさん
2020/09/06(日) 14:57:16.66ID:SNogxihD913デフォルトの名無しさん
2020/09/06(日) 14:58:50.00ID:SNogxihD いずれにしても>>880さんは「レコード作るだけじゃん」と言っておられるのだから
レコードを作るだけなんだなあと受け取るのが正しい理解
レコードを作るだけなんだなあと受け取るのが正しい理解
914デフォルトの名無しさん
2020/09/06(日) 14:59:33.93ID:SNogxihD マリオ「ドラキュラはにんにくが嫌いだ」
正しいルイージ「ドラキュラはにんにくが嫌いなんだなあ」
正しいルイージ「ドラキュラはにんにくが嫌いなんだなあ」
915デフォルトの名無しさん
2020/09/06(日) 15:09:57.16ID:NTBgE1bF おまえらはご飯論法とか藁人形論法ってやつから勉強しなおしだな
916デフォルトの名無しさん
2020/09/06(日) 15:11:11.31ID:gGwX7R3F918デフォルトの名無しさん
2020/09/06(日) 15:22:52.23ID:SNogxihD ダルビッシュ → すごい
日本人 → すごい
レコード → 状態
値 → 状態
この論理展開が正しいと思ってる人はいるっぽい
日本人 → すごい
レコード → 状態
値 → 状態
この論理展開が正しいと思ってる人はいるっぽい
919デフォルトの名無しさん
2020/09/08(火) 11:27:04.86ID:M9fpICKB920デフォルトの名無しさん
2020/09/08(火) 13:03:50.09ID:dd3/c9tT Haskellも当初はstreamで、それが何かしらの不都合が合ってmonadにしたんだろ
921デフォルトの名無しさん
2020/09/08(火) 16:00:21.90ID:7o8rcsWh >>919
書いてない。10個ぐらいの状態を保存するコードを書いてくれ
書いてない。10個ぐらいの状態を保存するコードを書いてくれ
922デフォルトの名無しさん
2020/09/08(火) 16:11:26.42ID:98huypqy >>921
引数を10個+αにしたり、10個の値の入ったリストなりタプルなりを渡す末尾再帰にすれば良いだけですが・・・。
もしくは>911の様な理解でも良い。
同様な物としてGUI部品そのもの(が確保してるメモリ領域)に保持させる。
Haskellから見れば外部から値を受け取って、外部に値を返すだけの「関数の様に振る舞う物(圏論で言う射)」になる。
引数を10個+αにしたり、10個の値の入ったリストなりタプルなりを渡す末尾再帰にすれば良いだけですが・・・。
もしくは>911の様な理解でも良い。
同様な物としてGUI部品そのもの(が確保してるメモリ領域)に保持させる。
Haskellから見れば外部から値を受け取って、外部に値を返すだけの「関数の様に振る舞う物(圏論で言う射)」になる。
923デフォルトの名無しさん
2020/09/08(火) 16:28:58.38ID:r41CjiKh 状態を変えずに10個の状態を保存する例
https://paiza.io/projects/Bnk3OVs0L5TawdxlD4MHbw
https://paiza.io/projects/Bnk3OVs0L5TawdxlD4MHbw
924デフォルトの名無しさん
2020/09/08(火) 20:38:03.15ID:7o8rcsWh > 引数を10個+αにしたり、10個の値の入ったリストなりタプルなりを渡す末尾再帰にすれば良いだけですが・・・。
その延長だとHTMLのボタンとかだと
引数が30個とかそれ以上になるんでしょうねw
その延長だとHTMLのボタンとかだと
引数が30個とかそれ以上になるんでしょうねw
925デフォルトの名無しさん
2020/09/08(火) 22:02:06.87ID:jZ8u+myy >>924
チュートリアル1ページくらい読めってw
https://guide.elm-lang.org/
button [ onClick Decrement ] [ text "-" ]
buttonに渡してるのはattributeのlistと子要素となるHTMLのlistの2つだけ
HTMLを理解してればこれで十分って分かるよね?
チュートリアル1ページくらい読めってw
https://guide.elm-lang.org/
button [ onClick Decrement ] [ text "-" ]
buttonに渡してるのはattributeのlistと子要素となるHTMLのlistの2つだけ
HTMLを理解してればこれで十分って分かるよね?
926デフォルトの名無しさん
2020/09/09(水) 11:00:16.10ID:3XOrsz21 >>924
そう言うのんはHaskellの外側だから、ライブラリの初期化関数に読み込ませて、必要な関数に対応させるだけだお。
純粋関数型言語だから状態を持てないんじゃ無くて、状態をHaskellの外に置くのか、関数の引数にして引き回すのかの違いだけ。
副作用が無いとか、状態が無いとかは捉え方の問題で、状態も持つし副作用も有る。
参照透明性が崩れないのが普通の言語との違い。
そう言うのんはHaskellの外側だから、ライブラリの初期化関数に読み込ませて、必要な関数に対応させるだけだお。
純粋関数型言語だから状態を持てないんじゃ無くて、状態をHaskellの外に置くのか、関数の引数にして引き回すのかの違いだけ。
副作用が無いとか、状態が無いとかは捉え方の問題で、状態も持つし副作用も有る。
参照透明性が崩れないのが普通の言語との違い。
927デフォルトの名無しさん
2020/09/11(金) 12:24:48.69ID:RHaf2uZH キンタマはチンポに含まれるか否かだが、オシッコするときは含まないが射精するときは含む。
928デフォルトの名無しさん
2020/09/11(金) 17:27:46.63ID:NYYME8Ut ハスケラーはまずモナドのわかり易い説明をここでしないとチン子さんとか納得しないんじゃないか
929デフォルトの名無しさん
2020/09/11(金) 17:43:18.98ID:+vDFdDgu モナドは入れ物から取り出して、なんかして、また入れ物に戻す動作。
そんな動作に付けられた名前がモナド。
そんな動作に付けられた名前がモナド。
930デフォルトの名無しさん
2020/09/11(金) 18:36:34.58ID:f71Kzwl/ では穴を掘ってまた埋める動作に付けられた名前は?
931デフォルトの名無しさん
2020/09/11(金) 20:38:25.73ID:mVOjSWLc 死の家の記録?
932デフォルトの名無しさん
2020/09/12(土) 01:37:20.53ID:QNK+KyLB933デフォルトの名無しさん
2020/09/12(土) 14:18:08.44ID:sCUhPtXX >>930
その動作もモナドで表現出来る。
失敗する可能性のある処理に使うMaybe型もモナドなので、何も埋まってない穴を掘って何も埋まってない穴を埋め戻すのはNothing を受け取ってNothingを返すのと同じ。
(Nothing(答えが存在しない) がMaybe型の空っぽに相当する表現)
Nothing >>= f = Nothing
空っぽになったら無条件で空っぽを返すので、戻り値を捨てて新しい値を作らない限り、何度掘ってもNothing。
Nothing >>= f >>= f = Nothing
その動作もモナドで表現出来る。
失敗する可能性のある処理に使うMaybe型もモナドなので、何も埋まってない穴を掘って何も埋まってない穴を埋め戻すのはNothing を受け取ってNothingを返すのと同じ。
(Nothing(答えが存在しない) がMaybe型の空っぽに相当する表現)
Nothing >>= f = Nothing
空っぽになったら無条件で空っぽを返すので、戻り値を捨てて新しい値を作らない限り、何度掘ってもNothing。
Nothing >>= f >>= f = Nothing
934デフォルトの名無しさん
2020/09/12(土) 14:38:29.60ID:sCUhPtXX 500円貯金をMaybe型で、fが500円入れる。gがx円取り出す。
Just 500 >>= f >>= f >>= g 1500
f x = Just (x + 500)
g x y | x >= y = Nothing
g x y = Just (y - x)
Out:
Nothing
Just 500 >>= f >>= f >>= g 500
f x = Just (x + 500)
g x y | x >= y = Nothing
g x y = Just (y - x)
Out:
Just 1000
Just 500 >>= f >>= f >>= g 1500
f x = Just (x + 500)
g x y | x >= y = Nothing
g x y = Just (y - x)
Out:
Nothing
Just 500 >>= f >>= f >>= g 500
f x = Just (x + 500)
g x y | x >= y = Nothing
g x y = Just (y - x)
Out:
Just 1000
935デフォルトの名無しさん
2020/09/12(土) 16:08:34.35ID:bxqUAjH/ やっぱりhaskell出張スレになったか
936デフォルトの名無しさん
2020/09/13(日) 10:20:25.96ID:faTCmF/o 繋がっているけれども独立している、単語と文章と文脈は、繋がっているけれどもそれぞれ独立している。
チンポは自分と繋がっているけれども独立している。
チンポは自分と繋がっているけれども独立している。
937デフォルトの名無しさん
2020/09/13(日) 21:59:48.77ID:EskaTVcj データベースというグローバル変数
938デフォルトの名無しさん
2020/09/13(日) 22:13:23.88ID:lu6eiMc4 管理しきれればグローバル変数だろうがなんだろうがいいんだ
939デフォルトの名無しさん
2020/09/13(日) 22:20:22.63ID:C9gyjUSw >>937
テスト用のDBに切り替えられるようなコードにしとけよ。
テスト用のDBに切り替えられるようなコードにしとけよ。
940デフォルトの名無しさん
2020/09/13(日) 22:36:45.09ID:BuLbEsQM941デフォルトの名無しさん
2020/09/14(月) 00:48:24.64ID:LBeWsbwt >>937
それは単にデータベースのデータの管理とデータベース製品の使い方を知らないだけ
それは単にデータベースのデータの管理とデータベース製品の使い方を知らないだけ
942デフォルトの名無しさん
2020/09/14(月) 02:30:40.99ID:BcrTLwn4 >>936
チンポと言えば、あわしろいくや。
チンポと言えば、あわしろいくや。
943デフォルトの名無しさん
2020/09/14(月) 09:05:52.30ID:rs21NGsW >>938
規模の拡大に伴って急激に管理しきれなくなるから問題なんだよ
規模の拡大に伴って急激に管理しきれなくなるから問題なんだよ
944デフォルトの名無しさん
2020/09/14(月) 09:34:57.86ID:zOSHXyy4 Excelに記述する方法で2万件程度なら行けるよ
945デフォルトの名無しさん
2020/09/14(月) 09:37:57.62ID:zOSHXyy4 お前らアホはオブジェクト指向言語で階層構造にしちまうから
いざ、データベースヘ入れるぞってときにあたふたし始めて
作業にかかると大変な労力を使うことになる
っていうか今どきデータベースへ入れるかもしれないってところに頭がまわらないやつって使えなくね?
いざ、データベースヘ入れるぞってときにあたふたし始めて
作業にかかると大変な労力を使うことになる
っていうか今どきデータベースへ入れるかもしれないってところに頭がまわらないやつって使えなくね?
946デフォルトの名無しさん
2020/09/14(月) 09:49:35.40ID:ka5M5GfA >>945
データベースに入れることとオブジェクト指向は何の関係もないですね
データベースに入れることとオブジェクト指向は何の関係もないですね
947デフォルトの名無しさん
2020/09/14(月) 10:07:06.87ID:lpza49Cy グローバル変数が過去に問題視された原因は2つ
一つは名前の衝突、もう一つは更新可能な共有変数は利用する箇所が増えるほど扱いが煩雑になること
前者はnamespaceに類するものを使えば解決可能でほとんどの言語でそのアプローチを採用している
後者はできるだけimmutableにする、それができないなら利用箇所を限定して同時実行制御のイディオムを使うことで比較的容易に管理可能になる
データベースで考えると
前者はserver.database.schema.table.row.columnといった形でnamespace的に整理可能なので問題にならない
後者は可能な限りimmutableにできるかどうかや、mutableなら利用箇所を限定できるかどうかに依存しているので
開発者のアーキテクチャ設計能力が一定水準以下の場合のみ問題になってくる
一つは名前の衝突、もう一つは更新可能な共有変数は利用する箇所が増えるほど扱いが煩雑になること
前者はnamespaceに類するものを使えば解決可能でほとんどの言語でそのアプローチを採用している
後者はできるだけimmutableにする、それができないなら利用箇所を限定して同時実行制御のイディオムを使うことで比較的容易に管理可能になる
データベースで考えると
前者はserver.database.schema.table.row.columnといった形でnamespace的に整理可能なので問題にならない
後者は可能な限りimmutableにできるかどうかや、mutableなら利用箇所を限定できるかどうかに依存しているので
開発者のアーキテクチャ設計能力が一定水準以下の場合のみ問題になってくる
948デフォルトの名無しさん
2020/09/14(月) 12:15:42.69ID:U+GPJWx0 >>947
>一つは名前の衝突、もう一つは更新可能な共有変数は利用する箇所が増えるほど扱いが煩雑になること
「チンポ」は独立した生き物として考えないと、何故チンポは勃起したり射精したりするのかわからなくなる。
>一つは名前の衝突、もう一つは更新可能な共有変数は利用する箇所が増えるほど扱いが煩雑になること
「チンポ」は独立した生き物として考えないと、何故チンポは勃起したり射精したりするのかわからなくなる。
949デフォルトの名無しさん
2020/09/14(月) 13:51:14.61ID:H3Bos02D 神様も設計間違えたかと思うようなダブル用途
950デフォルトの名無しさん
2020/09/14(月) 22:39:06.99ID:hx7e4xfO データベースを使うとカプセル化とは縁遠い作りになることが多い
951デフォルトの名無しさん
2020/09/14(月) 22:40:11.02ID:hx7e4xfO だいたいレコードを入れる構造体1階層で完結する
952デフォルトの名無しさん
2020/09/14(月) 23:02:01.08ID:aDn+sCGd >>950
お前の理屈だと、ファイルを使うとカプセル化とは縁遠い作りになることが多いんだろ?w
お前の理屈だと、ファイルを使うとカプセル化とは縁遠い作りになることが多いんだろ?w
953デフォルトの名無しさん
2020/09/15(火) 01:45:28.43ID:Yms7aROo カプセル化の意味を履き違えているのばかりだし、異様にこだわるのはもはやキチガイレベル。
954デフォルトの名無しさん
2020/09/15(火) 10:10:35.41ID:msQN58rY オブジェクト指向に疑念を持って、関数型などにも浮気したが結局オブジェクト指向に戻ってきた
関数型だとインフラストラクチャのコントロール、外部APIコーディネートなどといった「現実の問題」に対象できない
また関数型が優れているとされる理由のエッセンスはイミュータビリティである、ということに気がついたからだ
結局のところオブジェクト指向にイミュータビリティを導入することが正解だった
関数型だとインフラストラクチャのコントロール、外部APIコーディネートなどといった「現実の問題」に対象できない
また関数型が優れているとされる理由のエッセンスはイミュータビリティである、ということに気がついたからだ
結局のところオブジェクト指向にイミュータビリティを導入することが正解だった
955デフォルトの名無しさん
2020/09/15(火) 11:13:01.56ID:aoc93pM4 全然関係ないこと横文字羅列することで畳み掛けるの流行ってるの?
少なくともそんなとこ考えてるときにオブジェクト指向言語じゃないと実装できませんねとか
意味不明なこと言い出した奴もういらんわ
少なくともそんなとこ考えてるときにオブジェクト指向言語じゃないと実装できませんねとか
意味不明なこと言い出した奴もういらんわ
956デフォルトの名無しさん
2020/09/15(火) 11:21:53.53ID:QOcZ+8t3 何かに反論するときに、◯◯って流行ってるの?っていう入り方するのって流行ってるの?
957デフォルトの名無しさん
2020/09/15(火) 11:28:14.31ID:msQN58rY オブジェクト指向でなければならないことはない
関数型ではダメなことは多い
手続き型のほうがうまくこなせることも現実世界には多い
それぞれ得手不得手がある
なのでそれらをいい感じに融合できるオブジェクト指向が正解ってわけ
融合する際にそれらの境界を上手く隔てるためにカプセル化が役に立つ
カプセル化を活用して、インフラストラクチャ、ステートフルリソース、手続き的な処理を隔離する
イミュータブルオブジェクトを導入して関数型の思想のもとで堅牢かつ柔軟なドメインモデルを構築する
このようにオブジェクト指向はなんでもそこそこ上手くできるからバランスがいいんだよ
現実を見据えたパラダイムだと思うよ
原理主義的にならずに旨味だけを享受すればいい
もちろんなんでもできるから使い方を間違えるとひどい目に合う
そこはしっかりと教育していくしかない
どんな道具でも学習は必要だ
関数型ではダメなことは多い
手続き型のほうがうまくこなせることも現実世界には多い
それぞれ得手不得手がある
なのでそれらをいい感じに融合できるオブジェクト指向が正解ってわけ
融合する際にそれらの境界を上手く隔てるためにカプセル化が役に立つ
カプセル化を活用して、インフラストラクチャ、ステートフルリソース、手続き的な処理を隔離する
イミュータブルオブジェクトを導入して関数型の思想のもとで堅牢かつ柔軟なドメインモデルを構築する
このようにオブジェクト指向はなんでもそこそこ上手くできるからバランスがいいんだよ
現実を見据えたパラダイムだと思うよ
原理主義的にならずに旨味だけを享受すればいい
もちろんなんでもできるから使い方を間違えるとひどい目に合う
そこはしっかりと教育していくしかない
どんな道具でも学習は必要だ
958デフォルトの名無しさん
2020/09/15(火) 12:11:23.59ID:DF4Wozgk959デフォルトの名無しさん
2020/09/15(火) 12:21:34.24ID:gc4PCUOV 関数型のクイックソートはクイックじゃねえからなwwwww
wwwww使い物にならねえわwwww
wwwww使い物にならねえわwwww
960デフォルトの名無しさん
2020/09/15(火) 12:23:00.49ID:YmrXu57g クイックソートの遅い実装?
961デフォルトの名無しさん
2020/09/15(火) 12:45:43.54ID:dgBsBrcB >>958
挙げてるじゃん
インフラストラクチャ、ステートフルリソース、外部APIコーディネート、などなど
数えたら枚挙に暇がない
関数型は所詮はインメモリの世界でしか通用しない道具だ
しかしインメモリに限れば強力なツールだ
なので関数型が苦手なことが得意な手続き型と組み合わせて使うのが正解
そして関数型と手続き型を密結合することなくうまく調和させるためにOOPのカプセル化や抽象化といった概念が役に立つ
挙げてるじゃん
インフラストラクチャ、ステートフルリソース、外部APIコーディネート、などなど
数えたら枚挙に暇がない
関数型は所詮はインメモリの世界でしか通用しない道具だ
しかしインメモリに限れば強力なツールだ
なので関数型が苦手なことが得意な手続き型と組み合わせて使うのが正解
そして関数型と手続き型を密結合することなくうまく調和させるためにOOPのカプセル化や抽象化といった概念が役に立つ
962デフォルトの名無しさん
2020/09/15(火) 13:04:11.00ID:RkqAJNr6963デフォルトの名無しさん
2020/09/15(火) 13:27:23.20ID:QOcZ+8t3 関数型に適応できる高速なソートのアルゴリズムってあるの?
964デフォルトの名無しさん
2020/09/15(火) 14:42:17.61ID:i/gZOuAl >>961
Erlang は上手くやってるな
Erlang は上手くやってるな
965デフォルトの名無しさん
2020/09/15(火) 20:20:21.30ID:X9YPG5on >>961
>インフラストラクチャ、ステートフルリソース、外部APIコーディネート
これが具体的な例なんだねww
にしてもインフラストラクチャてwww
無知を自覚してしっかり教育されるか、無知を認められず老害化するかは君次第
>インフラストラクチャ、ステートフルリソース、外部APIコーディネート
これが具体的な例なんだねww
にしてもインフラストラクチャてwww
無知を自覚してしっかり教育されるか、無知を認められず老害化するかは君次第
966デフォルトの名無しさん
2020/09/15(火) 21:23:52.92ID:gc4PCUOV 何わろてんねん
967デフォルトの名無しさん
2020/09/15(火) 22:03:17.38ID:IfSXNbex 「関数型はI/Oが苦手」
「関数型ではカプセル化できない」
と思っちゃってる個人の感想だよね
「関数型ではカプセル化できない」
と思っちゃってる個人の感想だよね
968デフォルトの名無しさん
2020/09/15(火) 22:08:43.90ID:X8qAKmym 次の世代は関数型OSだろな。
969デフォルトの名無しさん
2020/09/15(火) 23:38:31.91ID:Tmf/kgmE970デフォルトの名無しさん
2020/09/15(火) 23:49:58.45ID:cvpGF9OU 現実世界は副作用の塊なんだよ
関数型は現実問題を解決するには不向き
手続き型やOOPの力によって現実問題とうまく切り離された僅かな隙間であるインメモリ計算処理をうまくこなすことができる
関数型とはただそれだけの存在だ
関数型は現実問題を解決するには不向き
手続き型やOOPの力によって現実問題とうまく切り離された僅かな隙間であるインメモリ計算処理をうまくこなすことができる
関数型とはただそれだけの存在だ
971デフォルトの名無しさん
2020/09/15(火) 23:52:41.89ID:Tmf/kgmE 数学の世界では無限という数値だって扱えるんです
しかしコンピュータでは扱えません
しかしコンピュータでは扱えません
972デフォルトの名無しさん
2020/09/16(水) 00:11:09.88ID:XXyygoNj >>971
∞ + 1 = ?
∞ + 1 = ?
973デフォルトの名無しさん
2020/09/16(水) 00:33:59.70ID:6QoNdXGN インメモリ計算処理www
なんで理解できてないことをあたかも理解してるかのように語りたがるのかな?
知らない書けない理解してない無知な自分を認めたくないからって"あっちの水は苦い"と喧伝して自分を慰めても何にもならないぞ
なんで理解できてないことをあたかも理解してるかのように語りたがるのかな?
知らない書けない理解してない無知な自分を認めたくないからって"あっちの水は苦い"と喧伝して自分を慰めても何にもならないぞ
974デフォルトの名無しさん
2020/09/16(水) 00:47:40.07ID:XXyygoNj ここにいるhaskellerはレベル低そう
975デフォルトの名無しさん
2020/09/16(水) 00:48:27.03ID:XXyygoNj 悔しかったらOS実装してみろ
C言語ならできるぞ手続き型に負けて悔しくないのか
C言語ならできるぞ手続き型に負けて悔しくないのか
976デフォルトの名無しさん
2020/09/16(水) 00:56:03.92ID:NJW1Qx1P お前が実装したわけじゃあるまいしw
Windows はオブジェクト指向OS
Windows はオブジェクト指向OS
977デフォルトの名無しさん
2020/09/16(水) 00:56:44.43ID:7X1piV6a978デフォルトの名無しさん
2020/09/16(水) 01:00:28.73ID:xovTn/QF え?オブジェクト指向言語で解決できてる問題があると言っている?
恐怖を感じるほどのバカだな
恐怖を感じるほどのバカだな
979デフォルトの名無しさん
2020/09/16(水) 01:01:49.28ID:XXyygoNj >>976
それはそうやな
それはそうやな
980デフォルトの名無しさん
2020/09/16(水) 01:03:50.27ID:xovTn/QF え?win32apiが?
982デフォルトの名無しさん
2020/09/16(水) 01:10:26.55ID:XXyygoNj >>978
qmailのソースコード見たことある?
C言語なんだけどオブジェクト指向の極みなんだよ
https://github.com/amery/qmail
オブジェクト指向はqmailを解決したわけですね
qmailのソースコード見たことある?
C言語なんだけどオブジェクト指向の極みなんだよ
https://github.com/amery/qmail
オブジェクト指向はqmailを解決したわけですね
983デフォルトの名無しさん
2020/09/16(水) 01:22:52.13ID:XXyygoNj GitのソースコードもC言語なんだけどこれもオブジェクト指向の極み
https://github.com/git/git
コミットやリビジョン、リポジトリといった概念とソースコードが一致するようになってる
オブジェクト指向によるドメイン駆動設計
C言語すごい
https://github.com/git/git
コミットやリビジョン、リポジトリといった概念とソースコードが一致するようになってる
オブジェクト指向によるドメイン駆動設計
C言語すごい
984デフォルトの名無しさん
2020/09/16(水) 01:23:47.90ID:/p6a79yr ドメイン駆動って何?
985デフォルトの名無しさん
2020/09/16(水) 01:25:58.14ID:/p6a79yr986デフォルトの名無しさん
2020/09/16(水) 01:31:39.87ID:XXyygoNj987デフォルトの名無しさん
2020/09/16(水) 01:34:34.58ID:XXyygoNj >>985
それえ!
それえ!
988デフォルトの名無しさん
2020/09/16(水) 01:38:40.25ID:/p6a79yr >>986
おまえさん、ソフトウエア、あんまり作ったことなさそうだな…
おまえさん、ソフトウエア、あんまり作ったことなさそうだな…
989デフォルトの名無しさん
2020/09/16(水) 01:42:15.93ID:XXyygoNj990デフォルトの名無しさん
2020/09/16(水) 01:43:37.93ID:XXyygoNj DDDは流行の最先端だから覚えておくと良い
991デフォルトの名無しさん
2020/09/16(水) 01:48:57.66ID:/p6a79yr >>989
正直でよろしい。
そしたらY-cominatorを用いた動的計画法の解法についておよび
ラマヌジャンがノートに残したモジュラ関数を応用した超数近似の収束性とカ・マーカー方への応用を
十実装したプログラムにたいして何か知見があったらその痴性をひけらかして演説書いてチョンマゲ
つか、ど素人はすっこんで定年までROMってろよ、ってかんじ
正直でよろしい。
そしたらY-cominatorを用いた動的計画法の解法についておよび
ラマヌジャンがノートに残したモジュラ関数を応用した超数近似の収束性とカ・マーカー方への応用を
十実装したプログラムにたいして何か知見があったらその痴性をひけらかして演説書いてチョンマゲ
つか、ど素人はすっこんで定年までROMってろよ、ってかんじ
992デフォルトの名無しさん
2020/09/16(水) 01:51:37.85ID:/p6a79yr993デフォルトの名無しさん
2020/09/16(水) 01:56:50.65ID:/p6a79yr994デフォルトの名無しさん
2020/09/16(水) 02:50:38.64ID:0ZaEBr0v おまえら、とりあえず動くものを作ってから雑談しろよ。
995デフォルトの名無しさん
2020/09/16(水) 02:59:52.72ID:XXyygoNj なんでや?
996デフォルトの名無しさん
2020/09/16(水) 03:01:35.60ID:XXyygoNj 天文学者に宇宙行けと言ってるようなもんだろ
優れた頭脳は計算によって世界を知る
優れた頭脳は計算によって世界を知る
997デフォルトの名無しさん
2020/09/16(水) 03:02:42.46ID:XXyygoNj 作らざること山のごとし
998デフォルトの名無しさん
2020/09/16(水) 07:13:38.52ID:Mp+zrl2P 進捗する毎火の如し
999デフォルトの名無しさん
2020/09/16(水) 08:26:28.51ID:NJW1Qx1P キン肉マンネタ
1000デフォルトの名無しさん
2020/09/16(水) 09:05:02.14ID:ChCLAHZC ソフトウエアを作れない奴が、カプセル化だ、ゲッターセッターだ継承だ多態だ
薀蓄たれて開発者を惑わすのはやめる
足引っ張るだけだ
薀蓄たれて開発者を惑わすのはやめる
足引っ張るだけだ
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 48日 15時間 47分 4秒
新しいスレッドを立ててください。
life time: 48日 15時間 47分 4秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★4 [BFU★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★5 [Hitzeschleier★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 ★2 [Hitzeschleier★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 【速報】テレビ朝日本社から20代〜30代の男性が飛び降り自殺して死亡 東京・六本木 [597533159]
- 【高市速報】中国、最後通牒 [308389511]
- お前らダウナー系だよな
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ182
- 【朗報】カニ漁バイト募集!急げ! [834922174]
- 精液がゼリー状で黄ばんでるせいで女と付き合う勇気ない
