オブジェクト指向について、調べれば調べるほど疑問が募ります。低レベルで粗末な疑問かも知れませんが、ご教授願いたいです。
・データと振る舞いをまとめる?
まとめると何か良いことあるの?
ファイルあるいはモジュールにはまとまってるよね?
丁度いい単位があるのに、何故わざわざオブジェクトという概念を導入するの?
(Javaには1ファイル1クラスという文化あるらしいけど)
・カプセル化?
モジュールのimport, exportでも実現出来るよね?
(構造体などへのアクセスを制限できれば)
・ポリモーフィズム?
別にデータと振る舞いをまとめなくても実現出来るよね?
・モノのように扱いたい?
モノとして扱いたいときに扱えば良くない? なんでわざわざ全てをオブジェクトにするの?
探検
オブジェクト指向を教えてくれ!
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2021/03/16(火) 17:06:02.41ID:VhqTt8972021/03/17(水) 23:32:19.12ID:qYxHg6u4
>>78
>不毛な議論続けるよりマシか?)
当たり前だ
話に具体性がないせいで全ての議論が空転して
結論も出ようが無いのに
その程度のこともなかなか察しない奴だから
ハッキリ言って馬鹿だと思われてると思うよ
大体、モダンな言語は関数型言語の機能も大体持ってて
あからさまに関数型インターフェースの方が良い類のライブラリは普通にそのように書かれるようになっている
一体、既存のどんな例を、お前のどんな案で置き換えて
どのように良くなると言いたいのか
具体的な例を出せや
どうせデメリットの指摘が普通に来るから
具体的にやってみろ
クソみたいに単純な処理が山ほどあって
一部だけ異様に複雑でコロコロ仕様が変わったりする業務プログラムを
HaskellでC#より簡潔に書けるもんなら書いてみろと言いたい
>不毛な議論続けるよりマシか?)
当たり前だ
話に具体性がないせいで全ての議論が空転して
結論も出ようが無いのに
その程度のこともなかなか察しない奴だから
ハッキリ言って馬鹿だと思われてると思うよ
大体、モダンな言語は関数型言語の機能も大体持ってて
あからさまに関数型インターフェースの方が良い類のライブラリは普通にそのように書かれるようになっている
一体、既存のどんな例を、お前のどんな案で置き換えて
どのように良くなると言いたいのか
具体的な例を出せや
どうせデメリットの指摘が普通に来るから
具体的にやってみろ
クソみたいに単純な処理が山ほどあって
一部だけ異様に複雑でコロコロ仕様が変わったりする業務プログラムを
HaskellでC#より簡潔に書けるもんなら書いてみろと言いたい
2021/03/17(水) 23:33:56.42ID:RafGGBEE
よりシンプルに実装可能…?
2021/03/18(木) 00:01:53.12ID:3Mu6ecqi
>>81
UserだけじゃなくPCやスマホ、DogやCatも含まれてるコレクションからそれぞれの名前のリストを出力出来るようにしてよ
UserだけじゃなくPCやスマホ、DogやCatも含まれてるコレクションからそれぞれの名前のリストを出力出来るようにしてよ
85デフォルトの名無しさん
2021/03/18(木) 00:22:09.40ID:HNsscfeE >>84
この言語だと継承できないんですけど、ポリモーフィズムだけ実現できればいい?
この言語だと継承できないんですけど、ポリモーフィズムだけ実現できればいい?
2021/03/18(木) 00:34:00.80ID:va0p8VYb
>>81
これこそ関数型で書くメリットが何一つアピール出来ない例じゃないか
少しは多数派より優れた点を示せ
既存の慣習に挑戦しようとしてんじゃねーのかよ
例えばC#でどれだけ簡潔にプロパティ書けるか知ってたらこんな例は出さないだろ
プロパティだってポリモーフィックに出来るんだぞ
これが30個の項目のアクセサを持つ報告書だったらどうなるか想像しろ
しかも一部のプロパティはネストしたプロパティを持つ別のオブジェクトのリストだったりとかザラだぞ
get_ageがそんなアクセサの一つだったら
使う側が探すだけでもダルいだろう
これこそ関数型で書くメリットが何一つアピール出来ない例じゃないか
少しは多数派より優れた点を示せ
既存の慣習に挑戦しようとしてんじゃねーのかよ
例えばC#でどれだけ簡潔にプロパティ書けるか知ってたらこんな例は出さないだろ
プロパティだってポリモーフィックに出来るんだぞ
これが30個の項目のアクセサを持つ報告書だったらどうなるか想像しろ
しかも一部のプロパティはネストしたプロパティを持つ別のオブジェクトのリストだったりとかザラだぞ
get_ageがそんなアクセサの一つだったら
使う側が探すだけでもダルいだろう
2021/03/18(木) 00:49:00.76ID:8EvgcXN4
簡単に言うと片付けの方法だよオーディオ関係のクラスには音を司る物をビデオ関係のクラスには絵を司る物を入れとけ混ぜるなよってこと
それらの自前ライブラリを設計できる上級者に向けた指針なわけよ読んで理解できない初心者には完全理解なんて不要
まずは全部入れたカタマリで好きなもの作れるようになれリサイクルしたくなって分別始めたらそれがオブジェクト指向の始まり
それらの自前ライブラリを設計できる上級者に向けた指針なわけよ読んで理解できない初心者には完全理解なんて不要
まずは全部入れたカタマリで好きなもの作れるようになれリサイクルしたくなって分別始めたらそれがオブジェクト指向の始まり
88デフォルトの名無しさん
2021/03/18(木) 01:03:22.71ID:HNsscfeE >>86
コードが上手くかけてないのはすまん。オブジェクト指向のメリットを知らないくらいには経験がないんだ。あとカプセル化が可能であることを示すのが目的だったんだよ。関数型言語の優位性を示したかった訳ではない。
なんで、オブジェクト指向に挑戦してると思い込んでるのか?
別に挑戦してるわけではなくメリットを知らないから、このスレ立てて聞いてるんよ。
C#だとプロパティもポリモーフィズムができるのか知らなかった。現状それもオブジェクト指向するメリットですね。
コードが上手くかけてないのはすまん。オブジェクト指向のメリットを知らないくらいには経験がないんだ。あとカプセル化が可能であることを示すのが目的だったんだよ。関数型言語の優位性を示したかった訳ではない。
なんで、オブジェクト指向に挑戦してると思い込んでるのか?
別に挑戦してるわけではなくメリットを知らないから、このスレ立てて聞いてるんよ。
C#だとプロパティもポリモーフィズムができるのか知らなかった。現状それもオブジェクト指向するメリットですね。
89デフォルトの名無しさん
2021/03/18(木) 01:12:42.28ID:HNsscfeE >>87
質問なんですが、
○○するためのモジュールはこれ。
○○を操作するためのモジュールはこれ。
これだとダメなんでしょうか?
「まずは全部入れたカタマリで好きなもの作れるようになれリサイクルしたくなって分別始めたらそれがオブジェクト指向の始まり」分かりました。これ試しながらプログラム書いてみます。
質問なんですが、
○○するためのモジュールはこれ。
○○を操作するためのモジュールはこれ。
これだとダメなんでしょうか?
「まずは全部入れたカタマリで好きなもの作れるようになれリサイクルしたくなって分別始めたらそれがオブジェクト指向の始まり」分かりました。これ試しながらプログラム書いてみます。
2021/03/18(木) 01:22:59.14ID:Ao1KNBsY
>>80
>>1の最後の「モノとして扱いたい」という考え方したいということで間違ってないですか?
プログラマーが「モノとして扱いたい」 ではなくて
人間が「モノとして扱いたい」ということ
https://www2.nhk.or.jp/archives/tv60bin/detail/index.cgi?das_id=D0009050226_00000
> 科学者たちは「あらゆる自然現象は、最終的には一つの数式で説明できるはずだ」と信じてきたのだ。
↑このように「専門家」は、どうにか頑張って数式で表したいと考えるが
専門家じゃない人にとってはそうじゃないんだよ
プログラミングは最初から専門家が使う道具として登場したから
非オブジェクト指向の方が先に作られたが、
本来オブジェクト指向 と 非オブジェクト指向であれば
人としてわかりやすいのはオブジェクト指向の方で
専門家が頑張って表現しようとしてるのは逆に手続き型や関数型の方なんだよ
>>1の最後の「モノとして扱いたい」という考え方したいということで間違ってないですか?
プログラマーが「モノとして扱いたい」 ではなくて
人間が「モノとして扱いたい」ということ
https://www2.nhk.or.jp/archives/tv60bin/detail/index.cgi?das_id=D0009050226_00000
> 科学者たちは「あらゆる自然現象は、最終的には一つの数式で説明できるはずだ」と信じてきたのだ。
↑このように「専門家」は、どうにか頑張って数式で表したいと考えるが
専門家じゃない人にとってはそうじゃないんだよ
プログラミングは最初から専門家が使う道具として登場したから
非オブジェクト指向の方が先に作られたが、
本来オブジェクト指向 と 非オブジェクト指向であれば
人としてわかりやすいのはオブジェクト指向の方で
専門家が頑張って表現しようとしてるのは逆に手続き型や関数型の方なんだよ
91デフォルトの名無しさん
2021/03/18(木) 01:34:17.74ID:HNsscfeE >>90
「プログラマーがモノとして扱いたい」なら扱いたいときだけ扱えばいいが、「人間としてデータをモノとして扱いたい」のだから、常にモノとして扱いたいのだ。ということでしょうか?
「プログラマーがモノとして扱いたい」なら扱いたいときだけ扱えばいいが、「人間としてデータをモノとして扱いたい」のだから、常にモノとして扱いたいのだ。ということでしょうか?
2021/03/18(木) 01:43:22.24ID:Ao1KNBsY
93デフォルトの名無しさん
2021/03/18(木) 02:41:52.32ID:No83I3zq2021/03/18(木) 04:15:54.44ID:Ao1KNBsY
オーディオファイル再生クラスからビデオ再生クラス作るだと
継承して作るみたいに思えてしまうな
実際はオーディオファイル再生クラスから共通のメディア再生のインターフェースや共通機能を
独立させて、オーディオとビデオの共通クラスからの継承として作るのが正しいだろう
そして直接オーディオやビデオを再生するのではなく
コンテナクラスを作って、そこに複数のメディアを入れられるようにするだろうな
継承して作るみたいに思えてしまうな
実際はオーディオファイル再生クラスから共通のメディア再生のインターフェースや共通機能を
独立させて、オーディオとビデオの共通クラスからの継承として作るのが正しいだろう
そして直接オーディオやビデオを再生するのではなく
コンテナクラスを作って、そこに複数のメディアを入れられるようにするだろうな
2021/03/18(木) 11:08:27.95ID:1EJu4W7O
一番大きい恩恵は、モデル化によるメモリ空間を管理を丸投げできる
2021/03/18(木) 12:49:39.45ID:va0p8VYb
1が何をしたいのかさっぱり不明
どうにかしろ
大方、具体的な言語から離れてオブジェクト指向について
抽象的な戯言ばかり書いてる本や記事ばかり読んでるから
いくら調べても分からないんだろ
それぞれの言語の設計思想に則った
まともな書き方があるだけだ
なんでオブジェクト指向でないといけないのか?
なんて戯言はC#の入門書(オライリーの分厚いやつ)でも
ガッツリ読んでから言え
スタティックメソッドとして実装するのが適切な処理なら普通にそうしろ
普通にまともにやれ
どうにかしろ
大方、具体的な言語から離れてオブジェクト指向について
抽象的な戯言ばかり書いてる本や記事ばかり読んでるから
いくら調べても分からないんだろ
それぞれの言語の設計思想に則った
まともな書き方があるだけだ
なんでオブジェクト指向でないといけないのか?
なんて戯言はC#の入門書(オライリーの分厚いやつ)でも
ガッツリ読んでから言え
スタティックメソッドとして実装するのが適切な処理なら普通にそうしろ
普通にまともにやれ
97デフォルトの名無しさん
2021/03/18(木) 12:55:29.12ID:XuMuuNkH >>96
なんか君だけ空回ってるよ、肩の力抜きなよ
なんか君だけ空回ってるよ、肩の力抜きなよ
98デフォルトの名無しさん
2021/03/18(木) 13:03:12.04ID:XuMuuNkH オブジェクト指向で作りやすいと思うのはデータ構造かな
リストとかスタックとか、手続き型でもオブジェクト指向のように
記述することはできるので、手続き型でも良いといえば良いけど
データと処理をセットにしてオブジェクトとして抽象化するとデータ構造を
うまく表現できて、そのデータ構造を使ってプログラム書くのが僕は好き
リストとかスタックとか、手続き型でもオブジェクト指向のように
記述することはできるので、手続き型でも良いといえば良いけど
データと処理をセットにしてオブジェクトとして抽象化するとデータ構造を
うまく表現できて、そのデータ構造を使ってプログラム書くのが僕は好き
99デフォルトの名無しさん
2021/03/18(木) 13:04:48.98ID:No83I3zq >>94
たしかObjective-Cのドキュメントで「継承じゃなくてコンポジット大事。」な例で扱われてたかな。
基礎クラスNSObjectベースにオーディオ再生クラス乗せて、外に再生関係のインターフェイス出して
中で動画ファイル来た場合の処理書いて…はい!マルチメディアクラスができました!これがオブジェクト指向です。
って感じの。
たしかObjective-Cのドキュメントで「継承じゃなくてコンポジット大事。」な例で扱われてたかな。
基礎クラスNSObjectベースにオーディオ再生クラス乗せて、外に再生関係のインターフェイス出して
中で動画ファイル来た場合の処理書いて…はい!マルチメディアクラスができました!これがオブジェクト指向です。
って感じの。
100デフォルトの名無しさん
2021/03/18(木) 14:42:05.24ID:va0p8VYb >>97
お前も不毛なこと書いてる癖に
手続き型言語…というより単なる旧式言語で
結局オブジェクト指向と同じことする方法を今更話して何になるんだよ
せめて関数型言語でのやり方と比較しろよ
1が目的不明だからみんな思い思いに目的不明な議論してるだけだろ
不毛だな
お前も不毛なこと書いてる癖に
手続き型言語…というより単なる旧式言語で
結局オブジェクト指向と同じことする方法を今更話して何になるんだよ
せめて関数型言語でのやり方と比較しろよ
1が目的不明だからみんな思い思いに目的不明な議論してるだけだろ
不毛だな
101デフォルトの名無しさん
2021/03/18(木) 15:00:48.46ID:HfXxQmPX Cで充分です
・データと振る舞いをまとめる?
まとめると何か良いことあるの?
構造体にまとまってるよね?
丁度いい単位があるのに、何故わざわざオブジェクトという概念を導入するの?
・カプセル化?
ファイルとstatic, externで実現出来るよね?
・ポリモーフィズム?
別にデータと振る舞いをまとめなくても実現出来るよね?
・モノのように扱いたい?
FILE * で出来てるやん?
・データと振る舞いをまとめる?
まとめると何か良いことあるの?
構造体にまとまってるよね?
丁度いい単位があるのに、何故わざわざオブジェクトという概念を導入するの?
・カプセル化?
ファイルとstatic, externで実現出来るよね?
・ポリモーフィズム?
別にデータと振る舞いをまとめなくても実現出来るよね?
・モノのように扱いたい?
FILE * で出来てるやん?
102デフォルトの名無しさん
2021/03/18(木) 15:06:07.96ID:27UgiFQp Object Oriented Programming is an expensive disaster which must end
https://medium.com/@jacobfriedman/object-oriented-programming-is-an-expensive-disaster-which-must-end-2cbf3ea4f89d#:~:text=Object%20Oriented%20Programming%20is%20an%20expensive%20disaster%20which%20must%20end,-Jacob%20Bernard%20Friedman&text=And%20this%20is%20my%20experience,it%20is%20dismissed%20as%20irrelevant.
「オブジェクト指向プログラミングは費用のかかる災害であり、終わらせなければなりません」
長いけどよみごたえあるOOP批判
https://medium.com/@jacobfriedman/object-oriented-programming-is-an-expensive-disaster-which-must-end-2cbf3ea4f89d#:~:text=Object%20Oriented%20Programming%20is%20an%20expensive%20disaster%20which%20must%20end,-Jacob%20Bernard%20Friedman&text=And%20this%20is%20my%20experience,it%20is%20dismissed%20as%20irrelevant.
「オブジェクト指向プログラミングは費用のかかる災害であり、終わらせなければなりません」
長いけどよみごたえあるOOP批判
103デフォルトの名無しさん
2021/03/18(木) 15:07:22.97ID:27UgiFQp104デフォルトの名無しさん
2021/03/18(木) 15:08:30.36ID:No83I3zq そら「別に電気製品をプラグアンドプレイにしなくても
毎回電源落として各自が自分で電線を半田付けすればできるよね!」って言われりゃそうだが
まあ、あたまおかしいだろおまえ。としか
毎回電源落として各自が自分で電線を半田付けすればできるよね!」って言われりゃそうだが
まあ、あたまおかしいだろおまえ。としか
105デフォルトの名無しさん
2021/03/18(木) 15:40:42.68ID:XuMuuNkH >>100
不毛だと思って書き込んでるあなたの心はハゲてるよ
不毛だと思って書き込んでるあなたの心はハゲてるよ
106デフォルトの名無しさん
2021/03/18(木) 15:51:54.17ID:XuMuuNkH >>101
オブジェクトという概念によってデータと処理をひとまとめにして整理できますよ
構造体にまとまってるのはデータだけですよね、構造体のデータを操作する
関数があるでしょうけどデータと関数をセットにするととても便利ですね、つまりオブジェクト指向爆誕なわけです
オブジェクトという概念によってデータと処理をひとまとめにして整理できますよ
構造体にまとまってるのはデータだけですよね、構造体のデータを操作する
関数があるでしょうけどデータと関数をセットにするととても便利ですね、つまりオブジェクト指向爆誕なわけです
107デフォルトの名無しさん
2021/03/18(木) 15:55:23.46ID:XuMuuNkH djbのqmailのソースコードとか
linusのgitのソースコードとか
C言語だけれどもオブジェクト指向だよね
linusのgitのソースコードとか
C言語だけれどもオブジェクト指向だよね
108デフォルトの名無しさん
2021/03/18(木) 15:58:21.42ID:XuMuuNkH データと関数を整理してオブジェクトにまとめる、オブジェクト指向とはソースコードの整理術
109デフォルトの名無しさん
2021/03/18(木) 15:59:58.30ID:XuMuuNkH モジュールもモジュールオブジェクトという一つのオブジェクトなんですよ
110デフォルトの名無しさん
2021/03/18(木) 18:19:00.98ID:sGOAhrfQ モノとして扱いたいって言ってる人は
何をモノとして扱いたいの?
主語も目的語もなくちょっと意味が分かんない
何をモノとして扱いたいの?
主語も目的語もなくちょっと意味が分かんない
111デフォルトの名無しさん
2021/03/18(木) 19:19:21.01ID:MDhAFIuw 関数ポインタよりも関数を無理なく渡せるってだけだぞ。
まあ最近はクロージャーのが使われる傾向にあるけど。
まあ最近はクロージャーのが使われる傾向にあるけど。
112デフォルトの名無しさん
2021/03/18(木) 19:50:17.88ID:Q7UDeOqS そーいや、c++は昔。
classはstructで定義した時代があったね。
classはstructで定義した時代があったね。
113デフォルトの名無しさん
2021/03/18(木) 20:08:35.80ID:koa9BEGM ところで「チンポがシコシコする」という日本語表現は、学術的に正しいと言えるのか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、自ら勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、自ら勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
114デフォルトの名無しさん
2021/03/18(木) 20:10:54.72ID:koa9BEGM オブジェクト同士は常に二人称で、「俺」←対話(メッセージング)→「チンポ」。
つまりチンポは独立し自ら考えて行動する別の生き物なのである。
この考え方に至ってからは、オブジェクト指向の理解もすんなり進みました。
上手くオブジェクトを定義して、上手く会話させてやるのがオブジェクト指向
での設計なんだなーと今でも思っています。
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
115デフォルトの名無しさん
2021/03/18(木) 20:18:40.59ID:SuebiFEo 『シコシコ』という擬音はどうでもよい。問題は、
自我 チンポ
↑ ↑ チンポ=自我
チンポ 自我
オブジェクト指向では、この三種類が考えられるということだ。
>チンポ=自我
散歩している時、自分もチンポも所在地は同一である。
https://i.imgur.com/4XhBmP3.jpg
https://i.imgur.com/PPFJZqI.jpg
夏目くんの場合は、チンポが自我を圧倒し、体が自然に滝川さんの股間に近づいていったのだ。
『笑ってごまかすな!!』
と言われても、夏目くんは何と言えば良かったのだろう?
チンポ≫自我
『チンポが自我を超えてしまった』を簡略化して、チンポがシコシコする!
チンポがシコシコしていると(チンポが自我を超越していると)、息もハァハァになる。
チンポがシコシコしている(チンポが自我を超越している)と、顔もアヘ顔になる。
つまりその顔は『チンポの一部』つまりチンポの皮と同じということ。
博士号の肩書きがあっても、STAP細胞のそれは間違いであり科学者として失格。
チンポと自我の関係について、それが間違いということなら、俺も科学者を自称するのを止めよう。
しかしながらあの夏目くんは、笑ってごまかす以外に何と申し上げたら良かったのか。
自我 チンポ
↑ ↑ チンポ=自我
チンポ 自我
オブジェクト指向では、この三種類が考えられるということだ。
>チンポ=自我
散歩している時、自分もチンポも所在地は同一である。
https://i.imgur.com/4XhBmP3.jpg
https://i.imgur.com/PPFJZqI.jpg
夏目くんの場合は、チンポが自我を圧倒し、体が自然に滝川さんの股間に近づいていったのだ。
『笑ってごまかすな!!』
と言われても、夏目くんは何と言えば良かったのだろう?
チンポ≫自我
『チンポが自我を超えてしまった』を簡略化して、チンポがシコシコする!
チンポがシコシコしていると(チンポが自我を超越していると)、息もハァハァになる。
チンポがシコシコしている(チンポが自我を超越している)と、顔もアヘ顔になる。
つまりその顔は『チンポの一部』つまりチンポの皮と同じということ。
博士号の肩書きがあっても、STAP細胞のそれは間違いであり科学者として失格。
チンポと自我の関係について、それが間違いということなら、俺も科学者を自称するのを止めよう。
しかしながらあの夏目くんは、笑ってごまかす以外に何と申し上げたら良かったのか。
116デフォルトの名無しさん
2021/03/18(木) 20:25:47.37ID:OSHLbicz117デフォルトの名無しさん
2021/03/18(木) 20:28:13.34ID:koa9BEGM 928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
118デフォルトの名無しさん
2021/03/18(木) 20:34:29.65ID:koa9BEGM >>115
おしっこの時のチンポは随意筋、勃起の時のチンポは不随意筋、これが「オブジェクトの独立性」。
おしっこの時のチンポは随意筋、勃起の時のチンポは不随意筋、これが「オブジェクトの独立性」。
119デフォルトの名無しさん
2021/03/18(木) 20:41:26.79ID:koa9BEGM チンポが勃起したり射精したりする自然現象は、「数式」ではどうにもならんぞ?
92 デフォルトの名無しさん [sage] 2021/03/18(木) 01:43:22.24 ID:Ao1KNBsY
>>91
「あらゆる自然現象は、最終的には一つの数式で説明できるはずだ」と考えてる科学者でも
話をする時は自然言語を使うのと同じこと
92 デフォルトの名無しさん [sage] 2021/03/18(木) 01:43:22.24 ID:Ao1KNBsY
>>91
「あらゆる自然現象は、最終的には一つの数式で説明できるはずだ」と考えてる科学者でも
話をする時は自然言語を使うのと同じこと
120デフォルトの名無しさん
2021/03/18(木) 20:43:44.01ID:koa9BEGM クリントン大統領の「不適切」というのは、チンポが独立して主体意思でシコシコしてしまったから。
チンポは独立した生き物であり、アメリカ大統領の権限をもってしても、制御することは不可能だ。
クリントンの「不適切な関係」
https://eigo-kobako.blog.so-net.ne.jp/2008-06-21
不適切な関係、そんな言語表現あるのか?
ちんぽがしこしこしてしまったのが、不適切な関係なのか?
チンポは独立した生き物であり、アメリカ大統領の権限をもってしても、制御することは不可能だ。
クリントンの「不適切な関係」
https://eigo-kobako.blog.so-net.ne.jp/2008-06-21
不適切な関係、そんな言語表現あるのか?
ちんぽがしこしこしてしまったのが、不適切な関係なのか?
121デフォルトの名無しさん
2021/03/18(木) 21:29:21.65ID:wqSEV4VX122デフォルトの名無しさん
2021/03/18(木) 23:19:54.35ID:1sWV2MVC >>120
あわしろ氏は、オブジェクトとチンポは無関係と言ってるぞ。
あわしろ氏は、オブジェクトとチンポは無関係と言ってるぞ。
123デフォルトの名無しさん
2021/03/18(木) 23:23:31.36ID:TebuVfaR 部品に例えられた
124デフォルトの名無しさん
2021/03/19(金) 06:58:20.75ID:UjV/RtqC いろんな起源があるけどsmalltalk系のベースの考え方は
プログラムモジュールを「独立したロボットのようなもの」として考える考え方で
これは大型コンピュータがネットワークで繋がって動いてる背景想定で
この場合、どの順番で結果が出るかは非同期的だし予想はできないから
モジュールに「これ頼むよ、はい」って命令と素材渡してあとは勝手にできてくるのを待つ
モジュールそのものに自分をコピーする命令があって
例えば「画面上にウィンドウを開く」モジュールがあったら
それを雛形に「おいおまえのこういう亜種を作れ」と命令すると
命令に従って新ウィンドウが開く。
いいじゃんそれ!とコンピュータサイエンス側では大絶賛だったけど
そこまでは要らないかな…ってエンジニアリング側の思想や技術的制約で
思想仕様をつまみ食いしていろんな言語コネ上げて現在に至る。
プログラムモジュールを「独立したロボットのようなもの」として考える考え方で
これは大型コンピュータがネットワークで繋がって動いてる背景想定で
この場合、どの順番で結果が出るかは非同期的だし予想はできないから
モジュールに「これ頼むよ、はい」って命令と素材渡してあとは勝手にできてくるのを待つ
モジュールそのものに自分をコピーする命令があって
例えば「画面上にウィンドウを開く」モジュールがあったら
それを雛形に「おいおまえのこういう亜種を作れ」と命令すると
命令に従って新ウィンドウが開く。
いいじゃんそれ!とコンピュータサイエンス側では大絶賛だったけど
そこまでは要らないかな…ってエンジニアリング側の思想や技術的制約で
思想仕様をつまみ食いしていろんな言語コネ上げて現在に至る。
125デフォルトの名無しさん
2021/03/19(金) 08:55:07.75ID:MkYE3X1+ データ構造とデータフローがしっかり設計されていると
プロセスフローが適切に動き出す
プロセスフローが適切に動き出す
126デフォルトの名無しさん
2021/03/19(金) 11:25:59.11ID:CuRSo4nW >>122
チンポが勃起したり射精したりするメカニズムは、いかなるオブジェクト指向言語をもってしても不可能。
チンポが勃起したり射精したりするメカニズムは、いかなるオブジェクト指向言語をもってしても不可能。
127デフォルトの名無しさん
2021/03/19(金) 12:13:53.83ID:GmtzzOvY いや?
チンコに別スレッドでイベントループ回して性的刺激イベントが来たら勃てば良いだけだが
チンコに別スレッドでイベントループ回して性的刺激イベントが来たら勃てば良いだけだが
128デフォルトの名無しさん
2021/03/19(金) 12:38:16.79ID:7QYaWD+G >>89
自分で作ったものがモジュール化してリサイクルする価値のあるものになってきたら
カタマリから切り出す事が出来る好きにやればいいさ
何本か作ればここをモジュール化したら便利だなとか見えてくる
オブジェクト指向が思考の中心に有っちゃだめなんだよ頭の片隅にある程度でいい
自分で作ったものがモジュール化してリサイクルする価値のあるものになってきたら
カタマリから切り出す事が出来る好きにやればいいさ
何本か作ればここをモジュール化したら便利だなとか見えてくる
オブジェクト指向が思考の中心に有っちゃだめなんだよ頭の片隅にある程度でいい
129デフォルトの名無しさん
2021/03/19(金) 12:53:19.14ID:8Q0/9bhg >>85
目的と手段を履き違えてる
別にポリモーフィズムで実現しなくてもいい
その場合は変更に対して弱くなるというだけ
ポリモーフィズムでやりたいならジェネリクスでもTraitオブジェクトでもimpl Traitでも構わないがそれぞれメリットとデメリットがある
継承もそれらと同じでメリット・デメリットがある
まずはそれを理解すること
次に状況に応じて適切な選択ができる力を身につけること
目的と手段を履き違えてる
別にポリモーフィズムで実現しなくてもいい
その場合は変更に対して弱くなるというだけ
ポリモーフィズムでやりたいならジェネリクスでもTraitオブジェクトでもimpl Traitでも構わないがそれぞれメリットとデメリットがある
継承もそれらと同じでメリット・デメリットがある
まずはそれを理解すること
次に状況に応じて適切な選択ができる力を身につけること
130デフォルトの名無しさん
2021/03/19(金) 12:57:03.86ID:7QYaWD+G >>93
AVクラスにまとめて便利ならいいんじゃない
AVクラスにまとめて便利ならいいんじゃない
131デフォルトの名無しさん
2021/03/19(金) 13:33:14.14ID:kf2p0gMa あらゆるメソッドを詰め込んだ神クラスを作ります
132デフォルトの名無しさん
2021/03/19(金) 14:54:37.42ID:ZwQV5hpU 結局のところ、目的は関数の呼び出し側と呼ばれる側の依存関係を逆にしたいってところなんだよ。
それをバカがどこまでも無駄に適用範囲を広げてわかりにくくしたっていうところ。
それをバカがどこまでも無駄に適用範囲を広げてわかりにくくしたっていうところ。
133デフォルトの名無しさん
2021/03/19(金) 17:13:06.19ID:prgkhYTe >>132
それは関数の受け渡しができればいいだけなのでオブジェクト指向とは関係ないやろ
それは関数の受け渡しができればいいだけなのでオブジェクト指向とは関係ないやろ
134デフォルトの名無しさん
2021/03/19(金) 18:13:21.05ID:mnFdHosS staticおじさんという用語あるやん
あれってさ
議論に負けそうになった側の人間がよくやるやつに見えてきたな
論点じゃなくて相手の人格ごとケチつけようとレッテル張り始めるやつ
つまりstaticおじさんと言う用語に頼った時点でもう負けてんだね
あれってさ
議論に負けそうになった側の人間がよくやるやつに見えてきたな
論点じゃなくて相手の人格ごとケチつけようとレッテル張り始めるやつ
つまりstaticおじさんと言う用語に頼った時点でもう負けてんだね
135デフォルトの名無しさん
2021/03/19(金) 18:27:45.62ID:AFuTfpel staticおじさんが急に予防線張り出したwww
136デフォルトの名無しさん
2021/03/19(金) 18:35:09.75ID:zfX0YSnj staticを理由も無く多用する奴って実際理解していないという意味だしねw
137デフォルトの名無しさん
2021/03/19(金) 18:41:18.39ID:AYbRm47O 議論を勝ち負けで判断してる時点でstaticおじさんの素質あり
138デフォルトの名無しさん
2021/03/19(金) 18:51:56.07ID:FeUkda/f 勝ち負けに拘らないなんて奴は
こんなクソスレに何しにしてるんだ?
バトルをしに来てんじゃねーのかよ
こんなクソスレに何しにしてるんだ?
バトルをしに来てんじゃねーのかよ
139デフォルトの名無しさん
2021/03/19(金) 19:36:48.79ID:ZpeY8wVS >>134
それには僕も同意します
それには僕も同意します
140デフォルトの名無しさん
2021/03/20(土) 02:17:44.90ID:+o6sxQZ6 オブジェクト指向が本当に「自然な」モデリング手法であったならこんな疑問は出てこず誰でも「自然に」理解して使えているはず。
結局オブジェクト指向が解決する問題とやらはオブジェクト指向を使うことによって産み出される問題なのだ。
とんだマッチポンプである。
結局オブジェクト指向が解決する問題とやらはオブジェクト指向を使うことによって産み出される問題なのだ。
とんだマッチポンプである。
141デフォルトの名無しさん
2021/03/20(土) 02:37:42.57ID:aAnJLG0Q 人間は自然に言葉を話し、自然に考えるが
言語学や哲学があるのと一緒
人間は自然に物事を考えてるがそれを曖昧さが許されない
コンピュータ上で表現しようとすると体系化が必要になる
言語学や哲学があるのと一緒
人間は自然に物事を考えてるがそれを曖昧さが許されない
コンピュータ上で表現しようとすると体系化が必要になる
142デフォルトの名無しさん
2021/03/20(土) 06:52:48.05ID:1uyV6M03 >>1
オブジェクト指向とは元々アラン・ケイが提案したようにオブジェクトが他のオブジェクトにメッセージングをすることに本質があるわけよ
その実装のために各オブジェクトがどういうメッセージングを受け取るか発するかを定義する方法としてクラスベースやプロトタイプベースがあるわけ
そこを間違えて最初にクラスを出発点にしちゃったりクラスを唯一の必須事項だと勘違いしてしまうと本質を見失う
つまりオブジェクト間はメッセージングによってのみ相互作用が可能であり
オブジェクト内部がどうなっているかは見えないし知る必要もないのがオブジェクト指向
それを実現するために各プログラミング言語によって表現方法や実装方法が様々に異なるだけ
この最初に提案されたオブジェクト指向の考えをきちんと理解できれば
あなたが疑問は解けるはず
実装方法の一つに過ぎないクラスとかに囚われるダメな人にはならないように
オブジェクト指向とは元々アラン・ケイが提案したようにオブジェクトが他のオブジェクトにメッセージングをすることに本質があるわけよ
その実装のために各オブジェクトがどういうメッセージングを受け取るか発するかを定義する方法としてクラスベースやプロトタイプベースがあるわけ
そこを間違えて最初にクラスを出発点にしちゃったりクラスを唯一の必須事項だと勘違いしてしまうと本質を見失う
つまりオブジェクト間はメッセージングによってのみ相互作用が可能であり
オブジェクト内部がどうなっているかは見えないし知る必要もないのがオブジェクト指向
それを実現するために各プログラミング言語によって表現方法や実装方法が様々に異なるだけ
この最初に提案されたオブジェクト指向の考えをきちんと理解できれば
あなたが疑問は解けるはず
実装方法の一つに過ぎないクラスとかに囚われるダメな人にはならないように
143デフォルトの名無しさん
2021/03/20(土) 08:00:59.81ID:aAnJLG0Q アラン・ケイはコロンブスと同じで、誰もやったことがない頃に
やったからすごいと言われてる。0から1を生み出すのは誰にでも出来ることではない
それに比べれば1から2、2から3にするのは簡単
だがゆっくりと技術は進化する。技術だけを見ればアラン・ケイの
オブジェクト指向よりも今のオブジェクト指向の方が実用的
一人の天才よりも多数の人の手によって改善された今のほうが優れてるんだ
いつまでも原始的な初期のオブジェクト指向にとらわれていては駄目だぞ
やったからすごいと言われてる。0から1を生み出すのは誰にでも出来ることではない
それに比べれば1から2、2から3にするのは簡単
だがゆっくりと技術は進化する。技術だけを見ればアラン・ケイの
オブジェクト指向よりも今のオブジェクト指向の方が実用的
一人の天才よりも多数の人の手によって改善された今のほうが優れてるんだ
いつまでも原始的な初期のオブジェクト指向にとらわれていては駄目だぞ
144デフォルトの名無しさん
2021/03/20(土) 08:19:08.05ID:CVxVjVQF それぞれのプログラムでデータを纏めたりしてそれが結果的にオブジェクトになったりするわけで
オブジェクト指向って聞いてこういうものだってって事ではないような
古いとか新しいとかオブジェクト指向が目的となってるのかな
オブジェクト指向って聞いてこういうものだってって事ではないような
古いとか新しいとかオブジェクト指向が目的となってるのかな
145デフォルトの名無しさん
2021/03/20(土) 10:06:45.20ID:swqMBZjM カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、
オブジェクトの実際の型を隠蔽したりすることをいう。
偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として
「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータに
アクセスできないと解決できない問題が出てきて、結果的にデスマーチに陥るというのである。
オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で
縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」
という概念はない。
https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、
オブジェクトの実際の型を隠蔽したりすることをいう。
偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として
「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータに
アクセスできないと解決できない問題が出てきて、結果的にデスマーチに陥るというのである。
オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で
縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」
という概念はない。
https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96
146デフォルトの名無しさん
2021/03/20(土) 10:21:53.05ID:R72307UF >>141
チンポ【を】しこしこするのではなくて、チンポ【が】しこしこする!
チンポ【を】しこしこするのではなくて、チンポ【が】しこしこする!
147デフォルトの名無しさん
2021/03/20(土) 10:35:45.54ID:ct9wvzVp148デフォルトの名無しさん
2021/03/20(土) 11:13:47.08ID:YVZkTbgb149デフォルトの名無しさん
2021/03/20(土) 11:38:06.43ID:tGB0HigS サルでもわかるみたいな解説サイト見ると一般人向けに曖昧に書いてあるから余計イミフなんだよな
150デフォルトの名無しさん
2021/03/20(土) 11:40:05.73ID:vUNrx7r3 しにそう
151デフォルトの名無しさん
2021/03/20(土) 11:40:56.14ID:vUNrx7r3 rpcって最近聞かなくなったな
152デフォルトの名無しさん
2021/03/20(土) 11:46:11.22ID:ARQDcx4T154デフォルトの名無しさん
2021/03/20(土) 12:44:05.75ID:R72307UF >>153
チンポ【が】しこしこする、チンポは主語であり独立した主体存在である。
チンポ【が】しこしこする、チンポは主語であり独立した主体存在である。
155デフォルトの名無しさん
2021/03/20(土) 12:44:08.47ID:ebrbGMYs >>152
はい?
>目的は関数の呼び出し側と呼ばれる側の依存関係を逆にしたいってところなんだよ。
これがオブジェクト指向の目的だと主張してるんだよね?
型のキャストの有無に何の関係があるのかわからんが
ある型を引数として受け取る関数を
別の関数の引数や戻り値として受け渡しできればキャスト不要だよね?
オブジェクト指向関係ある?
オブジェク指向じゃなければCって前提なのかな?
はい?
>目的は関数の呼び出し側と呼ばれる側の依存関係を逆にしたいってところなんだよ。
これがオブジェクト指向の目的だと主張してるんだよね?
型のキャストの有無に何の関係があるのかわからんが
ある型を引数として受け取る関数を
別の関数の引数や戻り値として受け渡しできればキャスト不要だよね?
オブジェクト指向関係ある?
オブジェク指向じゃなければCって前提なのかな?
156デフォルトの名無しさん
2021/03/20(土) 12:44:37.50ID:ebrbGMYs >>151
gRPC
gRPC
157デフォルトの名無しさん
2021/03/20(土) 12:48:47.06ID:iZK7E0+o kindle unlimitedにある「オブジェクト指向でなぜつくるのか」を読めスッキリするから
158デフォルトの名無しさん
2021/03/20(土) 12:49:19.48ID:ebrbGMYs >>142
「オブジェクト指向を使うメリットって何?」って聞いてる相手に対して
>つまりオブジェクト間はメッセージングによってのみ相互作用が可能であり
>オブジェクト内部がどうなっているかは見えないし知る必要もないのがオブジェクト指向
こういう説明しかできないならオブジェクト指向を理解してないか
オブジェクト指向そのものにメリットないと言われても仕方がないなと思うぞ
「オブジェクト指向を使うメリットって何?」って聞いてる相手に対して
>つまりオブジェクト間はメッセージングによってのみ相互作用が可能であり
>オブジェクト内部がどうなっているかは見えないし知る必要もないのがオブジェクト指向
こういう説明しかできないならオブジェクト指向を理解してないか
オブジェクト指向そのものにメリットないと言われても仕方がないなと思うぞ
159デフォルトの名無しさん
2021/03/20(土) 12:53:18.27ID:R72307UF >>142
>つまりオブジェクト間はメッセージングによってのみ相互作用が可能であり
>オブジェクト内部がどうなっているかは見えないし知る必要もないのがオブジェクト指向
そして、トイレへ行き尿を出そうと思うと、脳が「出してよい」という信号を送ります。ここで副交感神経が
主にはたらき、尿道の筋肉がゆるみ、反対に膀胱の筋肉は締まって尿を押し出し、尿が排出されるのです。
健康な成人では、1回の排尿量は300ミリリットルほどで、約30秒で膀胱が空っぽになるのが普通です。
https://www.hainyou.com/sp/m/mechanism/
>つまりオブジェクト間はメッセージングによってのみ相互作用が可能であり
>オブジェクト内部がどうなっているかは見えないし知る必要もないのがオブジェクト指向
そして、トイレへ行き尿を出そうと思うと、脳が「出してよい」という信号を送ります。ここで副交感神経が
主にはたらき、尿道の筋肉がゆるみ、反対に膀胱の筋肉は締まって尿を押し出し、尿が排出されるのです。
健康な成人では、1回の排尿量は300ミリリットルほどで、約30秒で膀胱が空っぽになるのが普通です。
https://www.hainyou.com/sp/m/mechanism/
160デフォルトの名無しさん
2021/03/20(土) 12:55:02.24ID:ebrbGMYs161デフォルトの名無しさん
2021/03/20(土) 12:58:39.45ID:tGB0HigS 教本丸暗記してるか初心者相手に言葉遊びしてるのかどのみち害悪だよな
リサイクルしたり拡張したり切った貼ったしやすくするためにある
リサイクルしたり拡張したり切った貼ったしやすくするためにある
162デフォルトの名無しさん
2021/03/20(土) 13:05:16.75ID:ebrbGMYs >つまりオブジェクト間はメッセージングによってのみ相互作用が可能であり
>オブジェクト内部がどうなっているかは見えないし知る必要もないのがオブジェクト指向
つまり関数間は関数呼び出しによってのみ相互作用が可能であり
関数内部がどうなっているかは見えないし知る必要もないのが関数型?
んなわけないしそんな説明されても意味ないよね
呼び出し側が知るべき要素と知る必要がない要素を分けられるのは
オブジェクト指向特有の機能じゃないんだから
>オブジェクト内部がどうなっているかは見えないし知る必要もないのがオブジェクト指向
つまり関数間は関数呼び出しによってのみ相互作用が可能であり
関数内部がどうなっているかは見えないし知る必要もないのが関数型?
んなわけないしそんな説明されても意味ないよね
呼び出し側が知るべき要素と知る必要がない要素を分けられるのは
オブジェクト指向特有の機能じゃないんだから
163デフォルトの名無しさん
2021/03/20(土) 13:11:27.57ID:paFdJ8yI164デフォルトの名無しさん
2021/03/20(土) 13:31:51.79ID:PoGobC7U >>155
そういう動的で型の弱い言語なら全く問題ないし、
オブジェクト指向を無理にやる必要もないって話だわ。
cの不便さとオブジェクト指向が流行ったことにはかなり関係がある。
まああんまり話を理解できてなさげだから言っても理解できるとは思えんけど。
そういう動的で型の弱い言語なら全く問題ないし、
オブジェクト指向を無理にやる必要もないって話だわ。
cの不便さとオブジェクト指向が流行ったことにはかなり関係がある。
まああんまり話を理解できてなさげだから言っても理解できるとは思えんけど。
165デフォルトの名無しさん
2021/03/20(土) 13:42:15.23ID:paFdJ8yI >>162
それは概念のレイヤーが異なることをあなたが理解できていないだけ
例えばオブジェクト指向でのメッセージングとは関数呼び出しではないです
さらに言えばローカルとリモートを区別するRPCでもないです
メッセージングはオブジェクトから別のオブジェクトへの一方向の通信であり
もし何らか返事が必要となる場合は逆向きのメッセージングを行いますがその二つのメッセージングは非同期です
概念だけではわかりにくいから具体的な実現例をで言うと
例えば皆がよくわかる例としてJavaScriptでは
ネット通信やファイルアクセスは各オブジェクトの非同期関数になっていて
1つ目のメッセージングはその非同期関数の呼び出しとして
2つ目のメッセージングはその非同期関数のコールバックとしてこの言語では実現しているようですが
概念としてのオブジェクト指向のメッセージングとその各言語における様々な実現例にはもちろん乖離があります
そしてこのスレで混乱しているのは各言語における実現例だけを取り上げて話すからであって
元々の概念を理解してそれと共に話せばわらりやすいです
各言語の様々な記法なんていうのは単なる実現例側の話ですからそこに囚われていてはダメ
それは概念のレイヤーが異なることをあなたが理解できていないだけ
例えばオブジェクト指向でのメッセージングとは関数呼び出しではないです
さらに言えばローカルとリモートを区別するRPCでもないです
メッセージングはオブジェクトから別のオブジェクトへの一方向の通信であり
もし何らか返事が必要となる場合は逆向きのメッセージングを行いますがその二つのメッセージングは非同期です
概念だけではわかりにくいから具体的な実現例をで言うと
例えば皆がよくわかる例としてJavaScriptでは
ネット通信やファイルアクセスは各オブジェクトの非同期関数になっていて
1つ目のメッセージングはその非同期関数の呼び出しとして
2つ目のメッセージングはその非同期関数のコールバックとしてこの言語では実現しているようですが
概念としてのオブジェクト指向のメッセージングとその各言語における様々な実現例にはもちろん乖離があります
そしてこのスレで混乱しているのは各言語における実現例だけを取り上げて話すからであって
元々の概念を理解してそれと共に話せばわらりやすいです
各言語の様々な記法なんていうのは単なる実現例側の話ですからそこに囚われていてはダメ
166デフォルトの名無しさん
2021/03/20(土) 14:04:16.02ID:IyzEzHor Ruby on Rails 6 の本を出している人の、入門書が出た。
Erlang/OTP 上で動く、Ruby風の関数型言語
Elixir実践ガイド、黒田努、2021/2/5
Ubuntu 20.04, Docker CE 19.03, Elixir 1.11
Erlang/OTP 上で動く、Ruby風の関数型言語
Elixir実践ガイド、黒田努、2021/2/5
Ubuntu 20.04, Docker CE 19.03, Elixir 1.11
167デフォルトの名無しさん
2021/03/20(土) 14:05:57.32ID:ct9wvzVp >>165
非同期であることはそんなに大事なことではないのではないかな
smalltalkは九州大学病院のプロジェクトで大爆死してVBが
生き残ったわけなのでプログラミングにおいては同期の方が
わかりやすく使いやすかったことを歴史が証明してるんじゃなかろうかと
非同期であることはそんなに大事なことではないのではないかな
smalltalkは九州大学病院のプロジェクトで大爆死してVBが
生き残ったわけなのでプログラミングにおいては同期の方が
わかりやすく使いやすかったことを歴史が証明してるんじゃなかろうかと
168デフォルトの名無しさん
2021/03/20(土) 14:13:04.27ID:ct9wvzVp 非同期のメッセージングは普通のプログラミングではあまり必要とされない
非同期の処理が必要なときはPromiseオブジェクトを使うように
非同期のメッセージングさえも併呑して現代のオブジェクト指向は成り立ってると思う
アラン・ケイのオブジェクトは、オブジェクトの一形態なんだよ
非同期の処理が必要なときはPromiseオブジェクトを使うように
非同期のメッセージングさえも併呑して現代のオブジェクト指向は成り立ってると思う
アラン・ケイのオブジェクトは、オブジェクトの一形態なんだよ
169デフォルトの名無しさん
2021/03/20(土) 14:16:57.35ID:R72307UF >クリントンの「不適切な関係」
class チンポ{
super.不適切な関係;
}
クリントン
↑
チンポ
class チンポ{
super.不適切な関係;
}
クリントン
↑
チンポ
170デフォルトの名無しさん
2021/03/20(土) 14:17:05.69ID:ct9wvzVp そうして考えた場合にオブジェクトは何かと言われると
データと操作をガッチャンコしたプログラムということになろうかと
データと操作をガッチャンコしたプログラムということになろうかと
171デフォルトの名無しさん
2021/03/20(土) 14:25:14.73ID:ct9wvzVp オブジェクト指向の設計論でよく言われる貧血ドメインはダメだという
考え方は僕は嫌いで、データと操作を分けた方が良いこともある
JavaはRecordやパターンマッチなど関数型言語の機能を取り込んでいってる
オブジェクト指向+関数型がベストプラクティスだと思う
考え方は僕は嫌いで、データと操作を分けた方が良いこともある
JavaはRecordやパターンマッチなど関数型言語の機能を取り込んでいってる
オブジェクト指向+関数型がベストプラクティスだと思う
172デフォルトの名無しさん
2021/03/20(土) 14:28:17.96ID:R72307UF173デフォルトの名無しさん
2021/03/20(土) 14:31:51.39ID:M+lSuHvS >>167
ネットワークアクセスもファイルアクセスもユーザーアクセス(インターフェース)も全て本質的に同期ではなく非同期ですよ
それを無理やりに同期で書こうとすると
例えば低レイヤーではブロッキングのシステムコールとなってしまい時間のかかる相手に対してブロックされ待つ間は何も出来なくなってしまう
もちろんマルチスレッドという別の概念&実現例を使って誤魔化すことはできますがそれでもそのスレッドがブロックされて何も出来なくなってリソースを無駄にするのは事実です
実際にこの問題はいわゆる有名な『C10K問題』として無数のスレッドがリソースを無駄に消費してサーバーが破綻する現実問題を引き起こしました
そこでも解決方法として取られたプログラミング方法は通信などで無駄にブロックされるスレッドを生じさせないこと
すなわちノンブロッキングなシステムコールにより非同期なプログラミングを行なうことでC10K問題も解決されて現在我々が使う多くの通信サーバーはこの非同期な実装方法です
このように相手がいるオブジェクト指向においてはオブジェクト間での非同期なメッセージングが基本
計算だけするならともかく多くのアプリ/ソフトでは人間UIやファイルI/Oやネット通信といった同期では非常に待たされる処理が重要ですから
ネットワークアクセスもファイルアクセスもユーザーアクセス(インターフェース)も全て本質的に同期ではなく非同期ですよ
それを無理やりに同期で書こうとすると
例えば低レイヤーではブロッキングのシステムコールとなってしまい時間のかかる相手に対してブロックされ待つ間は何も出来なくなってしまう
もちろんマルチスレッドという別の概念&実現例を使って誤魔化すことはできますがそれでもそのスレッドがブロックされて何も出来なくなってリソースを無駄にするのは事実です
実際にこの問題はいわゆる有名な『C10K問題』として無数のスレッドがリソースを無駄に消費してサーバーが破綻する現実問題を引き起こしました
そこでも解決方法として取られたプログラミング方法は通信などで無駄にブロックされるスレッドを生じさせないこと
すなわちノンブロッキングなシステムコールにより非同期なプログラミングを行なうことでC10K問題も解決されて現在我々が使う多くの通信サーバーはこの非同期な実装方法です
このように相手がいるオブジェクト指向においてはオブジェクト間での非同期なメッセージングが基本
計算だけするならともかく多くのアプリ/ソフトでは人間UIやファイルI/Oやネット通信といった同期では非常に待たされる処理が重要ですから
174デフォルトの名無しさん
2021/03/20(土) 14:34:16.10ID:zfB5pfEe オブジェクト指向とは関係のない話しても
175デフォルトの名無しさん
2021/03/20(土) 14:39:47.24ID:paFdJ8yI176デフォルトの名無しさん
2021/03/20(土) 14:43:44.55ID:zfB5pfEe177デフォルトの名無しさん
2021/03/20(土) 14:46:18.10ID:ct9wvzVp >>173
それはIOの話ですよね
ドメインオブジェクトの関数を呼び出したりとか
メモリ上で行われる処理まで非同期にする必要はないので
オブジェクト指向にとって非同期はオブジェクトが持つことができる機能の一部だと思いました
それはIOの話ですよね
ドメインオブジェクトの関数を呼び出したりとか
メモリ上で行われる処理まで非同期にする必要はないので
オブジェクト指向にとって非同期はオブジェクトが持つことができる機能の一部だと思いました
178デフォルトの名無しさん
2021/03/20(土) 14:49:51.05ID:ct9wvzVp アラン・ケイは非同期なオブジェクトだけの世界を夢見てたんでしょうね
一方で同期的に処理するオブジェクトもあるので
アラン・ケイのオブジェクトはオブジェクト指向の一部でしかないと思うんですよね
同様に非同期なメッセージングもメッセージングの一部でしかなくて
同期的なメソッドコールもメッセージングとして良いと思います
一方で同期的に処理するオブジェクトもあるので
アラン・ケイのオブジェクトはオブジェクト指向の一部でしかないと思うんですよね
同様に非同期なメッセージングもメッセージングの一部でしかなくて
同期的なメソッドコールもメッセージングとして良いと思います
179デフォルトの名無しさん
2021/03/20(土) 14:50:49.82ID:ct9wvzVp そのように考えるとJavaなどの言語がオブジェクト指向言語と
言われることとも整合します
言われることとも整合します
180デフォルトの名無しさん
2021/03/20(土) 14:58:01.68ID:ct9wvzVp 非同期IOでC10K問題が解決したのはそうでしょうけど
プログラミング言語のライブラリには非同期IOも同期IOもありますから
非同期がオブジェクトの本質だとは思わないです
オブジェクトは非同期に処理するものもあるし同期に処理するものもあるという
ことだと思います
アラン・ケイがオブジェクト指向という言葉を作って
そこから抽象化されていって今に至るんじゃないかと思います
プログラミング言語のライブラリには非同期IOも同期IOもありますから
非同期がオブジェクトの本質だとは思わないです
オブジェクトは非同期に処理するものもあるし同期に処理するものもあるという
ことだと思います
アラン・ケイがオブジェクト指向という言葉を作って
そこから抽象化されていって今に至るんじゃないかと思います
181デフォルトの名無しさん
2021/03/20(土) 15:02:10.13ID:M+lSuHvS >>177
それは逆です
別の話ですが例えで出すとインターネットの基本であるIPパケットは非同期で一方向ですが
それを利用したTCP上のHTTPなどは戻り値がある両方向で(時間はかかれど)同期に見えるよう作られてます
このように基本は非同期でその上に同期を実現はできます
逆は無理です
ここが一番重要なところです
オブジェクト指向のメッセージングも本質的には非同期で一方向です
その上に擬似的にRPCもしくは関数といった同期呼び出しは可能です
それらの概念があった上で実装としてはプログラミング言語によっては関数呼び出しとして実現してるといった状況です
それは逆です
別の話ですが例えで出すとインターネットの基本であるIPパケットは非同期で一方向ですが
それを利用したTCP上のHTTPなどは戻り値がある両方向で(時間はかかれど)同期に見えるよう作られてます
このように基本は非同期でその上に同期を実現はできます
逆は無理です
ここが一番重要なところです
オブジェクト指向のメッセージングも本質的には非同期で一方向です
その上に擬似的にRPCもしくは関数といった同期呼び出しは可能です
それらの概念があった上で実装としてはプログラミング言語によっては関数呼び出しとして実現してるといった状況です
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【悲報】日本人「俺以外の日本人が中国と戦ってくれるぞ!」 [616817505]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 維新の吉村代表「高市総理に中国総領事の国外退去を要請した。今後、知事として中国イベントには出席しない」 [359572271]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 【悲報】あまりにも高市早苗の頭が悪過ぎて「これは確かに野党が配慮して質問するべきだったのでは」と結論が出てしまう [517791167]
