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

2016/01/05(火) 02:10:25.72ID:hJUQcrkl
オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
https://twitter.com/ProgrammingMono/status/665702678006140928

研究グループは、血管新生注において血管が伸長する際の血管内皮細胞注運動を制御するしくみを、生物学と数理モデル・
コンピュータシミュレーションを融合させた先端的な研究手法により明らかにしました。

生物は、最小の機能単位である細胞が寄り集まった多細胞体です。しかし、細胞の集まりが、組織や器官といった
秩序ある形態や構造をつくり機能するしくみはほとんど分かっていません。中でも血管は、体中の全組織に十分な
酸素や栄養源を効率よく供給するため、組織や組織の間に入り込み、血管外の環境との相互作用により、巧妙な
枝分かれ構造をとっています。

これまでに本研究グループは、新しく血管がつくられる(血管新生)際の細胞の動きに着目し、特に血管内皮細胞の
動きをリアルタイムで可視化し、定量的に捉えることを可能にしてきました。

今回さらに、血管の伸長を制御するしくみについて、細胞が自発的に自らを制御して動く過程(自律的過程)と、
隣接した細胞から適宜影響を受けて動く過程(協調的過程)がうまく共存することで、全体の動きが巧みに統制
されていることを世界に先駆けて実証しました。

興味深いことに、血管内皮細胞が前後したり、お互いに追い抜きあったりという血管新生で見られる複雑な細胞集団の
動きを制御している中枢部分は、細胞一つ一つの動き(スピードと方向性)の「確率的な変化」として十分説明できる
ことをコンピュータシミュレーションで実証しました。
http://www.jst.go.jp/pr/announce/20151120-2/#YOUGO3

前スレ
オブジェクト指向は愚かな考え。この世は計算式 ★2
http://peace.2ch.net/test/read.cgi/tech/1450153388/
2017/07/28(金) 10:03:16.12ID:orh4jmw3
>>791
前からちょいちょい思ってたけれど、脳がパソコンの一個のCPUで完結してる人とか
処理時間の遅れとか当人の脳内世界に存在しないから概念が理解できないみたい。
60年代に大学間などの通信ネットワークが作られてこのかた
現代のマルチタスク・マルチコアに至るまで
相手の処理終了が不明な状態で
"逐次実行なんか期待できない"というところから話が始まってるのに
脳が「プログラムってバッチ処理だろ?」で止まってるから
「順番に動かないプログラムなんてあるか!」って本気で思ってるんだよ、こういう人…
2017/07/28(金) 13:34:41.77ID:NpsU3dCh
>>792
>全部電波じゃねえかwww

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

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

これをオブジェクト指向と呼んで良いのなら、ユニックスのシステムコールやWin32 APIからハンドルを受け取って
ハンドルに対して操作を行うのは全部オブジェクト指向と呼んで良いことになる
2017/07/29(土) 15:11:23.58ID:sLFMqneM
>>793
順番として書けないプログラムがあるか!!!!111!!!!1!

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

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

逐次実行が期待できないケースがあったとして、それはそれで置いておくけど
逐次実行が期待できるケースにまでそのモデルを使わなければならないのかどうなのか
ってのは有ると思う
a = 1 + b; ・・・@
b = c + 2; ・・・A
の@Aに関しては、少なくとも逐次実行を期待したいし
複雑なモデルは必要ないと思う

全部の個所において、ありとあらゆることを想定した包括的モデル、を適用するのは
あまり好きではない
800デフォルトの名無しさん
垢版 |
2017/07/30(日) 00:46:29.50ID:k8Kwm2zH
a={1,2,........100};
sum(a);

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

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

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

各スレッドでソートして、最後にマージするとか
806デフォルトの名無しさん
垢版 |
2017/07/30(日) 20:37:12.58ID:OOsADo1S
>>804
全部揃いさえすれば=同期とったら

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

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

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

ほとんどのOO言語のオブジェクトの実装は
「データと処理を一纏めにしたもの」、っていう実装になってることが多いんだから
それを考えると、ほとんど何でも実装しやすいんだけども
(↑マルチタスクとかシングルタスクとか関係なくね)
この説明に拒否反応を示す人がいて
> いまじゃ誰も電波すぎて理解できねぇよ。
って言うから、どーなんだよ、と
オブジェクトはデータと処理を一纏めにしたもの、ってそんなに理解しにくいか?という話だったはず

ただ、この説明の仕方は、かなりボトムアップ的で、実装から炙り出したところがあって
「とどのつまりこういうことだろ」と頭ごなしに言われているようで気分が悪い
つまり、オブジェクト指向の効率的で有効な実装は、えてしてそうなる、というような
あとオブジェクトの全貌は語ってなくて、「言っている範囲においては間違ったことは言ってない」
程度の説明でしかないけども
しかし実際にそのような実装になってる言語が多いから、完全に無視してよいというものではないし
頭にはおいておかなければならないね
2017/07/31(月) 20:33:56.98ID:E0ER4Q8l
>>806
>全部揃いさえすれば=同期とったら
さも最初から書いてあったかのように嘘を言い…
2017/07/31(月) 20:46:14.25ID:nj7BetAr
「あ、お客さま、こちらのおリンゴ少々傷んでおりますので、交換致しますね」

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

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

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

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

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

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

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

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

