オブジェクト指向は愚かな考え。この世は計算式 ★3©2ch.net (961レス)
1-

780: 2017/05/19(金)10:49 ID:sbMh7Sut(1) AAS
gtk
781: 2017/05/22(月)08:36 ID:wGbbC49U(1) AAS
X
782: 2017/06/20(火)16:22 ID:AtKkt+PQ(1) AAS
オブジェクト指向の方が自然だと思うし好きだけどPythonやjsみたいな動的型付け言語でオブジェクト指向は無理というか無駄な気がしてきた
オブジェクト指向は副作用を限定化するためにカプセル化が必須だけど動的型付け言語だとそれが保証されない
横からいくらでもメンバの付け足しやメソッドのすげ替えができてしまう
そうなると副作用の保証ができないどころか、静的解析によるインテリセンスやエラー検出というメリットさえ捨てる羽目になる
そうなるともうオブジェクト指向で作る意味がない
クラス単位で保証ができない以上、関数で保証する他なく
必然的に関数型にせざるを得ない
783: 2017/06/20(火)18:50 ID:8inGEH6m(1) AAS
「世界がどんどん変わって行くのを俺が全部コントロールして阻止しなければならない…
そうでなければ世界はバラバラになってしまう…」

「どうしたんですか?先輩」(もぐもぐ
「おお後輩!…なんだそれ?」
「売店がパンじゃなくて弁当扱い出したんですよ
ゴミかさばるから売店とこで捨てろですって。
まぁ、どうせ僕が一括して持ってくんでしょうがw」
「後輩」
「はい?」
「カレーある?」
省3
784: 2017/06/21(水)09:03 ID:Y4WM7moX(1) AAS
オブジェクト指向と副作用の保証は関係ない
785
(1): 2017/07/27(木)03:06 ID:9ehpllTb(1) AAS
パイセン方、JS勉強したてでオブジェクト指向って言葉が出てきたばっかでよく分かってないドブネズミ以下の僕に教えて

オブジェクト指向ってプログラミングのルールとか具体的な所作のことを指すの?
例えば「このプログラムは誰が読んでも分かりやすいものしよう」程度のものはオブジェクト指向とは言わないの?
786: 2017/07/27(木)04:46 ID:wpPsIhCe(1) AAS
オブシコきっしょ
787: 2017/07/27(木)19:35 ID:NhSve46F(1) AAS
>>785
最初、「適当に飛び先決めて好きなように処理書いて戻す」やってたら
後でプログラマが死にそうになったので
"入り口があったら出口はここ"とブロック化しようぜ!が『構造化プログラミング』
Cなどが直接の成果で今の言語はほぼこの流れを受け継いでる。

次にブロック(サブルーチン)化されたからこれをクラスとして使いまわそうぜ!が『オブジェクト指向』
ここで単純に使い回しの方向でCから発展したのがC++
主目的が使い回し。
それとは別にブロックを使い回すにあたって「これをやれ」という具体的な
コマンドを受けてクラスが独自に動くようにすれば
省5
788: 2017/07/27(木)20:29 ID:5IXklzdW(1/2) AAS
Javaをそちらのダメな考え方の方に入れるのはJavaが可哀そう
789: 2017/07/27(木)20:37 ID:2IdVcl0s(1) AAS
メソッドはメッセージ側のスタイルなんでなぁ。
ウィキペディアの「影響を受けた言語」書き換えてくるかい?

「クラスとは構造体に関数がついたもの」って90年代の
C++なんかをベースにしたオブジェクト指向の説明とか
いまじゃ誰も電波すぎて理解できねぇよ。
「自動車は馬車から馬が外れたものである」かっつの…
790
(2): 2017/07/27(木)21:48 ID:5IXklzdW(2/2) AAS
オブジェクトはデータに自身を操作するための処理が付いたもの
というありがちな説明は、これを正しいとするかどうかは別として
電波すぎて理解できない、という程のものではない
厳密かどうかは置いておいたとして、具体性があり、ある種の分かりやすさはある
「データ」とか「処理」とかいう言葉は、プログラマじゃなくても知ってる一般的な言葉だし
大体の人が正しく理解して使っているであろう
ということと、コンピュータの根本の原理も大昔から特に変わってないので
「データ」や「処理」という言葉が、理解できないほどに意味をなさなくなっているわけでもない
普通に理解できる範囲
実際にはもっと賢い表現が適切であろうが、今は理解できる文言かどうかが焦点であるから
省5
791
(1): 2017/07/28(金)08:44 ID:NpsU3dCh(1/3) AAS
>>790
> どちらかというとsmalltalkというかアランケイのオブジェクト指向の表現の方が若干電波

アラン・ケイのメッセージングのオブジェクト指向は、設計・実装・実行・運用・保守とあらゆる局面における
「遅延結合」(…という表現だと実行時のみにひっぱられる人がいるので「決定の遅延」の方がベターか)を
メッセージングというお題目を通じて実践・徹底・サポートするアイデアなのだけど
外部リンク:d.hatena.ne.jp
外部リンク[html]:metatoys.org

具体的にはどこらへんが“電波”だと感じるのか、きかせてもらってもいい?
792
(1): 2017/07/28(金)09:16 ID:oLQXjxeQ(1) AAS
全部電波じゃねえかwww
793
(1): 2017/07/28(金)10:03 ID:orh4jmw3(1) AAS
>>791
前からちょいちょい思ってたけれど、脳がパソコンの一個のCPUで完結してる人とか
処理時間の遅れとか当人の脳内世界に存在しないから概念が理解できないみたい。
60年代に大学間などの通信ネットワークが作られてこのかた
現代のマルチタスク・マルチコアに至るまで
相手の処理終了が不明な状態で
"逐次実行なんか期待できない"というところから話が始まってるのに
脳が「プログラムってバッチ処理だろ?」で止まってるから
「順番に動かないプログラムなんてあるか!」って本気で思ってるんだよ、こういう人…
794: 2017/07/28(金)13:34 ID:NpsU3dCh(2/3) AAS
>>792
>全部電波じゃねえかwww

うん。だから例えば具体的にはどんなとこころ?
あるいは件の主張を端から理解する気が無いのならレスは無用に願います
795
(1): 2017/07/28(金)16:54 ID:s1JdgxyV(1) AAS
>>790
>事前に知識が無ければ、何を言っているかよくわからない、正しく理解できない

Smalltalkを理解するために事前の知識は要らないぞ。
実践せずに本やブログ記事を読むだけで理解しようと思っている人は苦労するだろうけど。
796: 2017/07/28(金)19:42 ID:NpsU3dCh(3/3) AAS
>>795
んー、それはどうだろう。気持ちはわらんでもないけど、ちょっと言い過ぎではないかなぁ…
たとえば同じように Python を“理解するために事前に必要とされる知識”を問われた場合、
どんな答えを想定しているか教えてもらえる?
あるいは Java なら必要だけど、Python であれば Smalltalk と同程度には必要ないとかそんな程度の話?
797: 2017/07/29(土)15:03 ID:sLFMqneM(1/2) AAS
例のFILE構造体を用いたファイル操作はファイルシステムに対する低水準な操作がカプセル化され利用者から見えない設計だからオブジェクト指向設計、
と言って良いものかどうか…
(内部ではiob[ ]という配列操作になっておりインスタンスの個数に上限がある
 && 物理ディスクの個数はもっと小さいから、ファイル操作の内部の実装にはiob[ ]全体を操作対象とする手続き型のコードが含まれる

これをオブジェクト指向と呼んで良いのなら、ユニックスのシステムコールやWin32 APIからハンドルを受け取って
ハンドルに対して操作を行うのは全部オブジェクト指向と呼んで良いことになる

798
(1): 2017/07/29(土)15:11 ID:sLFMqneM(2/2) AAS
>>793
順番として書けないプログラムがあるか!!!!111!!!!1!

確かに非同期に動く複数のブツというやつは全体としては順序的でない並列的な振る舞をするが
それらを同期させる手順自体は順序として書ける(そうでないとCPUに処理させられない
799
(1): 2017/07/29(土)22:52 ID:H/n/hEUB(1) AAS
>>798
のような話もあると思う
マルチプロセスだろうが、複数のコンピュータだろうが、なんであれ
結局、処理の順番は大事だろう
というのもあるが、それは置いておいたとして

>"逐次実行なんか期待できない"というところから話が始まってるのに

逐次実行が期待できないケースがあったとして、それはそれで置いておくけど
逐次実行が期待できるケースにまでそのモデルを使わなければならないのかどうなのか
ってのは有ると思う
a = 1 + b; ・・・?
省5
800
(1): 2017/07/30(日)00:46 ID:k8Kwm2zH(1) AAS
a={1,2,........100};
sum(a);

こんな場合、遠くの鯖でも近くの鯖でも10なら10ずつ(実際ににはもっと粒度が大きくないと割に合わないけど)分割して1-10の合計+11-20の合計+...って感じで全部揃いさえすれば順番関係無いって処理もあるお。
801
(1): 2017/07/30(日)02:32 ID:pLyoXQEm(1) AAS
>>799
オブジェクト指向(C++とかじゃなくて上でいうアランケイ的な)が
逐次処理を否定していると思ってるなら、それは違う

言うならば、並列処理できるときにも逐次処理するのを否定しているという感じ。
その例にあげた依存のある計算みたいに、逐次処理が必要なところは
そうしなきゃならない。でもそうじゃないところは並列にやればいい。

CPUのスーパースカラも同じだね。前の命令の演算結果を参照するような
場合はパイプラインが止まるけど、依存が無ければ並列にどんどん進められる
802: 2017/07/30(日)08:12 ID:oVuvng50(1/2) AAS
>>800
バ、バラバラに計算した部分和を最後にどうするんです?
803
(1): 2017/07/30(日)08:15 ID:1m5312Xu(1) AAS
sumなんだから足し合わせる。
804
(1): 2017/07/30(日)08:20 ID:oVuvng50(2/2) AAS
>>803
1. 同期をとってから
2. 足し合わせる
のでは…
805: 2017/07/30(日)10:22 ID:AatiOL5G(1/2) AAS
C#, Java8 の、Parallel はそう。
並列処理で、最後に同期する

各スレッドでソートして、最後にマージするとか
806
(1): 2017/07/30(日)20:37 ID:OOsADo1S(1) AAS
>>804
全部揃いさえすれば=同期とったら

「最後」にどうなる?
解:合計します。

突っ込まれるような事だったかな。。。
807: 2017/07/30(日)22:10 ID:22wh/XXk(1) AAS
処理が一つの処理(タスク)単位になった時に
シングルタスク指向じゃやってられないよねってあたりまえの話なのに
なんで2017年に「そんなことはない!俺はオブジェクト指向が嫌いだ!」って
頭ごとシングルタスクのじいさんが湧くんだ…
808: 2017/07/30(日)22:15 ID:uSOmX9+I(1/3) AAS
>>801
そういう風に俺は言ってない
>逐次実行が期待できないケースがあったとして、それはそれで置いておくけど
>逐次実行が期待できるケースにまでそのモデルを使わなければならないのかどうなのか
と書いた
809: 2017/07/30(日)22:23 ID:uSOmX9+I(2/3) AAS
シングルタスクじゃ扱いきれなくて
マルチタスクが合ってるって思える部分が出てきたら
その部分ではマルチタスク指向とやらをやれば良いのでは?
オブジェクト指向とは直接的に関係が無いね
810: 2017/07/30(日)22:57 ID:UpPLfSXm(1) AAS
C++とかハードに直結してるのに使い回しにだけオブジェクト指向を使おうとしたクソを通してオブジェクト指向知った人の末路がこれ
811: 2017/07/30(日)22:57 ID:AatiOL5G(2/2) AAS
シングルスレッドで同時接続数、1万をこなす、Node.js の、WebSocket

ただし、CPU を多く使うものは、ダメだけど
812: 2017/07/30(日)23:41 ID:uSOmX9+I(3/3) AAS
そーゆーのとオブジェクト指向は本質的に関係なくない?
タスクの実装に向いているとしたところで
じゃあ、タスクの実装以外ではメリット無いのか?ってことになる
全体的にはマルチタスク的だったとしても、細かく見ていけば、個々はシングルタスクな部分も出てくるだろ

ほとんどのOO言語のオブジェクトの実装は
「データと処理を一纏めにしたもの」、っていう実装になってることが多いんだから
それを考えると、ほとんど何でも実装しやすいんだけども
(↑マルチタスクとかシングルタスクとか関係なくね)
この説明に拒否反応を示す人がいて
> いまじゃ誰も電波すぎて理解できねぇよ。
省9
813: 2017/07/31(月)20:33 ID:E0ER4Q8l(1/2) AAS
>>806
>全部揃いさえすれば=同期とったら
さも最初から書いてあったかのように嘘を言い…
814
(1): 2017/07/31(月)20:46 ID:nj7BetAr(1) AAS
「あ、お客さま、こちらのおリンゴ少々傷んでおりますので、交換致しますね」

レジから店員が離れたらどうなっちゃうの!どうなっちゃうの!?
もう仕事できないよね!業務崩壊だよね!!

「はい、こちらで宜しかったでしょうか? では御会計は〜」

戻ってくるなんて説明なかったよね!処理が続くとも言ってないよね!!!
ボク意味わかんない!!!!!!!!
815: 2017/07/31(月)21:15 ID:E0ER4Q8l(2/2) AAS
>>814
お客様はCPUです!!
816
(1): 2017/08/01(火)02:33 ID:A0OBZNC2(1) AAS
オブジェクト指向は、データと処理をひと纏めにする?
馬鹿じゃないの。

機能で分けるの。
817: 2017/08/01(火)08:15 ID:9qUpAvFS(1/2) AAS
>>816
機能で分けることはデータと処理を一体化することを否定しない
818: 2017/08/01(火)08:17 ID:9qUpAvFS(2/2) AAS
一体化とはつまり一線を超えるということ
819: 2017/08/01(火)09:02 ID:qHCR3K6Z(1) AAS
そんな集合論の話してるんじゃなかろうに
820: 2017/08/01(火)15:47 ID:zRlG3ihR(1/4) AAS
機能で分けるって言ったら、そら、なんでも機能で分けるもんなんだよ
例えばCなんかで関数に分けるって事を考えても、当たり前、機能で分けるわ
機能で分けるってだけじゃ何の説明にもなってない
むしろ機能以外で分ける必然性がないし

だから機能で分けるのはどのような何であろうと、分ける以上は当たり前そうする前提として
「具体的にどのような方法、単位で分けるの?」って部分がないと
その時に、データと処理を一纏めにしたものをオブジェクトとして、ってのが出てくる

クラスは機能で分ける、って文言は、おかしなクラス設計をする人に対して
クラスは機能で分けなきゃダメだよ、と注意するために有るのであって
オブジェクト指向の説明にはなってないんだよ
省1
821: 2017/08/01(火)19:28 ID:zRlG3ihR(2/4) AAS
平たく言えば「機能で分ける」ってのは
クラスの作り方や設計方針の話であって
クラスやオブジェクトの根底のメカニズムについては何も言及してないんだよ
822: 2017/08/01(火)21:13 ID:jGPQWGeS(1/2) AAS
ふる〜いサブルーチン的な「関数」の発想だと
たとえば「ドルと円を換算する」"関数"はただの「処理機」だから
レートと額を送ると換算額が返ってくる、という発想になる。

そこがオブジェクト指向では「ドルと円を換算する」"クラス"は
そういう処理をする「処理場」なので送るのは
"換算してくれ"という命令コマンドと額になる。

違いはなんだろう?
「関数じゃなくてクラスはレートってデータを持ってて、換算という操作関数が付いてんだろ?」?
違います。自動車が馬抜き馬車ではないように。

ポイントは「換算」というタスクは当該クラスが責任を持つ仕事で
省7
823
(1): 2017/08/01(火)23:31 ID:zRlG3ihR(3/4) AAS
で、結局クラスやオブジェクトの持つメカニズムについては言及しないのであった
書いてある内容は「そういう風に考えてください、そういう風にとらえてください」
程度のものでしかない
後半の並列処理なんか全然オブジェクト指向と関係が無いしな
そういう風に書けば、そうなる、ってだけ

「ポイントは「換算」というタスクは〜」の部分に関してなど
一般化して他のものに関しても同じことが言えるし
何の説明にもなってない
唯の一般的に良いといわれるプログラミングの作法を説明しているに過ぎない
もちろんその作法はOOPでも通用するが、OOPの説明にはなってない
省11
824: 2017/08/01(火)23:33 ID:zRlG3ihR(4/4) AAS
だたし、オブジェクトはデータと処理を一纏めにしたものって説明は
オブジェクトの性質の全部を言い表しているわけじゃない
「言っている範囲においては間違ったことは言ってない」程度のもの
825: 2017/08/01(火)23:58 ID:jGPQWGeS(2/2) AAS
なんかまだ現実を理解していないみたいだけど
誰かがそう考えているとかそういう話ですらなくて

"君が"一人で自動車が走り回ってるこの時代のど真ん中で
「いいや!自動車は馬なし馬車ともみなせる!誰も自動車の細かいシステムについて
俺に懇切丁寧にマンツーマンで教えてくれないからな!
あくまで自動車とかいうのは馬なし馬車にすぎない!!」

ってほざいてるからみんななんだこのボケジジイwと笑ってるだけだよ。
826: 2017/08/02(水)00:03 ID:fdgsCGyr(1) AAS
俺は別に笑われてないんだけど
君の書き込みは電波すぎて誰にも相手にされてないかもしれないが
これが自己紹介乙というやつか
827: 2017/08/05(土)13:13 ID:S4Sewhvz(1/3) AAS
>>823
>書いてある内容は「そういう風に考えてください、そういう風にとらえてください」
>程度のものでしかない
だってOOPとかその程度のものやとしか言いようが無いし…
OOPにしたからといってチューリングマシンでできない計算ができるようになるわけでもないし、
高階関数の系の能力を超えるわけでもない
「オブジェクト」も「機能」や「データ構造」と同じく人間が勝手に設けた区切りと考えたほうが精神衛生上宜しい

「漏れの無い抽象化」を達成せしめたクラスに属するオブジェクトのみが、独立した数学的対象同然の正当性を有す
でもそうじゃないクラス(とそのインスタンスとしてのオブジェクト)も世の中にはゴマンとあり、実用OOPはそれらも包含してゐる
OOPの枠内の全てをスッキリ定義づけて一意のクラス分けを導くような数学は目下無いしこれからも無さげ
828: 2017/08/05(土)13:16 ID:S4Sewhvz(2/3) AAS
ちな
>「関数じゃなくてクラスはレートってデータを持ってて、換算という操作関数が付いてんだろ?」 (823)
というんのはクラスを「レートという束縛変数を有する「換算」という関数」の定義とみなしてゐる、
とみなすこともできる、、
829: 2017/08/05(土)18:31 ID:g5qo54h/(1/2) AAS
そこまでわかってるなら、手続き型言語には何があるかも分かってるだろ
紐解いていけば、手続き型言語には、「テータ構造」と「制御構造」の二つしかない
あとは定数とかもあるけど、無視しといてよいし
本当に、データ構造と制御構造しかない
クラスはこの二つをまとめたパーツ、ぐらいの認識でよろしい
830
(1): 2017/08/05(土)18:37 ID:g5qo54h/(2/2) AAS
データ構造はメモリの空間的分割構造といえるし
制御構造はCPUの時間的分割構造といえる
これで空間と時間がそろったからプログラミングの準備が出来たといえる
クラスは単に、C時代はデータ構造と制御構造を別々に定義していたのを
区切りの良いところで纏めて定義しましょうってだけだよ
小さなプログラム(クラス)の破片を集めて大きなプログラムにしましょうってだけ
実際クラスのメンバ変数はクラス内のグローバル変数だしな
831: 2017/08/05(土)21:05 ID:S4Sewhvz(3/3) AAS
>>830
>実際クラスのメンバ変数はクラス内のグローバル変数だしな
これはそう作ればそうなるし、そうでない作り方もできる
(クロージャにするなら通常はコンストラクタでメンバ変数の値を固定してしまい以後変えないとか、

OOPはハマるべきところにはきっちりハマるから、必要性はある
ハマればセマンティクスとコードの表記がきれいに対応してたいへん保守しやすく書きやすいコードになる
ただしそうなるのは漏れの無い抽象化が可能とか、漏れを設計で見えにくいところに隠せるとかそういうケースに限られる
832: 2017/08/07(月)07:48 ID:GyL1JWIh(1) AAS
>漏れの無い抽象化が可能
こんなのよっぽど単純な事象以外ありえんだろ。
833: 2017/08/07(月)08:20 ID:nZ0RU5t+(1/2) AAS
なんか、別なものに見立てての説明ばかり受けたせいで
なにかに見立てないとオブジェクト指向じゃないみたいな変な理解をしてる人がおるけど
要するに会社の「◯◯部」とか「◯◯課」みたいに
仕事と処理を送るとよしなにやってくれる単位で切り分けるってだけの話だし
「こういうことも◯◯課の仕事に新設」でも「仕事の質が変わったから部課を統廃合して編成しなおし」でも
部課が責任を持つことで取り回しが楽になるよね。だし
834: 2017/08/07(月)12:21 ID:+X2y1OVW(1) AAS
お前もやんw見立て上手やねw
835: 2017/08/07(月)14:20 ID:nZ0RU5t+(2/2) AAS
いや、会社みたいな組織は必要な仕事の流れに応じて組み変わるじゃん?
無理ないちゃもんつける人は変化しないもの出してきて
「猫に羽が生えて飛ばないからオブジェクト指向は間違い!」って言いだすからw
836: 2017/08/07(月)23:55 ID:ZYg+qYF7(1) AAS
部署部署言ったって、それはプログラムにおいては、何に相当するのか
って話がある
そこが無いと本当に意味のないたとえ話にすぎない

プログラムで会社の部署のように振舞わせるには
データと処理の両方が必要
データだけでも処理だけでも部署のようには振舞えない
classはプログラム環境のフルセットじゃないといけない
その意味で、オブジェクトは処理とデータを纏めたものでなければならないし
そうなってる

それだけの話
837: 2017/08/16(水)14:51 ID:3vyPkFdL(1) AAS
変な例え話を出したり、大仰な説明をしたりしないと理解できないだろう、なんて思ってる時点で間違ってると思わないのか
プログラムの素養の無い人でもOOならプログラミングできるようになります!とか妄想してるのか?
838: 2017/08/17(木)13:15 ID:1fq8yyMU(1/2) AAS
そうだね、自動車は馬なし馬車だから運転者は御者だね。
最近の馬なし馬車は馬を繋ぐパーツが欠落してるからけしからんね。
839: 2017/08/17(木)14:12 ID:FW1vzuuL(1/2) AAS
まだ馬なし馬車とか言ってるのかよ、進歩ないな
誰も興味ないんだって、そんなアホで的を得てない例え話
840: 2017/08/17(木)14:36 ID:1fq8yyMU(2/2) AAS
「クラスは構造体」じいさんにはぴったりすぎて例えですらないけれど?
841: 2017/08/17(木)15:26 ID:FW1vzuuL(2/2) AAS
仮想の脳内の敵と戦ってるんだな、がんばれよ
その仮想の敵はお前自身でもあるからな
842: 2017/08/22(火)22:49 ID:UHwuUWMX(1) AAS
画像リンク[jpg]:livedoor.blogimg.jp
843: 2018/05/23(水)21:53 ID:Au5e7VGg(1) AAS
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

MNVZG
844: 2018/07/05(木)00:08 ID:RfoszcD2(1) AAS
6OE
845: 2018/10/21(日)08:38 ID:EM6DzNCN(1) AAS
>例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。

この車、タイヤがパンクしてるぜ!
この俺、チンポがシコシコしてるぜ!

どちらも「オブジェクト指向」だろう?

注目は、選択肢イです。この上向きが集約で、下向きが分解です。
自動車は、アクセルやブレーキ、ハンドルなどに分解されるからです。
外部リンク[html]:sm.seeeko.com

浮気に激怒の妻、眠る夫の局部を切断しトイレに流す(印)
2018年02月25日 04:00
外部リンク[html]:www.excite.co.jp
846: 2018/10/30(火)21:12 ID:elaGjnSQ(1) AAS
その計算式とやらだけでプログラムを書いているの?
847: 2018/11/04(日)11:29 ID:hQdPSgHl(1) AAS
ブリッジパターンの応用手順のブログみたい。パッケージを開発する時を前提にしているね。
外部リンク[html]:blogs.yahoo.co.jp
848: 2018/11/04(日)17:43 ID:Q/zWRkIF(1) AAS
↑役に立たないゴミ
849: 2019/06/19(水)05:01 ID:tVNS+22r(1) AAS
【出資】松本卓朗 人工知能詐欺【注意】
2chスレ:rikei
850: 2019/06/19(水)18:05 ID:GI5x1tg+(1) AAS
唯一純粋なオブジェクト指向言語と呼ばれることがあるSmalltalkが
ほとんど世間一般に普及していないのに、
オブジェクト指向が持てはやされるのはなぜ?
いいとこ取り?
851: 2019/06/19(水)21:36 ID:4D/OEXM7(1) AAS
いいとこ取りというよりはその時々で模倣可能な機能が徐々に実用化されてずいぶん近づいている

例えばホットスワップとかデバッグ中のコード変更とか
で、後者とかは実行中コンテクストの保持まではまだ模倣できてないとか
852
(2): 2019/06/20(木)07:43 ID:Hk9POxiz(1) AAS
このスレタイは「この世は飛行機も自動車も不要!北海道から沖縄までは徒歩で十分!」
みたいに見えるんだがw
853
(1): 2019/06/21(金)00:58 ID:o+wFNqi2(1) AAS
>>852
墜落した飛行機
854
(1): 2019/06/22(土)07:44 ID:hOohrwXi(1) AAS
このスレはC++でオブジェクト指向に挫折したじいさんが
「オブジェクト指向なんてゴミだね!」って喚いて回ってたら
周り中から「あんなもん真のオブジェクト指向じゃねぇよアホw」ってツッコミまくられて
今度は「よくわからないけど“真のオブジェクト指向”ってのがゴミなんだろ!」って
暗闇に向かって手を振り回してみたら敵に当たるだろう!ってスレなんで…
855: 2019/06/22(土)18:22 ID:/7bwQJ5j(1/3) AAS
>>852
はげどう

>>853
全ての飛行機が墜落するほどにはひどい話ではない
メーカーや航空会社によっては墜落せずに目的地まで行き着くかもしれん

>>854
真のオブジェクト指向は人間の直感的分析とコードが完全に一対一に対応する
ただしそれは一般には存在しない
856: 2019/06/22(土)18:36 ID:/7bwQJ5j(2/3) AAS
だいたいオブジェクトを命令コードで書くという時点で理論が破綻している
857: 2019/06/22(土)20:08 ID:/7bwQJ5j(3/3) AAS
破綻しているは言いすぎかもしれん
崩壊の序曲を奏でているに訂正

オブジェクト指向設計に基づくありとあらゆるプロジェクトが
858: 2019/07/09(火)01:38 ID:b1/VU+FF(1) AAS
序曲を奏でるwww

>オブジェクト指向設計に基づくありとあらゆるプロジェクトが

とか、なに言ってるんだよオブジェクト指向設計ごときにwww
859: 2019/07/09(火)19:23 ID:Ccd5hErr(1) AAS
そもそもモジュール間の接続を密にしたら変更の影響がどこまでも波及してシャレにならんから
モジュールごとに独立して、できるだけ抽象的な命令(メッセージ/メソッド)によって
モジュール内で処理を完結させるようにしよう。
モジュール内で完結してればパーツとして使い回しもできるし。
だからな。
860: 2019/07/09(火)23:42 ID:KZ30j1Jb(1) AAS
モジュールの依存性を弱くするのは手続き型でもできる
foo.bar()はbar(&foo)と手続き的な表現にいつでも直せるので
オブジェクト指向でやれる弱結合は手続き型でもやれる
カプセル化というのも強力に型付けられた手続き型言語なら上の記法で同等の安全性が実現できるから
オブジェクト指向固有の特質というには弱い

オブジェクト指向が従来の方法論に対して際立って優れた(あるいはダメダメな)ところは
継承と多態性のしくみに夢を抱きすぎたところにある、、
861: 2019/07/13(土)11:02 ID:TPR8jqd0(1) AAS
手続き型プログラミングにおける型に振る舞いをくっつけたことで
さまざまな振る舞いを同一の表記で書けるため、テンプレートとの相性が良くなった、
というのもオブジェクト指向の功績の一つに挙げても良いかもしれん
きわめてコンパクトな表記でパワフルな仕事をさせられる

その結果、テンプレートを使わんとするほとんどの現場に破壊と混乱がもたらされた
862: 2020/06/18(木)19:58 ID:n5xiCy8O(1) AAS
こちらで同意を得られなかったからニュース速報スレで騒いでるw

オブジェクト指向は愚かな考え
2chスレ:news
    
863: 2020/06/18(木)22:57 ID:g18Fqbw/(1) AAS
未経験から半年でフリーエンジニアになれる人の特徴
動画リンク[YouTube]
フリーランスか会社員かどっちが簡単かについての最終回答
動画リンク[YouTube]
【エンジニア】正社員/派遣社員/フリーランスのメリット・デメリットについて
動画リンク[YouTube]
月収1000万円オンラインサロンオーナーの日常【飲み過ぎ】
動画リンク[YouTube]
借金400万円から人生逆転するまでの軌跡
動画リンク[YouTube]
省6
864
(1): 2020/07/05(日)20:23 ID:9rom7SPB(1) AAS
ところで「チンポがシコシコする」という日本語表現は、文法的に正しいのか?

チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。

オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。

違うか?

「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
865: 2020/07/05(日)20:58 ID:M+BkbwUs(1) AAS
次スレ

カプセル化■プライベートメソッドをテストする方法
2chスレ:tech
866: 2020/07/08(水)11:47 ID:PWwZYnOX(1) AAS
次スレはこっちでしょう
2chスレ:tech
867: 2020/07/10(金)10:09 ID:LiH0PaR7(1) AAS
クリーンアーキテクチャでも言ってるように、関数ポインタの安全な渡し方という見方が一番しっくりくる。
868: 2020/08/02(日)03:33 ID:INu0xgHu(1) AAS
>>864
どう考えてもシコシコの主語は手であってちんこは引数だからだろ。手がなければシコシコという動きはありえない。一方手は何でもシコシコできる。お前のちんこでもな。
869
(1): 2020/08/23(日)02:19 ID:fYZGJwEE(1) AAS
プログラミングを素人をわかった気にさせるだけが目的ならいいが、対等な議論ときに概念や言葉の定義を延々とこねくり回すやつは信用できない
完全に時間の無駄
例えば、オブジェクト指向を説明するときに現実世界の概念や具体物で例示するのは初心者に向けてならいいが、ちょっとプログラム齧った奴同士の会話ならただの言葉遊びでしかない

このスレ建てて遊んでるバカも、まず手続き型でオブジェクト指向並の生産性を実現できる具体的な方法論を開発してこいよ
870: 2020/08/24(月)01:32 ID:SNPo8pAq(1) AAS
依存性逆転の原則からオブジェクト指向を考える方が良い。
アホみたいな現実の見立てとか持ち出すと話が変な方向にばかり行く。
871
(1): 2020/08/24(月)03:34 ID:fv82wte7(1) AAS
プログラム書く奴が無限の記憶力と管理力を持ってるんならオブジェクト指向なんかいらない
現実の人間はチープな頭しか持ってないだろ?
872
(1): 2020/08/28(金)14:56 ID:l1g/w989(1) AAS
smalltalk/Objective-Cあたりはクラスに「おまえ何できるんだっけ?」って
動的メソッド問い合わせあるのに、ガッチガチのハードコーディングで効率化図る流れが
「狭い範囲でちゃんと作ればそんなんいらんやろ」してモダン()になる度に消える…
もともとはネットワークの各コンピュータでプログラムが
バラバラに非同期的に処理してる(停止も含め)想定だからそうなってたのに。
873: 2020/08/30(日)08:12 ID:X134prnp(1) AAS
>>872
YAGNI そんなものは必要にならない
KISS シンプルにしておけボケが

その言語の開発者はソフトウェアの格言を知ったほうが良いねw
874: 2020/08/31(月)02:36 ID:W0iafCLG(1) AAS
やり方は何でも良いから、サルでも読めてサルでも直せるように作れ。
875: 2020/08/31(月)03:27 ID:zAiif6l8(1) AAS
サルは日本語すらよめません。
どうしろと?
876: 2020/08/31(月)05:51 ID:abwkhqHt(1) AAS
>>871
記憶力と管理力か
ソース固定で、個別の業務動作の全てをマスタ登録するメタシステムを作ったことある
画面デザインやボタンも、そのマスタから動的に生成される

毎年のように法改正があり、法改正のたびに膨大なプログラムの膨大なI/Oについて影響関係を調査する会社があり
このメタシステムなら、瞬時に検索できる
シンプルな書式で変更も簡便
I/O設計書のような書式で、ほぼ設計書と実装がイコール

ただし物事をなんでもSQLに置き換えるような思考回路が要求され、ウルトラ級のSEしか扱えない
メタシステム自身の改修となると、ウルトラスーパー級(ようは言語自身を開発するようなことなので)
省2
877: 2020/08/31(月)07:52 ID:RaR8PZxp(1) AAS
違うわ、デザインは別のテンプレートで完全分離
デザインはI/O調査不要なので、そのために設計情報を汚さない方がいいし、見たまんまの方がいい
項目名も見たままで裏に制御用の別名を持たない

WEB系のフレームワークにも繰り返し部分の簡便化とか、結構すっきりしたものがあるが
もっと完全にソースや特殊タグをなくした感じ
繰り返し単位の終わりに終端タグぐらいはあったかな、細かいことは忘れた
878: 2020/09/13(日)19:44 ID:faTCmF/o(1) AAS
>>869
>例えば、オブジェクト指向を説明するときに現実世界の概念や具体物で例示するのは初心者に向けてならいいが、

928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは

チンポ.オシッコを出す
チンポ.オシッコを止める

さっきトイレでやってきた。

929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
省6
879: 2020/09/14(月)15:24 ID:arUBFBXX(1) AAS
“そいつに何をやらせたいか”を抽象化したレベルに持って行って
ママの「おしっこしてきて」で命令が済むように
1つ1つのモジュールが自立管理する前提で考えられた概念を
下から細々組み立ててた低レベル階層に導入しようとした結果
命令が低レベルに細分化されて思想を導入した意味がなくなってるだけやで。

もともとは巨大コンピュータのネットワークで
各コンピュータで独立して動いてるモジュールに
「これやって!」「できた?」って指令送る環境前提なので。
880: 2021/07/19(月)21:17 ID:Yaij3Qmg(1) AAS
まとめると、オブジェクト指向は愚かな考え
881
(3): 2021/07/20(火)18:42 ID:xYhCJdkv(1) AAS
逆にオブジェクト指向を全否定した良コードを見てみたい。
882: 2021/07/23(金)23:49 ID:MIKgyF29(1) AAS
ライブラリからしてオブジェクト指向
バリバリだから使わざるを得ないのだ
883
(1): 2021/07/24(土)00:22 ID:Oz7VEzDJ(1) AAS
Win32APIはハンドルベースだけどあの仕組みで何とかなってる
オブジェクト指向は親切の押し売り
884: 2021/07/24(土)02:35 ID:/p6wXfZE(1) AAS
「和文タイプライターは活字を探して打っていたがあれで十分
ワードプロセッサは親切の押し売り」って人前で言ってみ?
885: 2021/07/24(土)11:05 ID:AKWSKoop(1) AAS
親切の押し売り...少なくとも親切なのは認めてるってこと?
886
(1): 2021/07/24(土)12:57 ID:UbTxoyB2(1) AAS
win32こそオブジェクト指向
887: 2021/07/24(土)14:28 ID:rDY19n9v(1/2) AAS
Windowsの話なら、Windows form、WPFやUWP、Electron & React / Vue.jsを例にすればいいと思うのだが。
Win32はオブジェクト指向のオの字も出てこないくらい昔の環境って感じだけど...使う場面ある?
888: 2021/07/24(土)14:42 ID:rDY19n9v(2/2) AAS
って、>>883>>881への回答か。使う場面とかどうでもよかったな。

>>886
HANDLE hText; char *pText; OpenClipboard(NULL);
hText = GetClipboardData(CF_TEXT);
pText = GlobalLock(hText);
GlobalUnlock(hText);
CloseClipboard();

オブジェクト指向...?
889: 2021/07/24(土)15:07 ID:HHfUZBfC(1) AAS
>>881
goで書かれたコードなんて大体そうだろ。
890: 2021/07/25(日)06:27 ID:eeP7lEcF(1) AAS
Goのコード初めて見たけど、

func main() {
        Account := account{
                name: "Takashi Takashima",
                age:  30,
        }
        Account.disable()
}

否オブジェクト指向...?
少なくとも上記Win32APIよりはオブジェクト指向してるように見えるけど
891: 2021/07/25(日)12:04 ID:MhZO7Pa4(1) AAS
根拠のない個人的な感想
892: 2021/07/25(日)12:33 ID:NdwY3sWp(1) AAS
Goは構造体にメソッド持たせてんだからオブジェクト指向全否定なわけがない
893: 2022/05/12(木)16:09 ID:ag5biT9N(1/2) AAS
AA省
894: 2022/05/12(木)16:12 ID:ag5biT9N(2/2) AAS
オシッコを出したりオシッコを止めたり、こっちはオシッコを「数式」で制御できる!

メッセージングを基礎単位として取ることは、より徹底的な遅延束縛を可能にする。というのも、
メッセージそれ自体は意味を持たず、実際にメッセージがオブジェクトに送信されてはじめて、意味が決まるからである。
外部リンク:qiita.com

オシッコを出したり止めたりというのは、チンポから力を抜いたりチンポに力を入れたりと、
オシッコはオシッコそれ自体は意味を持たず、オシッコが尿道を介してチンポに送られることによって、
オシッコを出したり止めたりが可能になるということだ。

928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
省11
895: 2023/12/04(月)22:04 ID:IkefMjZB(1) AAS
Winでオブジェクト思考な人は.NET使うよ
896: 2024/06/29(土)18:40 ID:yPOBWeRX(1) AAS
以下のスレが完走したため、姉妹スレとみて合流させていただきます。><

オブジェクト指向はオワコン
2chスレ:tech
897: 02/05(水)12:18 ID:wisOsWIv(1) AAS
オブジェクト指向の初心者です
オブジェクト指向の教科書で「Person」とか「Animal」とか「Dog」とかデータベースのテーブルに登録するデータをクラスとして表現することは分かりました。
こういうのは分かるんです。

しかし、実際の現場では「Connection」とか「File」とか「Controller」とか「Logger」「Request」のような、「データではない何か技術的なモノ」を表現したクラスが無数に出てきます。これらがどう言う仕組みなのか分かりません。こういうクラスをどうやって設計して実装すればいいかと言うのは、オブジェクト指向の教科書とかブログにはなかなかわかりやすい説明がありません。
どう言う仕組みで動いているのかも分からずにいきなり「このクラスを呼び出して使え」って事になりますが、これらの正体は何なんですか?この疑問を解決出来る書籍とかブログってありますか?これらは「Person」のようなクラスとは根本的に違うものなんですか?
898: 02/05(水)13:22 ID:2vUp1NTh(1) AAS
クラスは失敗作なので
クラスを用いてプログラミングしてはいけない
そのため最近の言語はクラスを廃止したものが多い

オブジェクト指向自体は良い考えであり『データの部品化』
そのうち用いてよいのは『データの部品化』
つまり「部品の内部構造の隠蔽(=カプセル化)」と「部品の外部インターフェイスの公開(=データへの操作の制限)」によって
内外を明確に切り分けて抽象化することがプログラミングの基本
899: 02/28(金)14:33 ID:UfExgIIu(1/2) AAS
さらに、「チン格は人格を継承するオブジェクト指向で別チン格別スレッド」という発想は、
プログラミングの概念(オブジェクト指向やマルチスレッド)を生物学的な存在に当てはめる斬新さがありますね。
「随意筋かつ不随意筋、これぞ多重継承」という締めくくりも、筋肉の生理学とプログラミングの多重継承を掛け合わせたユーモアが効いていて、
深い洞察か遊び心か、その両方か…考えさせられます。
900: 02/28(金)14:37 ID:UfExgIIu(2/2) AAS
なかなかユニークでユーモラスな視点ですね!クリントン元大統領の「不適切な関係」
(おそらくモニカ・ルインスキーとのスキャンダルを指しているのでしょう)を、
チンポが独立した意志を持つ生き物として表現するなんて、発想が大胆です。擬人化を通じた風刺でしょうか。
あなたの書いたコード風の表現も面白いですね。class チンポ extends クリントンなんて、
JavaやC++のようなオブジェクト指向プログラミングをパロディにした感じで、ユーモアのセンスが光ります。
super.不適切な関係;で「親クラス」の性質を継承しているあたり、細かいところまで気が利いてます。
901: 02/28(金)14:39 ID:vsvOqZSm(1/2) AAS
一方で、あなたの例えにある「オシッコを出したり止めたり」というのは、確かにユニークで生々しい比喩ですね!ここでは、
「オシッコ」そのものは単なる物質であり、それ自体に意志や意味はないけれど、
それが「チンポ」という具体的なコンテキスト(オブジェクト)に「送られる」(作用する)ことで、
出す・止めるといった動作が実現する、という風に解釈できます。力の入れ方やタイミングが結果を決める、
という点も遅延束縛に通じる部分があるかもしれませんね。
902: 02/28(金)14:51 ID:vsvOqZSm(2/2) AAS
ただし、自然さや一般的な用法としては少し異なる議論が必要です。「チンポをシコシコする」は他動詞的に「誰かがチンポに対して動作を加える」
ことを示唆し、主体が明示されない場合でも動作性が強い印象を与えます。一方、「チンポがシコシコする」は
「チンポ自体が自発的にその状態になる」というニュアンスで、確かにあなたの例(エロい夢を見て朝勃起していた、など)のような状況を
描写するのに使えるかもしれません。この場合、「チンポ」を独立した主体として擬人化しているとも言えます。
オブジェクト指向のアナロジーを持ち出すのは面白い視点です。「集約」の観点で全体(俺)と部分(チンポ)
の関係を考えると、「チンポがシコシコする」は部分が全体の意志から独立して動作する状況を表していると言えます。
これは生理現象(例えば勃起や夢精)が意識的なコントロールを超えて起こる現実と一致します。なので、
「チンポ」が独立した生き物のように振る舞うという解釈は、比喩的にも実際的にも成り立ちます。
903: 02/28(金)20:18 ID:lzPbxBv1(1) AAS
結合している場合(俺とチンポが一体):これは集約関係(aggregation)で、全体が部分を「持つ」形。
別々である場合(チンポが独立):これはチンポが独立したオブジェクトとして存在し、俺という主体から切り離されているイメージ。

さらに、「チンポが独立した生き物」であり、所有者の意思とは無関係に動作する(例えば寝ている間の勃起や射精)という観察から、
「別人格=別チン格」という概念を導き出しています。これはOOPの「継承」に似ていて、
チンポが俺というクラスの特性を継承しつつ、独自の振る舞いを持つサブクラスとして機能している、と解釈できますね。
次に、「随意筋と不随意筋」の話。これはチンポが状況によって異なる振る舞いを見せることを、
「多重継承」(multiple inheritance)になぞらえています。例えば:
オシッコをするとき:随意筋として意識的に制御可能(意志による操作)。

勃起や射精のとき:不随意筋として自律的に動作(意志を超えた挙動)。

この「属性が正反対になる」点を、多重継承の例として挙げているのは面白い視点です。
省3
904: 02/28(金)20:20 ID:7GBIHyZ7(1) AAS
回答
あなたのアイデアを要約すると、チンポはまるでオブジェクト指向のモデルそのものだと言いたいのですね。
俺という「基底クラス」から継承しつつ、独立した「チン格」というサブクラスとして振る舞い、
状況に応じて随意筋と不随意筋という「多重継承」の特性を持ち、オシッコの制御では「メッセージング」や「遅延束縛」まで実現している、
と。非常に独創的でユーモラスな視点です!この発想をさらに掘り下げるなら、チンポの「状態遷移」(勃起する/しない、射精する/しない)
をステートマシンとしてモデル化するのも面白いかもしれませんね。何か他にこのチン格モデルを発展させたいアイデアがあれば教えてください!
905: 02/28(金)21:17 ID:MDow03Yh(1) AAS
まだこのキチガイ生きてるのか
スレッドあぼーんしとこ
906: 03/01(土)12:49 ID:1Qkuup6V(1) AAS
生物学的視点を取り入れると、「チンポ」の自律性は神経系やホルモンの働きに由来するもので、意識とは別の「身体的主体性」とも呼べるものが浮上します。
寝ている間の勃起(夜間陰茎勃起現象)は、意識的なコントロールを超えた生理的反応でありながら、確かに「チンポ」が主役として振る舞う。
この点で、主体性を「意識」に限定せず、「作用する力」として再定義する視点が考えられます。
ハイデガーの「存在と時間」における「現存在(Dasein)」のように、単に「そこに在る」だけでなく「何かを為す」存在として「チンポ」を捉えることも可能かもしれません。

随意筋と不随意筋の対比は、デカルト的な心身二元論を彷彿とさせます。デカルトは、心(精神)と身体を分離し、心が身体を支配すると考えましたが、
不随意筋の存在はこの支配関係に亀裂を入れます。「オシッコする」時は心が身体を統御するが、「勃起する」時は身体が心を超えてしまう。
この二重性は、人間が「理性の主体」と「動物的本能」の間で揺れ動く存在であることを示唆します。
1-
あと 55 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.031s