前スレ
オブジェクト指向って自然な文法だな 2
http://echo.2ch.net/test/read.cgi/tech/1490506257/
オブジェクト指向って自然な文法だな 3 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/04/02(日) 16:30:38.65ID:n7h/bBRg
738デフォルトの名無しさん
2017/06/13(火) 22:24:43.82ID:Vxrr5bw6 haskellにはカプセル化の概念がないんだよね
739デフォルトの名無しさん
2017/06/13(火) 22:28:26.94ID:+kV5cJp9 カプセルすべきものがないからな
740デフォルトの名無しさん
2017/06/13(火) 22:30:05.60ID:Vxrr5bw6 カプセル化すべきものとは?
741デフォルトの名無しさん
2017/06/13(火) 22:31:18.19ID:Vxrr5bw6 つまりカプセル化はオブジェクト指向に本質的に必要ないものとなるわけですな
742デフォルトの名無しさん
2017/06/13(火) 22:32:14.23ID:9he6m/gR 本質的には何も必要ないよ?
オブジェクト指向をやりやすくするための
言語仕様を備えてるだけなんだから
オブジェクト指向をやりやすくするための
言語仕様を備えてるだけなんだから
743デフォルトの名無しさん
2017/06/13(火) 22:32:39.86ID:Vxrr5bw6 haskellはオブジェクト指向言語と言っていいでしょう
744デフォルトの名無しさん
2017/06/13(火) 22:34:25.58ID:Vxrr5bw6 >>742
何も? 何もいらないのか? それでほんとにオブジェクト指向? なんか怪しいな
何も? 何もいらないのか? それでほんとにオブジェクト指向? なんか怪しいな
745デフォルトの名無しさん
2017/06/13(火) 22:42:17.98ID:Vxrr5bw6 条件分岐を書かないことで疎結合にする
これがオブジェクト指向の本質
これがオブジェクト指向の本質
746デフォルトの名無しさん
2017/06/14(水) 01:43:10.82ID:CkeSeNJV Haskellはモジュール単位で隠蔽機能がある。
モジュール公開側も公開したいものだけ指定出来るし、importする側も、さらに細かくこの関数だけ読み込むとか、この関数以外を読み込むとか、細かく指定出来る。
モジュール公開側も公開したいものだけ指定出来るし、importする側も、さらに細かくこの関数だけ読み込むとか、この関数以外を読み込むとか、細かく指定出来る。
747デフォルトの名無しさん
2017/06/14(水) 01:47:53.66ID:CkeSeNJV748デフォルトの名無しさん
2017/06/14(水) 07:43:27.89ID:FHXnlM5+ Haskellもモナドで手続きも書けるようにしたけど
モナドで手続き書くとマジ終わってるレベルで読みにくくて冗長
かと言ってHaskellでも性能出そうと思うと手続きを書かざるを得ない
つまりウンコ言語
モナドで手続き書くとマジ終わってるレベルで読みにくくて冗長
かと言ってHaskellでも性能出そうと思うと手続きを書かざるを得ない
つまりウンコ言語
749デフォルトの名無しさん
2017/06/14(水) 07:58:06.20ID:FHXnlM5+750デフォルトの名無しさん
2017/06/14(水) 08:21:45.76ID:9+QvSXTd まだカプセル化不要とか言ってるバカが居るのか
751デフォルトの名無しさん
2017/06/14(水) 08:25:14.80ID:JfvqLMZu >>749
ネットに踊らされてないで自分でやってみなさい
ネットに踊らされてないで自分でやってみなさい
752デフォルトの名無しさん
2017/06/14(水) 08:43:15.00ID:JrGv0x1p >>751
やってみた?
やってみた?
753デフォルトの名無しさん
2017/06/14(水) 08:45:08.83ID:JrGv0x1p >>750
カプセル化が必要だとするならそれは設計が間違っているというのがhaskellの議論で明らかになったわけです
カプセル化が必要だとするならそれは設計が間違っているというのがhaskellの議論で明らかになったわけです
754デフォルトの名無しさん
2017/06/14(水) 09:03:03.20ID:JrGv0x1p755デフォルトの名無しさん
2017/06/14(水) 09:08:24.09ID:JrGv0x1p 純粋関数型と呼ばれるどこぞの言語にもdoがあるでしょう
つまり手続き型は数学的モデルのあるちゃんとした方法なんです
それを駄目だと思うのは慣れすぎてマンネリ化してるからなんです
つまり手続き型は数学的モデルのあるちゃんとした方法なんです
それを駄目だと思うのは慣れすぎてマンネリ化してるからなんです
756デフォルトの名無しさん
2017/06/14(水) 09:10:44.44ID:OTRTw69H 原点に帰ろう
c言語からやり直そう
linuxはc言語で書かれていますが
完全にオブジェクト指向です
c言語からやり直そう
linuxはc言語で書かれていますが
完全にオブジェクト指向です
757デフォルトの名無しさん
2017/06/14(水) 09:42:08.75ID:Zur2LRZk >>753
前どこかのスレにコマンド引数の偶数番目と奇数番目を分けてリストに入れて、後から1、2番目を一つの組み。3、4番目を2つ目の組み。。。
みたいにして表示するコードをHaskellとPythonとRubyで書いたが、皮肉にもグローバル変数があっても良いはずのHaskellだけがグローバル変数作らないで済んで、
PythonとRubyはグローバル変数作らないとダメだった。
Pythonは書き様によってはグローバル変数無くせそうだったし、Rubyのsliceヒントに別の書き方のが全言語でグローバル変数要らなくなったし、シンプルになったけど。
前どこかのスレにコマンド引数の偶数番目と奇数番目を分けてリストに入れて、後から1、2番目を一つの組み。3、4番目を2つ目の組み。。。
みたいにして表示するコードをHaskellとPythonとRubyで書いたが、皮肉にもグローバル変数があっても良いはずのHaskellだけがグローバル変数作らないで済んで、
PythonとRubyはグローバル変数作らないとダメだった。
Pythonは書き様によってはグローバル変数無くせそうだったし、Rubyのsliceヒントに別の書き方のが全言語でグローバル変数要らなくなったし、シンプルになったけど。
758デフォルトの名無しさん
2017/06/14(水) 09:46:27.58ID:Zur2LRZk >>755
doの書き方は手続き型言語でも宣言的と呼ばれる関数(メソッド)呼び出しの羅列の再現。
ループとかの手続き丸出しなのの再現はあくまで再帰。
だが再現はループの代わりにもなるが、あくまで値を返す関数。
メソッドチェーンと同じで返ってくる値の型を意識する。
doの書き方は手続き型言語でも宣言的と呼ばれる関数(メソッド)呼び出しの羅列の再現。
ループとかの手続き丸出しなのの再現はあくまで再帰。
だが再現はループの代わりにもなるが、あくまで値を返す関数。
メソッドチェーンと同じで返ってくる値の型を意識する。
759デフォルトの名無しさん
2017/06/14(水) 09:47:28.86ID:Zur2LRZk x再現はループの
o再帰はループの
o再帰はループの
760デフォルトの名無しさん
2017/06/14(水) 10:38:47.08ID:9+QvSXTd カプセル化不要論者はぜひここのコメント欄で戦っていただきたい
http://qiita.com/tutinoco/items/6952b01e5fc38914ec4e
http://qiita.com/tutinoco/items/6952b01e5fc38914ec4e
761デフォルトの名無しさん
2017/06/14(水) 10:50:09.06ID:DZ9ij0Gz >>757
> PythonとRubyはグローバル変数作らないとダメだった。
これ↓のどこでグローバル変数を作る必要があると?
print(list(zip(*[iter(sys.argv[1:])]*2)))
p ARGV[0...ARGV.size/2*2].each_slice(2).to_a
> PythonとRubyはグローバル変数作らないとダメだった。
これ↓のどこでグローバル変数を作る必要があると?
print(list(zip(*[iter(sys.argv[1:])]*2)))
p ARGV[0...ARGV.size/2*2].each_slice(2).to_a
762デフォルトの名無しさん
2017/06/14(水) 11:07:50.39ID:Zur2LRZk >>761
お、そう書けるのね。
おいらPythonやRubyは(Haskellもそこまでじゃないけど)初心者程度だから。
そもそも重要なのは手続き型言語はグローバル変数がバグの温床になるのに、Python、Rubyじゃいとも簡単に作れちゃうって事ね。
Haskellみたいなグローバル変数がバグの温床になるわけじゃない言語でさえもパッケージ単位でカプセル化考慮されてるのに、初心者程グローバル変数宣言しちゃうし、出来ちゃうのは問題だよ。
お、そう書けるのね。
おいらPythonやRubyは(Haskellもそこまでじゃないけど)初心者程度だから。
そもそも重要なのは手続き型言語はグローバル変数がバグの温床になるのに、Python、Rubyじゃいとも簡単に作れちゃうって事ね。
Haskellみたいなグローバル変数がバグの温床になるわけじゃない言語でさえもパッケージ単位でカプセル化考慮されてるのに、初心者程グローバル変数宣言しちゃうし、出来ちゃうのは問題だよ。
763デフォルトの名無しさん
2017/06/14(水) 11:15:17.26ID:Zur2LRZk >>761
って、よく見たらsliceの方のアルゴリズムだし。。。
上でも、そっちはグローバル変数使わなかったって書いてるだろ。
コマンド引数の配列なりリストなりを
args!!i -- Haskell の場合
args[i] #Ruby、Pythonの場合
このインデックスのiを奇数か偶数か判定して、それぞれのリスト(配列)を作ってzipするアルゴリズムではグローバル変数使った。
おいらの力量のせいだったのかもしれんが、そう言う書き方に自然となったのが問題って話。
って、よく見たらsliceの方のアルゴリズムだし。。。
上でも、そっちはグローバル変数使わなかったって書いてるだろ。
コマンド引数の配列なりリストなりを
args!!i -- Haskell の場合
args[i] #Ruby、Pythonの場合
このインデックスのiを奇数か偶数か判定して、それぞれのリスト(配列)を作ってzipするアルゴリズムではグローバル変数使った。
おいらの力量のせいだったのかもしれんが、そう言う書き方に自然となったのが問題って話。
764デフォルトの名無しさん
2017/06/14(水) 11:51:06.96ID:oCEbA4RA おいら とか言う奴は
オイラー と被せてるの?
オイラー と被せてるの?
765デフォルトの名無しさん
2017/06/14(水) 12:07:52.90ID:l6WSuI/u たしかに20年ぶりくらいに見たな
766デフォルトの名無しさん
2017/06/14(水) 12:32:56.95ID:OTRTw69H 関数の中で処理したらいいじゃん
767デフォルトの名無しさん
2017/06/14(水) 12:49:59.35ID:DZ9ij0Gz >>763
ふつうに書けばシンプルに書けるものをなんでわざわざ複雑にせなあかんのかがわからん
p ARGV[0...ARGV.size/2*2].select.with_index{ |_,i| i.even? }.zip(ARGV.select.with_index{ |_,i| i.odd? })
ふつうに書けばシンプルに書けるものをなんでわざわざ複雑にせなあかんのかがわからん
p ARGV[0...ARGV.size/2*2].select.with_index{ |_,i| i.even? }.zip(ARGV.select.with_index{ |_,i| i.odd? })
768デフォルトの名無しさん
2017/06/14(水) 12:51:07.02ID:pq4tRhVl めっちゃ複雑やんw
769デフォルトの名無しさん
2017/06/14(水) 12:53:55.83ID:u4jybkYs (function(){
処理
})();
JavaScript でも、グローバルスコープにしないため、ファイル全体を無名関数で囲む。
Rubyでも、囲めばよい
結局、囲むという事は、クラスと同じ。
関数・クロージャ・ブロック・ラムダ式など、どういう表現をしようが、
スコープがあるという事は、クラスと同じ
処理
})();
JavaScript でも、グローバルスコープにしないため、ファイル全体を無名関数で囲む。
Rubyでも、囲めばよい
結局、囲むという事は、クラスと同じ。
関数・クロージャ・ブロック・ラムダ式など、どういう表現をしようが、
スコープがあるという事は、クラスと同じ
770デフォルトの名無しさん
2017/06/14(水) 12:55:47.63ID:Zur2LRZk >>764
その発想は無かった。
>>766
実はHaskellも最初リスト内包表記でグローバル変数作ってたんだけどね。
結局判定する関数のevenとoddしか違いが無かったからmakeList関数作って纏めただけなんだが、同じリスト内包表記あるPythonで同じ様にしようとしたらi % 2 == 0とか書かないといけなかったのね。
んで、まあ良いや。0か1かで奇数偶数分けられるから関数作っちゃえって思ったらエラー出た。
定数じゃないとダメっぽくて諦めたけど、リスト内包表記に拘らなければ関数に出来たと思う。
(もしくは将来的にリスト内包表記のif式に外部から変数渡せる様になったら作れる)
処理全体を関数にしちゃうってのは確かにグローバル変数を無くす有効な手段だが、初心者ほどそんな事しない。
その発想は無かった。
>>766
実はHaskellも最初リスト内包表記でグローバル変数作ってたんだけどね。
結局判定する関数のevenとoddしか違いが無かったからmakeList関数作って纏めただけなんだが、同じリスト内包表記あるPythonで同じ様にしようとしたらi % 2 == 0とか書かないといけなかったのね。
んで、まあ良いや。0か1かで奇数偶数分けられるから関数作っちゃえって思ったらエラー出た。
定数じゃないとダメっぽくて諦めたけど、リスト内包表記に拘らなければ関数に出来たと思う。
(もしくは将来的にリスト内包表記のif式に外部から変数渡せる様になったら作れる)
処理全体を関数にしちゃうってのは確かにグローバル変数を無くす有効な手段だが、初心者ほどそんな事しない。
771デフォルトの名無しさん
2017/06/14(水) 12:59:16.57ID:Zur2LRZk >>767
ファイル名とファイルの内容をzipするコード書いた後の実験的なコードだったんで、そう言う発想になった。
後でsliceなコードのが単純だし、グローバル変数使わないって気付いたけど。
ここではどうしても使わざるを得ない場面が出て来たってのを言いたかっただけ。
ファイル名とファイルの内容をzipするコード書いた後の実験的なコードだったんで、そう言う発想になった。
後でsliceなコードのが単純だし、グローバル変数使わないって気付いたけど。
ここではどうしても使わざるを得ない場面が出て来たってのを言いたかっただけ。
772デフォルトの名無しさん
2017/06/14(水) 17:49:45.05ID:OTRTw69H ローカル変数で良くない?
773デフォルトの名無しさん
2017/06/14(水) 17:50:30.90ID:OTRTw69H なんでグローバルにする必要があるんですかね?
774デフォルトの名無しさん
2017/06/14(水) 17:52:34.20ID:OTRTw69H グローバルな人材を育てたいのかな?
775デフォルトの名無しさん
2017/06/14(水) 17:54:12.75ID:OTRTw69H >>767
古き良きパールのようじゃ
古き良きパールのようじゃ
776デフォルトの名無しさん
2017/06/14(水) 21:53:40.74ID:293Y7UBw777デフォルトの名無しさん
2017/06/14(水) 22:01:32.77ID:293Y7UBw そもそも771は長くても10行程度のコードしか書けないクソ初心者だろ?
その規模じゃグローバル変数でも問題ないわ
その規模じゃグローバル変数でも問題ないわ
778デフォルトの名無しさん
2017/06/14(水) 23:10:49.67ID:Mf2Ob2T8 はいシングルトンも禁止
779デフォルトの名無しさん
2017/06/15(木) 01:45:19.51ID:pFraGGes もう継承、ポリモーフィズム、カプセル化も禁止でいいよ
780デフォルトの名無しさん
2017/06/15(木) 01:53:46.41ID:K1DnwnKl 継承、実装、DIの違いをポケモンを例に説明してくれ。
781デフォルトの名無しさん
2017/06/15(木) 07:08:45.79ID:onPRKaJ8 ポケモン進化、トレーニング、?
782デフォルトの名無しさん
2017/06/15(木) 08:21:04.78ID:YgSQzG1P >>776
間違いというか効率悪い方の例をわざわざあげてる意味わかってる?
この例に限らず、グローバル変数がバグの温床になるって分かってるのに、
どうしてもグローバル変数使わないと書けない場面があるから黙認されてるっていうのが、
もうオブジェクト指向はグローバル変数に対して根本的な解決策を持たない不完全なパラダイムだって証左だよ。
間違いというか効率悪い方の例をわざわざあげてる意味わかってる?
この例に限らず、グローバル変数がバグの温床になるって分かってるのに、
どうしてもグローバル変数使わないと書けない場面があるから黙認されてるっていうのが、
もうオブジェクト指向はグローバル変数に対して根本的な解決策を持たない不完全なパラダイムだって証左だよ。
783デフォルトの名無しさん
2017/06/15(木) 09:25:01.12ID:ESWCwDfu784デフォルトの名無しさん
2017/06/16(金) 12:29:20.85ID:HP1Jz4Vg プログラムを勉強して日が浅いのですが、LSPを意識すると継承って何の意味があるんだろうと思ってしまいます
置換可能を実現できるということは、サブクラスはスーパークラスそのものってことになるような気がして
LSPの概念は、どう便利なのでしょうか
置換可能を実現できるということは、サブクラスはスーパークラスそのものってことになるような気がして
LSPの概念は、どう便利なのでしょうか
785デフォルトの名無しさん
2017/06/16(金) 13:56:31.30ID:zL8gur9S グローバル変数が無いと書けない場面なんて無い
グローバルスコープのシングルトンオブジェクトでいい
必要ならね
グローバルスコープのシングルトンオブジェクトでいい
必要ならね
786デフォルトの名無しさん
2017/06/16(金) 14:28:02.28ID:pc3mXeVr787デフォルトの名無しさん
2017/06/16(金) 19:13:51.77ID:HP1Jz4Vg788デフォルトの名無しさん
2017/06/16(金) 20:00:04.73ID:Z2HbLI7g789デフォルトの名無しさん
2017/06/16(金) 20:55:27.26ID:DGAgd9ez interface
790デフォルトの名無しさん
2017/06/17(土) 02:54:17.87ID:1edbV8Vs メソッドディスパッチの問題だろ?
というBlogをみて「ああそれだよそれ、そういうのでいいんだよ」(孤独のグルメ風表現)になった
というBlogをみて「ああそれだよそれ、そういうのでいいんだよ」(孤独のグルメ風表現)になった
791デフォルトの名無しさん
2017/06/17(土) 11:41:41.30ID:m1x703gI 第1目標:修正が他までどんどん波及していって修正地獄にならないようにする
なのに、変な原理原則マンに限ってそこがスッポリ抜けてたりするからな
なのに、変な原理原則マンに限ってそこがスッポリ抜けてたりするからな
792デフォルトの名無しさん
2017/06/17(土) 14:11:25.74ID:qMkdrUOQ 原理原則っつーか原理主義者っつーか
そもそもOOは原理といえるほど理屈がしっかりしてないだろ
複数のオブジェクトにまたがるメソッドをどこに実装しようかっていう初歩のレベルで
すっきりしないというのに
むろんマルチメソッドという考え方もあるけど、ほとんどのOOPには実装されてないしな
だから複数の色んなことを同時に考慮して、うまい具合にしなきゃならないっつーのに
原理原則とかでは無いわ
我々は空間と時間を両方扱っているわけで、片方だけに着目すりゃよいってものでもないわ
そもそもOOは原理といえるほど理屈がしっかりしてないだろ
複数のオブジェクトにまたがるメソッドをどこに実装しようかっていう初歩のレベルで
すっきりしないというのに
むろんマルチメソッドという考え方もあるけど、ほとんどのOOPには実装されてないしな
だから複数の色んなことを同時に考慮して、うまい具合にしなきゃならないっつーのに
原理原則とかでは無いわ
我々は空間と時間を両方扱っているわけで、片方だけに着目すりゃよいってものでもないわ
793デフォルトの名無しさん
2017/06/17(土) 14:15:26.57ID:qMkdrUOQ 第一、OO程度の原理原則に思考回路が縛られるって
潜在的に、そうとうオツムが弱いよな
世の中の理屈とかけ離れすぎているというか、単純化しすぎ
潜在的に、そうとうオツムが弱いよな
世の中の理屈とかけ離れすぎているというか、単純化しすぎ
794デフォルトの名無しさん
2017/06/17(土) 15:24:12.75ID:hpXZLyYV >>792
> 複数のオブジェクトにまたがるメソッドをどこに実装しようかっていう初歩のレベルで
オブジェクト指向は、現実世界で実現しているオブジェクトに
ソフトウェアの設計を合わせようとするものだが、
現実世界のオブジェクトでは、
「複数のオブジェクトにまたがるメソッド」は
どこに実装されているんですか?
複数のオブジェクトにまたがるメソッドというものが
そもそも不自然なメソッドですよね?
> 複数のオブジェクトにまたがるメソッドをどこに実装しようかっていう初歩のレベルで
オブジェクト指向は、現実世界で実現しているオブジェクトに
ソフトウェアの設計を合わせようとするものだが、
現実世界のオブジェクトでは、
「複数のオブジェクトにまたがるメソッド」は
どこに実装されているんですか?
複数のオブジェクトにまたがるメソッドというものが
そもそも不自然なメソッドですよね?
795デフォルトの名無しさん
2017/06/17(土) 16:14:00.96ID:jlRZsUTe796デフォルトの名無しさん
2017/06/17(土) 16:33:38.51ID:ExP73Jcy 物理法則の表現って因果関係的な形ではないよねー
797デフォルトの名無しさん
2017/06/17(土) 17:27:39.37ID:qMkdrUOQ はい皆さん>>794を読んでください
もうこの時点でアホっぽいってわかるでしょ
ありえないぐらいで、釣りじゃないかと疑うぐらい
アホらしいけどまず基本的なことからいうと
コンピュータは日本語で「計算機」ともいうのでそっちの方向から攻めると
足し算は現実世界のどこに実装されているんですか?っていうぐらいアホなイチャモン
物や物体的なことにこだわって、概念的なことであるとか関係性といったものを
認めない姿勢は技術者ではない以前に、人間的ですらない
もうこの時点でアホっぽいってわかるでしょ
ありえないぐらいで、釣りじゃないかと疑うぐらい
アホらしいけどまず基本的なことからいうと
コンピュータは日本語で「計算機」ともいうのでそっちの方向から攻めると
足し算は現実世界のどこに実装されているんですか?っていうぐらいアホなイチャモン
物や物体的なことにこだわって、概念的なことであるとか関係性といったものを
認めない姿勢は技術者ではない以前に、人間的ですらない
798デフォルトの名無しさん
2017/06/17(土) 17:38:01.77ID:hpXZLyYV >>795
物理法則っていうのは、
例えばすべての物体は引力があるとか?
あ、これ複数のオブジェクトにまたがるんじゃなくて
個々のオブジェクトに引力があるのか
例えば、熱を加えると発火するとか?
あ、これもその物体が変化するだけか
複数のオブジェクトにまたがるメソッドってなんですかね?
物理法則っていうのは、
例えばすべての物体は引力があるとか?
あ、これ複数のオブジェクトにまたがるんじゃなくて
個々のオブジェクトに引力があるのか
例えば、熱を加えると発火するとか?
あ、これもその物体が変化するだけか
複数のオブジェクトにまたがるメソッドってなんですかね?
799デフォルトの名無しさん
2017/06/17(土) 17:40:22.96ID:hpXZLyYV >>797
数値を入力してボタンを押すと足し算を行うのは
計算機というオブジェクトが持ってる機能ですよね?
それとも電気信号レベルの話をすれば良いのですか?
そろばんでも足し算ができますが、
もしかしてこの2つを同一のものとみなしてるのですか?
そろばんは電気信号じゃなくて物体の位置で表現するって
だけですからね。
数値を入力してボタンを押すと足し算を行うのは
計算機というオブジェクトが持ってる機能ですよね?
それとも電気信号レベルの話をすれば良いのですか?
そろばんでも足し算ができますが、
もしかしてこの2つを同一のものとみなしてるのですか?
そろばんは電気信号じゃなくて物体の位置で表現するって
だけですからね。
800デフォルトの名無しさん
2017/06/17(土) 18:01:41.38ID:qMkdrUOQ アホか
数学上での足し算という「概念」の話だ
1に2を足すと3になるっていう概念上の関係性の話だ
別に現実世界に実装があるわけじゃないが、1に2を足すと3になるし、有用なんだよ
ついでに言うと、1とか2とかいう数字自体からして現実世界に実装が存在しているわけではない
1とか2はあくまで数学上の概念だ
もう本当にあほだなぁと思う、あきれて言葉も出ない
こうなったらもうエンジニアとして終わりなんだと思うし
人としても鬱病になる末路なんだろうか、知ったこっちゃないが
数学上での足し算という「概念」の話だ
1に2を足すと3になるっていう概念上の関係性の話だ
別に現実世界に実装があるわけじゃないが、1に2を足すと3になるし、有用なんだよ
ついでに言うと、1とか2とかいう数字自体からして現実世界に実装が存在しているわけではない
1とか2はあくまで数学上の概念だ
もう本当にあほだなぁと思う、あきれて言葉も出ない
こうなったらもうエンジニアとして終わりなんだと思うし
人としても鬱病になる末路なんだろうか、知ったこっちゃないが
801デフォルトの名無しさん
2017/06/17(土) 18:08:50.48ID:qMkdrUOQ >数値を入力してボタンを押すと足し算を行うのは
>計算機というオブジェクトが持ってる機能ですよね?
>それとも電気信号レベルの話をすれば良いのですか?
この発言もかなり面白くて、この言葉通りにプログラムをすれば
すべてのメソッドはコンピュータインスタンスに紐づくことになる
computer.add(1,2); computer.func(a,b,c);ってところか?
OOだなんだいったって、実際に処理をするのは「コンピュータ」
に他ならないんだから至極当然な意見だわなwww
たしかに現実世界を模してるわ
いわゆるGODクラス、staticおじさんと同じだ
つまりもう、自分がどういう立場をとっていて何を言っているのかすら
よくわかっていない状態ということだな
病的
>計算機というオブジェクトが持ってる機能ですよね?
>それとも電気信号レベルの話をすれば良いのですか?
この発言もかなり面白くて、この言葉通りにプログラムをすれば
すべてのメソッドはコンピュータインスタンスに紐づくことになる
computer.add(1,2); computer.func(a,b,c);ってところか?
OOだなんだいったって、実際に処理をするのは「コンピュータ」
に他ならないんだから至極当然な意見だわなwww
たしかに現実世界を模してるわ
いわゆるGODクラス、staticおじさんと同じだ
つまりもう、自分がどういう立場をとっていて何を言っているのかすら
よくわかっていない状態ということだな
病的
802デフォルトの名無しさん
2017/06/17(土) 18:17:41.65ID:hpXZLyYV >>800
> 1に2を足すと3になるっていう概念上の関係性の話だ
1という値の数値オブジェクトに
2という数値オブジェクトを引数に
数値オブジェクトの加算メソッドを呼び出すと
3という数値オブジェクトになるって話?
> 1に2を足すと3になるっていう概念上の関係性の話だ
1という値の数値オブジェクトに
2という数値オブジェクトを引数に
数値オブジェクトの加算メソッドを呼び出すと
3という数値オブジェクトになるって話?
803デフォルトの名無しさん
2017/06/17(土) 19:35:16.50ID:+xCSnEDa >>798
引力を物体間の相互作用じゃなくてオブジェクト単体で定義される性質と思ってんの?
引力を物体間の相互作用じゃなくてオブジェクト単体で定義される性質と思ってんの?
804デフォルトの名無しさん
2017/06/17(土) 19:48:30.88ID:hpXZLyYV805デフォルトの名無しさん
2017/06/17(土) 20:34:57.52ID:qMkdrUOQ ほらまたバカなこと言いだしたでしょ、すごいでしょ、この病気
俺がかなり煽った文体で書きこんでるのにもかかわらず
お前の援軍は誰も現れないでしょ、これが現実
頭悪すぎて他人の言っていることも自分の言っていることすら理解できないという
もうどうしようもない残念さで、誰も味方がいない
この手の人は本当にもうどうしようもなくて
かわいそうだからと周りの人が説得を試みても全くの無駄というか
普通の人が当たり前にできる思考が、どうにも理解できないらしく
必ず自分にわかる範囲で自分の領域に持ち込んで考えようとするんだが
その行為自体が間違っているってことが何故か分からないらしい
袋小路でとにかく打つ手なし
俺がかなり煽った文体で書きこんでるのにもかかわらず
お前の援軍は誰も現れないでしょ、これが現実
頭悪すぎて他人の言っていることも自分の言っていることすら理解できないという
もうどうしようもない残念さで、誰も味方がいない
この手の人は本当にもうどうしようもなくて
かわいそうだからと周りの人が説得を試みても全くの無駄というか
普通の人が当たり前にできる思考が、どうにも理解できないらしく
必ず自分にわかる範囲で自分の領域に持ち込んで考えようとするんだが
その行為自体が間違っているってことが何故か分からないらしい
袋小路でとにかく打つ手なし
806デフォルトの名無しさん
2017/06/17(土) 20:38:27.45ID:hpXZLyYV 駄文乙
807デフォルトの名無しさん
2017/06/17(土) 20:44:48.25ID:qMkdrUOQ まず引力に関して言えば、引力という力の存在は認められているが
なぜ引力という力が働くのかということは
本当のところは誰にもわからない
つまりは表面上そう見えるからそういう力があるのだろうという程度のものであり
根本的な原理は未解明なので、誰が引力を実行しているかとか考えるだけバカ
あと本質的に>>803が言いたいのは、オブジェクトが一つしかなければ
引力など定義しても無意味だし、引力の効能は性質となって表れないから
定義もされないっていう意味だろう
まぁ一般的な考え方だな
世の中は極めて相対的だしな
お金の価値ですらそうだしな
なぜ引力という力が働くのかということは
本当のところは誰にもわからない
つまりは表面上そう見えるからそういう力があるのだろうという程度のものであり
根本的な原理は未解明なので、誰が引力を実行しているかとか考えるだけバカ
あと本質的に>>803が言いたいのは、オブジェクトが一つしかなければ
引力など定義しても無意味だし、引力の効能は性質となって表れないから
定義もされないっていう意味だろう
まぁ一般的な考え方だな
世の中は極めて相対的だしな
お金の価値ですらそうだしな
808デフォルトの名無しさん
2017/06/17(土) 20:46:44.94ID:hpXZLyYV > オブジェクトが一つしかなければ
> 引力など定義しても無意味だし、
オブジェクトが一つしかない状態に限っていえば
無意味なんだと言われましても・・・
数字だって一つしかなければ
足し算は無意味ですよ?
> 引力など定義しても無意味だし、
オブジェクトが一つしかない状態に限っていえば
無意味なんだと言われましても・・・
数字だって一つしかなければ
足し算は無意味ですよ?
809デフォルトの名無しさん
2017/06/17(土) 20:48:06.62ID:hpXZLyYV あ、そうか
マルチメソッドはオブジェクトが一つしかなければ無意味だ!
って言いたいんだな。
マルチメソッドはオブジェクトが一つしかなければ無意味だ!
って言いたいんだな。
810デフォルトの名無しさん
2017/06/17(土) 21:15:05.61ID:qMkdrUOQ わかりやすいところでWeb検索の例だと
Googleのページランクの仕組みは非常に現代的だったわな
たくさんあちこちからリンクが張られているページは有用性が高いのだろう
そして有用性の高いページからリンクが張られているページもまた有用性が
高いのだろうっていう
そんで、かつてのYAHOO方式は負けたわけだ
でも別に珍しいことではなくて、論文とかでもたくさん引用されている論文は
価値が高いってことになってるし、まぁ基本といいますか
たくさん友達のいる人は有能なんだろうってのも大体あってるし
取引先の多い企業、特に大企業との取引がある会社は信用が有るってのも
一般的な価値基準だわなぁ
資本主義に関しても、お金のような流動性のあるものに着目するっていうのが
現代的であるし、お金をどんどん回して経済を発展させようってのも
政治家の大好きな謳い文句だわな
大体世の中そういう構図になっているから、反対へ行く人や軽んじる人
もしくは君みたいに理解できない人は北朝鮮になる
ただ何事もバランスは大事なんだけど、そうはいってもどっちに軸足を置いておくか
ってのはあるわな
簡単な方の考え方は誰にでもできるし、意識する必要もないし、学ぶべき部分もないから
あまり重要視されないんだけど、本音と建て前みたいな話にもなってくるわ
ただ、とっちが建前になってどっちが本音になるかは相手とシチュエーションによるという
つまり俺もOOPを、「使う」わけだが、いつも「必要悪」という考えはある
絶えず反対のことを考えながら吟味してOOする
そのぐらいでちょうど良いバランス
ただ、本音と建前の世界なのでコンセンサスが取りにくい
hpXZLyYVみたいなのが入ってくると破たんする
いちいち面倒くさいんでLinusがC++を追い出す気持ちもわかる
OOPをおもちゃにする奴はマジで糞
Googleのページランクの仕組みは非常に現代的だったわな
たくさんあちこちからリンクが張られているページは有用性が高いのだろう
そして有用性の高いページからリンクが張られているページもまた有用性が
高いのだろうっていう
そんで、かつてのYAHOO方式は負けたわけだ
でも別に珍しいことではなくて、論文とかでもたくさん引用されている論文は
価値が高いってことになってるし、まぁ基本といいますか
たくさん友達のいる人は有能なんだろうってのも大体あってるし
取引先の多い企業、特に大企業との取引がある会社は信用が有るってのも
一般的な価値基準だわなぁ
資本主義に関しても、お金のような流動性のあるものに着目するっていうのが
現代的であるし、お金をどんどん回して経済を発展させようってのも
政治家の大好きな謳い文句だわな
大体世の中そういう構図になっているから、反対へ行く人や軽んじる人
もしくは君みたいに理解できない人は北朝鮮になる
ただ何事もバランスは大事なんだけど、そうはいってもどっちに軸足を置いておくか
ってのはあるわな
簡単な方の考え方は誰にでもできるし、意識する必要もないし、学ぶべき部分もないから
あまり重要視されないんだけど、本音と建て前みたいな話にもなってくるわ
ただ、とっちが建前になってどっちが本音になるかは相手とシチュエーションによるという
つまり俺もOOPを、「使う」わけだが、いつも「必要悪」という考えはある
絶えず反対のことを考えながら吟味してOOする
そのぐらいでちょうど良いバランス
ただ、本音と建前の世界なのでコンセンサスが取りにくい
hpXZLyYVみたいなのが入ってくると破たんする
いちいち面倒くさいんでLinusがC++を追い出す気持ちもわかる
OOPをおもちゃにする奴はマジで糞
811デフォルトの名無しさん
2017/06/17(土) 21:26:18.74ID:qMkdrUOQ あと、物理量としての引力、っつーか質量と、相互作用としての引力の働き
では差があるわな
しかも現実世界の引力のメカニズムは解明されていない
どういう理屈で力が働くのかとか、だれにも分からん
>例えばすべての物体は引力があるとか?
>あ、これ複数のオブジェクトにまたがるんじゃなくて
>個々のオブジェクトに引力があるのか
「個々のオブジェクトに引力がある」って何ですか?
すべての人には年齢がある、と同じノリですか?
では差があるわな
しかも現実世界の引力のメカニズムは解明されていない
どういう理屈で力が働くのかとか、だれにも分からん
>例えばすべての物体は引力があるとか?
>あ、これ複数のオブジェクトにまたがるんじゃなくて
>個々のオブジェクトに引力があるのか
「個々のオブジェクトに引力がある」って何ですか?
すべての人には年齢がある、と同じノリですか?
812デフォルトの名無しさん
2017/06/17(土) 21:59:39.35ID:qMkdrUOQ >>343
あぁごめんな
ただあの人のインタビューとか読めばわかるけど
逆張り逆張り言ってる
あの人自身もRubyの筋が良いとかメインストリーム的な思想であるとは
考えてないんだよ
ただ、自分の人生の中で逆張りした場合にうまくいくことが多かったので
逆張りし続けているんだとか
だからRuby3.0でも逆張りの一種として
静的型の機能は導入しない方向を検討しているんだろうな
ただそう何度も逆張りが上手くいくとは思わないし
逆張りはしょせん逆張りだろ?あだ花というかなんというか
そういうこともあって結局Rubyはプチブームで終わった現状があるわけだし
変なことして注目を集めることはあってもそれは一過性だよ、芸人じゃあるまいし
しかも逆張りしたときに自分にとって都合がよいことが多かったってだけで
使い手のことは別に考慮されてないんだよなー
あぁごめんな
ただあの人のインタビューとか読めばわかるけど
逆張り逆張り言ってる
あの人自身もRubyの筋が良いとかメインストリーム的な思想であるとは
考えてないんだよ
ただ、自分の人生の中で逆張りした場合にうまくいくことが多かったので
逆張りし続けているんだとか
だからRuby3.0でも逆張りの一種として
静的型の機能は導入しない方向を検討しているんだろうな
ただそう何度も逆張りが上手くいくとは思わないし
逆張りはしょせん逆張りだろ?あだ花というかなんというか
そういうこともあって結局Rubyはプチブームで終わった現状があるわけだし
変なことして注目を集めることはあってもそれは一過性だよ、芸人じゃあるまいし
しかも逆張りしたときに自分にとって都合がよいことが多かったってだけで
使い手のことは別に考慮されてないんだよなー
813すまそ
2017/06/17(土) 22:00:28.43ID:qMkdrUOQ いわゆるこれは誤爆だな
814デフォルトの名無しさん
2017/06/17(土) 22:12:00.21ID:8ikdtkeK シングルディスパッチ擁護勢ってwikipediaの多重ディスパッチのページのJavaの例を許容してるんだろうか?
815デフォルトの名無しさん
2017/06/17(土) 22:54:41.66ID:ExP73Jcy モノにこれこれの機能がある、なんていうモデリングは現実世界には適用しづらいのではないか
いわんや物理法則をや
いわんや物理法則をや
816デフォルトの名無しさん
2017/06/18(日) 00:10:58.25ID:Sub4PpSI 物理法則は存在させるなら基底クラスかシステムに仕込んで全てのオブジェクトが従うもんでしょう。
個別のふるまいレベルで弄るもんじゃないから、そもそも例えですら出てくるようなもんじゃない。
個別のふるまいレベルで弄るもんじゃないから、そもそも例えですら出てくるようなもんじゃない。
817デフォルトの名無しさん
2017/06/18(日) 00:40:47.93ID:mYyShhNF そうだね
相互作用は全部神クラスに書けばいいね
オブジェクト指向w
相互作用は全部神クラスに書けばいいね
オブジェクト指向w
818デフォルトの名無しさん
2017/06/18(日) 01:22:28.32ID:V3LLSwOE819デフォルトの名無しさん
2017/06/18(日) 01:35:23.79ID:LYWH9ARf オブジェクト志向が現実のものをそのままモデル化するためにあるなんて大嘘誰が言い始めたんだ
820デフォルトの名無しさん
2017/06/18(日) 01:42:11.38ID:dLIsPmeH × オブジェクト志向が現実のものをそのままモデル化するためにある
○ 人間が自然に認識している現実のもの(オブジェクト)を使って
モデル化するから理解しやすいものが出来上がる。
○ 人間が自然に認識している現実のもの(オブジェクト)を使って
モデル化するから理解しやすいものが出来上がる。
821デフォルトの名無しさん
2017/06/18(日) 01:48:39.71ID:LYWH9ARf オブジェクト指向は、現実世界で実現しているオブジェクトにソフトウェアの設計を合わせようとするものなんていう大嘘誰が言い始めたんだ
822デフォルトの名無しさん
2017/06/18(日) 02:09:35.32ID:Sub4PpSI 「せんし」に「たたかえ」送るとプレイヤーは細かいこと指示しなくても自分で戦ってくれる。
これはあくまでモデル上でのすっきりした切り分けの話であって、こういうオブジェクト化に
「戦場で仲間に"たたかえ"ってなんだよw」とか「順番に交互に殴るのかよ」とか言ってもまったく無意味だというのに
キャットドアじじいはなんかそういうことから理解できてない知恵遅れだからね。
これはあくまでモデル上でのすっきりした切り分けの話であって、こういうオブジェクト化に
「戦場で仲間に"たたかえ"ってなんだよw」とか「順番に交互に殴るのかよ」とか言ってもまったく無意味だというのに
キャットドアじじいはなんかそういうことから理解できてない知恵遅れだからね。
823デフォルトの名無しさん
2017/06/18(日) 02:54:24.42ID:dLIsPmeH オブジェクト指向の話をしていると
よく勘違いしてるやつが出てくる。
オブジェクト指向で現実世界を実現しようとするやつだ。
シミュレーションでもやらない限りそんなものは意味がない。
その逆、実現したいものを現実世界をヒントに
オブジェクト指向でモデル化するんだよ。
そうすることで現実世界という共通認識を利用して
実現したいものをわかりやすく表現することができる。
よく勘違いしてるやつが出てくる。
オブジェクト指向で現実世界を実現しようとするやつだ。
シミュレーションでもやらない限りそんなものは意味がない。
その逆、実現したいものを現実世界をヒントに
オブジェクト指向でモデル化するんだよ。
そうすることで現実世界という共通認識を利用して
実現したいものをわかりやすく表現することができる。
824デフォルトの名無しさん
2017/06/18(日) 06:41:42.42ID:qrBB1bp9 雲をつかむような話でわからん
具体例かいてくれ
具体例かいてくれ
825デフォルトの名無しさん
2017/06/18(日) 06:56:57.61ID:pnvlJ80w あくまでモデルであり振る舞いをシミュレートしてるだけ
826デフォルトの名無しさん
2017/06/18(日) 06:57:50.55ID:ECvs/sM3 ドア本体とそれに付属するノブの状態(「開閉」と「回す、離す」)、
ノブに付属するラッチ(固定具)の状態(ノブの回転に応じて引っ込む)
をオブジェクト指向でモデリングしてみてよ
オートクローザーやドアストッパーが設置されることも加味しつつ
ノブに付属するラッチ(固定具)の状態(ノブの回転に応じて引っ込む)
をオブジェクト指向でモデリングしてみてよ
オートクローザーやドアストッパーが設置されることも加味しつつ
827デフォルトの名無しさん
2017/06/18(日) 07:37:54.80ID:ZkAshefq 「たたかえ」送ってないのに勝手に雑な戦いを始めたがる「ばか」たち
828デフォルトの名無しさん
2017/06/18(日) 07:37:54.40ID:pnvlJ80w 勘違いの典型
829デフォルトの名無しさん
2017/06/18(日) 07:53:36.83ID:/PaBW9c2 現実世界とか言い出すといくらでも後出し要件が出てくる。
「でも現実を見てみなよ」って。
モデリング終わりがなくなってしまうわけだ。
そういうバカには5000兆円の見積書でも送りつけてやればいい。
「でも現実を見てみなよ」って。
モデリング終わりがなくなってしまうわけだ。
そういうバカには5000兆円の見積書でも送りつけてやればいい。
830デフォルトの名無しさん
2017/06/18(日) 08:07:11.57ID:pnvlJ80w 物事を分類整理するための手法なのだから管理する要件でない不用な要素は極力排除しないとな
831デフォルトの名無しさん
2017/06/18(日) 09:07:26.63ID:GpgbwXNc 相互作用という物理では当たり前の考え方を
理解できない文系のためのモデリング
それがオブジェクト指向
理解できない文系のためのモデリング
それがオブジェクト指向
832デフォルトの名無しさん
2017/06/18(日) 11:56:10.30ID:dLIsPmeH833デフォルトの名無しさん
2017/06/18(日) 13:56:58.20ID:/PaBW9c2 文系って言い方はあれだけど、物理法則を因果関係的に捉えてるのかもな。
あれがこうしたらこれがこうなる、みたいに。
あれがこうしたらこれがこうなる、みたいに。
834デフォルトの名無しさん
2017/06/18(日) 14:23:38.73ID:ZkAshefq 理系って言い方はあれだけど、物理法則を因果何的に捉えてるの?
835理系
2017/06/18(日) 14:27:11.50ID:GE9zkfwM >>834
因果応報。
因果応報。
836デフォルトの名無しさん
2017/06/18(日) 14:30:00.44ID:dLIsPmeH 人間って何歳の頃から、現実世界を
オブジェクト指向として認識するのだろうか?
同じ人間であっても自分の母親と他人の母親は別だって
理解できるし、人間と動物の区別もついているだろう。
そして、犬はワンワン、猫はニャーニャーって鳴くことを
理解するだろう。
人間の認識とはかくもオブジェクト指向であるものだろうか
オブジェクト指向として認識するのだろうか?
同じ人間であっても自分の母親と他人の母親は別だって
理解できるし、人間と動物の区別もついているだろう。
そして、犬はワンワン、猫はニャーニャーって鳴くことを
理解するだろう。
人間の認識とはかくもオブジェクト指向であるものだろうか
837デフォルトの名無しさん
2017/06/18(日) 15:46:42.41ID:dGQ95y/Y 因果何的?
838デフォルトの名無しさん
2017/06/18(日) 19:18:13.12ID:M+qF4ayC >>832
ゲームのドアなんぞ開く閉じるの状態と、開く条件(鍵とか)ぐらいだろ。
んで、自動ドア制御とかだとセンサーから信号が来た時だけ開いて、数秒したら閉じれば良い。
人が通った時の赤外線センサーか、人が挟まった時の圧力センサーかはプログラムは知る必要無い。
これらに共通のドアクラスなんぞ作って何か共通点があるの?
ゲームのドアなんぞ開く閉じるの状態と、開く条件(鍵とか)ぐらいだろ。
んで、自動ドア制御とかだとセンサーから信号が来た時だけ開いて、数秒したら閉じれば良い。
人が通った時の赤外線センサーか、人が挟まった時の圧力センサーかはプログラムは知る必要無い。
これらに共通のドアクラスなんぞ作って何か共通点があるの?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★12 [蚤の市★]
- 中国の渡航自粛要請1カ月 大阪の観光バス予約ゼロ、東北にも波及 [蚤の市★]
- 【神戸】エレベーター「かご」なく男性医師が転落死 大手「三菱電機ビルソリューションズ」の担当者、安全装置切り放置か [ぐれ★]
- 【日本人の旅行離れ】国内旅行すら行けなくなった……オーバーツーリズムだけじゃない 旅行者減少の異常事態 [ぐれ★]
- 不倫疑惑の永野芽郁さん、CM削除ドミノの違約金“やはり発生は免れない”可能性 約10億円になる見込み、本人は全額支払う覚悟 [牛丼★]
- 女性天皇「賛成」69%、将来の皇位継承「不安」68%…読売世論調査 [蚤の市★]
- かめはめ波打って仕事行く(5連続成功中)
- 高市、メガソーラー廃止。環境破壊が社会問題化 [792147417]
- 他人のリクエストで自分の癖と異なる絵を上げる絵師いるじゃん?
- 日本人がホルホルの対象にしている生物、海外にも生息すると判明 [603416639]
- 【悲報】フィギュアオタク「2月に結婚予定だった彼女にフラれた。ドラゴンボールのフィギュアも式で飾ろうと話してたのになぜ…」 [802034645]
- 職業訓練行ってるんだけど月13日しか行かないのに毎月18万貰えてる