ポイントは「換算」というタスクは当該クラスが責任を持つ仕事で
処理を頼んだ側まで責任は及ばない設計になっていることです。
オブジェクト指向の思想ではそれぞれで責任が切り分けられているので
プログラムの修正の際に修正が延々波及する事態を抑制できるし
処理はタスクを行う実行単位で切り分けられているから
処理終了を待つ必要のないタスクは並列実行できる。
"そういうこともできる"ではなく"そういうことをやるように"仕様が作られている。
そういう違いです。
2017/08/01(火) 23:31:45.78ID:zRlG3ihR
で、結局クラスやオブジェクトの持つメカニズムについては言及しないのであった
書いてある内容は「そういう風に考えてください、そういう風にとらえてください」
程度のものでしかない
後半の並列処理なんか全然オブジェクト指向と関係が無いしな
そういう風に書けば、そうなる、ってだけ

「ポイントは「換算」というタスクは〜」の部分に関してなど
一般化して他のものに関しても同じことが言えるし
何の説明にもなってない
唯の一般的に良いといわれるプログラミングの作法を説明しているに過ぎない
もちろんその作法はOOPでも通用するが、OOPの説明にはなってない

例えば、クラスを"関数"に置き換えて
「ポイントは「換算」というタスクは当該"関数"が責任を持つ仕事で
 処理を頼んだ側まで責任は及ばない設計になっていることです。
 "関数"を使う思想では、それぞれで責任が切り分けられているので
 プログラムの修正の際に修正が延々波及する事態を抑制できるし
 処理はタスクを行う実行単位で"関数"に切り分けられている」
っていう風に言ったって別に通じるし、オブジェクト指向の説明になってないことが分かる
一般的に良いといわれるプログラミングの作法を説明しているに過ぎない

となれば結局、「関数とクラスは何が違うのか」って事がクローズアップされるべきで
「関数じゃなくてクラスはレートってデータを持ってて、換算という操作関数が付いてんだろ?」
ってのは結構的を得た説明なわけだ、少なくとも君の糞みたいな説明よりは
2017/08/01(火) 23:33:36.12ID:zRlG3ihR
だたし、オブジェクトはデータと処理を一纏めにしたものって説明は
オブジェクトの性質の全部を言い表しているわけじゃない
「言っている範囲においては間違ったことは言ってない」程度のもの
2017/08/01(火) 23:58:00.10ID:jGPQWGeS
なんかまだ現実を理解していないみたいだけど
誰かがそう考えているとかそういう話ですらなくて

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

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

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

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

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

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

MNVZG
844デフォルトの名無しさん
垢版 |
2018/07/05(木) 00:08:30.02ID:RfoszcD2
6OE
845デフォルトの名無しさん
垢版 |
2018/10/21(日) 08:38:21.16ID:EM6DzNCN
>例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。

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

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

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

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

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

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

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

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

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

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

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

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

オブジェクト指向は愚かな考え
https://hayabusa9.5ch.net/test/read.cgi/news/1592474015/
    
863デフォルトの名無しさん
垢版 |
2020/06/18(木) 22:57:20.55ID:g18Fqbw/
未経験から半年でフリーエンジニアになれる人の特徴
https://www.youtube.com/watch?v=YCxu0jn52Qw
フリーランスか会社員かどっちが簡単かについての最終回答
https://www.youtube.com/watch?v=JA4JNSmIdxI
【エンジニア】正社員/派遣社員/フリーランスのメリット・デメリットについて
https://www.youtube.com/watch?v=fTG-eMpwhCg
月収1000万円オンラインサロンオーナーの日常【飲み過ぎ】
https://www.youtube.com/watch?v=lPfWZLatYus&;t=107s
借金400万円から人生逆転するまでの軌跡
https://www.youtube.com/watch?v=fXdHlFFUjGY
エンジニアはお金を追求してはいけないという年寄りを論破してみた
https://www.youtube.com/watch?v=qJHCmxFv718
プログラミングスクールを否定する老害どもについて
https://www.youtube.com/watch?v=K2SN-Rr0PgY&;t=506s
新人叩きしてる古参勢がすぐ儲からなくなる理由
https://www.youtube.com/watch?v=Ch9Ir8O-iqU&;t=332s
864デフォルトの名無しさん
垢版 |
2020/07/05(日) 20:23:41.66ID:9rom7SPB
ところで「チンポがシコシコする」という日本語表現は、文法的に正しいのか?

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

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

違うか?

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

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

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

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

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

ただし物事をなんでもSQLに置き換えるような思考回路が要求され、ウルトラ級のSEしか扱えない
メタシステム自身の改修となると、ウルトラスーパー級(ようは言語自身を開発するようなことなので)

社内政治により引き継ぐ間もなく追い出された(または立ち去った)ので、その後は知らない
(担当者が自殺未遂したとの噂)
877デフォルトの名無しさん
垢版 |
2020/08/31(月) 07:52:15.71ID:RaR8PZxp
違うわ、デザインは別のテンプレートで完全分離
デザインはI/O調査不要なので、そのために設計情報を汚さない方がいいし、見たまんまの方がいい
項目名も見たままで裏に制御用の別名を持たない

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

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

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

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


929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。

×
俺.オシッコを止める 俺.オシッコを出す

俺.チンポに力を入れる 俺.チンポから力を抜く
2020/09/14(月) 15:24:58.35ID:arUBFBXX
“そいつに何をやらせたいか”を抽象化したレベルに持って行って
ママの「おしっこしてきて」で命令が済むように
1つ1つのモジュールが自立管理する前提で考えられた概念を
下から細々組み立ててた低レベル階層に導入しようとした結果
命令が低レベルに細分化されて思想を導入した意味がなくなってるだけやで。

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

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

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

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

否オブジェクト指向...?
少なくとも上記Win32APIよりはオブジェクト指向してるように見えるけど
2021/07/25(日) 12:04:27.73ID:MhZO7Pa4
根拠のない個人的な感想
2021/07/25(日) 12:33:56.77ID:NdwY3sWp
Goは構造体にメソッド持たせてんだからオブジェクト指向全否定なわけがない
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況