オブジェクト指向は愚かな考え。この世は計算式 ★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/
2016/07/21(木) 23:16:46.30ID:vaQfL518
生き残ったっていうのは古い言語とくらべての話?
確かにFortlanとかPascalは消えた。
多くの優れた言語が生まれている中、今でも通用するのは
C言語ぐらいだと思うが。
2016/07/21(木) 23:17:21.89ID:zfBmPUKU
どちらも消えてねーだろw
2016/07/21(木) 23:21:30.21ID:vaQfL518
>>410
第三者の人が検証できるランキングとかある?
そりゃどこか目につかないところではあるかもしれないが、
例えばその言語で仕事したいと思ったとき
探せ出せないような言語は消えたと思っていいだろう。
2016/07/21(木) 23:39:22.80ID:zfBmPUKU
>>411
Intel Visual Fortran とかググッてみ。
リアルタイムで今も製品出てるのを消えたとは言わないでしょ。
2016/07/21(木) 23:45:13.87ID:vaQfL518
>>408
ということで、C以外も生き残ってるんだが?w
2016/07/21(木) 23:52:22.14ID:dNMEb7c5
問題は暗黙に行う言語の動きに対してどれだけ
コンセンサスがとりやすいかってことだ。
c++ はもうその意味でどっか行ってる。
2016/07/22(金) 01:30:33.86ID:znBq8w6k
>>407
俺の言いたいことはそういうことじゃなくて
ローレベルな世界ではその言語固有のオブジェクトになってない
単なるメモリブロック、データ、信号を扱わなきゃならない場面が多いんだよ
それはファイルから読み込まれるかもしれないし
ネットワーク越しにやってくるかもしれないし
ディバイスとのやり取りかもしれないし
ま、要するに単なるデータ
Cはメモリモデルがシンプルだからこういった単なるメモリブロックを扱うのに
長けているんだよ
構造体にキャストするだけでそのまま扱えるから
今でもC言語が現場で活躍しているのはこれができるから
もしこういったことが出来なかったとしたら、C言語なんかとっくに滅んでいたに違いない
メモリブロックをキャストして構造体や配列としてアクセスできないとしたら
そんなC言語に価値なんかあるか?
その一点がすごいんだよ、マジセンスある、もしくは運が良かった
2016/07/22(金) 01:46:19.31ID:znBq8w6k
そして多くの言語が見落としがちな部分でもあったんだよ
オブジェクトにしなきゃならないっつってvtable持たせたり
動的にしなきゃならないと、メンバをオフセットではなくハッシュにしたり
どんどん賢い機能を盛り込んでさ
その点C言語の構造体や配列はフラットでむちゃくちゃシンプルな作り
適当なメモリブロックをキャストしても何の問題も起きない
仕様もシンプルで分かりきってる
2016/07/22(金) 02:02:58.97ID:znBq8w6k
別に必ずしも偉い機能を盛り込むのがダメと言っているわけじゃないよ
ただ、Cが何故か生き残っていて今でも使われ続けている原因はソレということ
C言語の用途と、うまい具合にマッチしてて、いい感じに生き残っている
2016/07/22(金) 03:13:29.97ID:7iYsigKa
だからなんだよ?
2016/07/22(金) 07:29:28.61ID:cZVknNWP
構造体の先頭メンバ以外のオフセットは規定されていない
まぁ、オフセットなのでメンバアクセスでどうとでもなるわけで
構造体が定義されたままメモリ上に存在していると考えているアホ
一般的なコンパイラなら定義通りだろうけど規定されていない
規定されていない規定されていない
2016/07/22(金) 08:09:11.54ID:+awE6fq0
構造体のメンバ間のパディングは未規定だけど、オフセットが未規定って言うのは
順番も入れ替わるって言ってるの?
421デフォルトの名無しさん
垢版 |
2016/07/22(金) 09:35:29.96ID:+Z+w/IAX
簡単に入れ替わるさ。
わざわざ入れ替えないでねと指定するレベル
2016/07/22(金) 10:31:03.00ID:znBq8w6k
構造体のメンバの順番が入れ替わらないのは仕様で決まっているよ
決まってないのは間に入る詰め物だけ
http://portable-c.jugem.jp/?eid=17
しかし、詰め物をどうするか、指定できるコンパイラがほとんどだから
実質的に詰め物も問題にならない
C言語プログラマーは自分の使っているコンパイラの仕様ぐらい分かって使っているからね
問題になるとすればエンディアンぐらい
423デフォルトの名無しさん
垢版 |
2016/07/22(金) 12:25:18.70ID:TIRA9iEO
JIS規格だろそれ。。。
424デフォルトの名無しさん
垢版 |
2016/07/22(金) 13:24:25.19ID:+Z+w/IAX
intのサイズがアーキ依存だから通信に構造体は使うなってのが常識だけどな。
425デフォルトの名無しさん
垢版 |
2016/07/22(金) 13:25:41.52ID:+Z+w/IAX
ネイティヴアメリカンの件もあるしな。
2016/07/22(金) 19:29:05.65ID:5OURMCtc
cはメモリは意識するがレジスタは隠蔽するって落とし所がよかったんじゃない。
2016/07/22(金) 19:41:14.28ID:jv7yTJni
Cはパーサが複雑なのとゼロコストで導入できる便利機能が無いのを除けば悪くはない
2016/07/22(金) 22:14:58.88ID:Oi2oQZIZ
cの最大の失敗は波カッコ
ブロックのスコープがパイソン風だったら人類は1世紀以上先の進んでいた
2016/07/23(土) 00:49:12.76ID:KFsxU+fY
代入演算子=と比較演算子==だけは許されざるよ。
つうか、IDEのサジェスチョン機能実装前の
"タイプ数が減る云々"な言語はすべて滅ぶべし。
2016/07/23(土) 01:22:33.59ID:tWjtYIW6
C言語は特徴ある機能で生き残ることができた。
だけそのその特徴ある機能がなかったら生き残れないのか?というと
そうではない。現にその特徴ある機能がない言語ばかりだからだ。

ここから言えることは、なにもない言語は消え行く定めだが、
C言語の機能がなくとも、それに上回る機能があれば生き残るということだ。
2016/07/23(土) 01:27:50.24ID:tWjtYIW6
>>429
IDEを使うことでタイプ数が減る機能はどうでもいいんだよね。

どうでもいいというのは、タイプ数が多くても少なくても
さほど違いはないということ。

重要なのはタイプ数じゃなくて読む文字数だから。
ただしタイプした文字数=読む文字数ではないということ。

どういうことかというと、人間は文章を読むとき
読み飛ばしをするということ。

例えばJavaでいうimportやMainクラス定義なんかは
読み飛ばす部分。だからそんなところで読む数の違いは出てこない。
また型定義は読むところではあるが、型定義だけを読むことで
型を理解できると言うメリットが有る。

これは型が書かれていないコードから、型を解析する
作業よりも読む文字数は少なくなる。
2016/07/23(土) 18:21:41.45ID:6yKmk1QH
代入演算子は要らなかった
2016/07/23(土) 23:13:50.14ID:7iusE9pH
代入は文であって値を持つべきでないと?
434デフォルトの名無しさん
垢版 |
2016/07/23(土) 23:53:23.87ID:zx6tBrAB
愚か者めが
2016/07/24(日) 07:03:52.43ID:L1GkLU8N
Cが生まれた時代はな
シンタクスハイライトどころか下手すると
スクリーンエディタ(キリッ カットアンドペースト(キリッ
すら高価な機能だったんやで
436デフォルトの名無しさん
垢版 |
2016/07/26(火) 15:33:00.26ID:ka5+GTWz
テキストエディタが数万円してからな
2016/07/26(火) 16:33:02.33ID:dc6Ut+6F
Cが生まれた頃にはまだコピー&ペーストはなかったぞ。
2016/07/26(火) 16:39:32.99ID:qFADw225
最初のクリップボードはAltoかな
Cが1972年でAltoが1973年
2016/07/26(火) 16:42:33.79ID:P0pX8+u1
>>430
で、その、この先生きのこるのはどの言語!
2016/07/26(火) 17:29:32.48ID:XfeIwbpB
アセンブラ C Fortran Lisp の古代言語
Javascript COBOL Python
HTML PHP はなんだかんだ言って生き残るんだろな〜

あとは Java がどうなるかな
2016/07/26(火) 21:54:04.74ID:8mWO7mKy
言語じゃないというのはナンセンスか
2016/07/26(火) 22:19:28.08ID:3gO7Ljql
お前ら、テーマに戻れや。
なぜオブジェクト指向は愚かな考えなんだ?
443デフォルトの名無しさん
垢版 |
2016/07/26(火) 22:55:12.03ID:wvFbwXsy
愚かな設計が蔓延してるってことだな
444デフォルトの名無しさん
垢版 |
2016/07/26(火) 22:55:59.68ID:wvFbwXsy
>>4
これがすべてじゃないの?
445デフォルトの名無しさん
垢版 |
2016/07/26(火) 23:00:24.73ID:wvFbwXsy
初期設計を少しでも間違えたり手抜きしたら
そのシステムの成長絶望的になり死ぬ
2016/07/27(水) 02:09:24.84ID:gQfYvWZ4
>>444
そして>>41-42で完全に解説完了
ジョークとしてわざとオブジェクト指向として間違ったプログラム例だしてるってのに
「この通りオブジェクト指向は直感に反して〜」じゃねぇっつのw
2016/07/27(水) 02:12:13.92ID:gQfYvWZ4
>>440
Javaは普及してるから残るだろうなぁ
なんか、いつものベストじゃないけど普及したから
ベターとして残るというプログラム史のいつもの展開というか。
2016/07/27(水) 06:54:54.29ID:cUWSkWnI
問題はそういうジョークを本気にする人が多すぎるってことだろうに。
つまりオブジェクト指向ってのは一般にコンセンサスをとりずらい概念なんだよ。
2016/07/27(水) 06:58:14.97ID:LCC7iz/I
おまえ等の好きそうなネタ見つけた

オブジェクト指向で料理を例える場合,chicken.cut()かchef.cut()か
https://teratail.com/questions/41875
2016/07/27(水) 07:29:08.70ID:mL4CmQKe
>>446
コーヒーの例は単純明快だからいいけど、美少女は実際に正しく設計できるやつが日本に何人いるかってレベルだろうな
2016/07/27(水) 07:30:19.55ID:+Qq3g4cQ
>>448
これをジョークだと思って実戦に挑む奴がデスマーチを引き起こす
2016/07/27(水) 07:32:08.18ID:iBdKVqyS
基底に近いほど修正しづらいのは事実
453デフォルトの名無しさん
垢版 |
2016/07/27(水) 07:33:05.82ID:8lCNqFHq
>>451
ほんとこれ
2016/07/27(水) 09:54:15.05ID:8yC4YC1p
>>449
tokage.cut()
455デフォルトの名無しさん
垢版 |
2016/07/27(水) 12:23:59.26ID:mW7SlT40
くだらん与太話はこれくらいにしてそろそろ全力でウンコ美少女問題に取り組むか
456デフォルトの名無しさん
垢版 |
2016/07/27(水) 17:21:14.58ID:8Owc4Qqf
ウンコしない美少女は偶像
つまり人間からの派生ではない
2016/07/27(水) 17:58:49.99ID:CvwlEFOq
なんか、いっつも同じレベルの書き込みするから
自演になってないって自覚しとる?きみ。
458デフォルトの名無しさん
垢版 |
2016/07/27(水) 19:55:41.64ID:9bIrtjQt
ユーザーはうんこなんて機能は求めて無いから削除しろよと
2016/07/27(水) 20:16:04.55ID:YbwWr11d
人間がウンコするのは、
ユーザーが求めているからなのか?
460デフォルトの名無しさん
垢版 |
2016/07/27(水) 20:21:12.98ID:9bIrtjQt
ソフトの機能に不要な要素まで組み入れても誰も買わないだろ。
現実の要素を完全に網羅する必要は無いから
2016/07/27(水) 21:23:16.38ID:dkELqw5/
それは当たり前のことではあるな
必要な要素だけ実装すればよいからな
Humanクラスがどういった要素を持つかは案件によるし
もし人の持つすべての機能をHumanクラスに実装できるっていうんなら
そのHumanクラスにプログラムも書いてもらえばよい

よって現実の人間がうんこをするからと言って
必ずしもHumanクラスにうんこをする機能が必要かどうかはわからないし
必要な案件に出会ってから美少女クラスのうんこの扱いについて考えればよい
2016/07/27(水) 21:50:52.30ID:eu5RKOJ4
要件で一言も触れてないのに「はぁ?○○はあって当然だろ」とか言い出す顧客しかいないから
想像できるものは全て詰め込んでおく必要がある。
ウンコだろうとゲロだろうと例外はない。
2016/07/27(水) 22:27:39.20ID:YbwWr11d
肝心なことを決めずに作り込んでいく。
美少女クラスのスーパークラスは人間クラスである。
排便メソッドは関係ないからそれでいい。
だが、ある時ユーザーからの要望で人間クラスに排便メソッドを作った。
人間だもの、当たり前だ。
それでいいと思った。その時がくるまでは。
ある時私は気がついた。
これだと美少女が排便すると www
464デフォルトの名無しさん
垢版 |
2016/07/27(水) 22:41:58.99ID:60oYSks+
このスレ的にはgo言語とかD言語のダックタイピングってどうなん?
2016/07/27(水) 22:47:49.85ID:rlINsgdh
ダックタイピング

由来

アヒルのの鳴きマネをする人間はアヒルに違いない
466デフォルトの名無しさん
垢版 |
2016/07/28(木) 00:19:19.54ID:c5ty+8F5
ダッチワイフィング

由来

オランダの人妻はエロいに違いない
467デフォルトの名無しさん
垢版 |
2016/07/28(木) 00:47:19.73ID:6VZFO4sX
オブジェクト指向は幻想
468デフォルトの名無しさん
垢版 |
2016/07/28(木) 00:48:34.40ID:/rI5OmsP
COBOLからJavaへの移行で「実際に」成功した案件は存在しない
469デフォルトの名無しさん
垢版 |
2016/07/28(木) 00:49:15.93ID:LhM4XtYR
細胞から実装しろ
470デフォルトの名無しさん
垢版 |
2016/07/28(木) 00:49:41.59ID:OYshXAPi
元素から実装しろ
2016/07/28(木) 01:51:28.53ID:y7xhJAs5
>>468
COBOLって単なる言語じゃなくて運用まで含めたシステムの総称だからな。かなうわけがない
とは言え、高賃金のCOBOLプログラマーもいずれ死に絶えるわけでなんとかしないといけないんだけどさ
Adaなんか勉強して損した
472デフォルトの名無しさん
垢版 |
2016/07/29(金) 12:00:06.26ID:TRgFQe5b
Ocamlならあるいは
2016/07/29(金) 18:48:09.16ID:POEPtDrt
ないない
そもそもCが小文字の時点で語る資格なし
474デフォルトの名無しさん
垢版 |
2016/07/30(土) 00:08:52.44ID:lNYXBi4+
ならScalaでスイス銀行の例もあるし?
2016/07/30(土) 00:35:24.99ID:gkAo/Cig
具体的に
2016/07/30(土) 15:22:29.13ID:OSfj7rnr
オブジェクト指向を考え出した人間もオブジェクト指向の解釈を誤っていたのではないか
クラスというのは人間が直感的に思い描く世界の事物をプログラムコードにマップする手段ではなくて、
プロセスという大きなチューリングマシンの中の小さなチューリングマシンを記述する手段にすぎなかった
(チューリング完全性の利用例の一つだった

クラスのコンストラクタは状態機械であるところのチューリングマシンの初期化と生存期間の始まりに相当する
デストラクタは後始末と生存期間の終わり。
メソッドはチューリングマシンにlive timeを与え、計算を進めさせる。
そんだけ

状態(mutableなデータ)を含むから関数型プログラミングとは似て非なるものだし、
数学的にカタをつけるにはチューリングマシンの一変種で無限長の磁気テープをクラスで小分けにしたもの、
としか言い様が無い
2016/07/30(土) 15:46:36.80ID:OSfj7rnr
こう考えると継承のしくみを使ったプログラミングが
ごく一部のデザインパターンにおいてしか成功しないことも理解できる
継承というしくみのは人間が「こうだったらイイなあ…」と思い描いて作っただけで、
>>476な解釈からは必然性が出てこない
つまり継承というしくみは論理的妥当性を欠いており、
継承を下手に使ったらあちこちで矛盾が生じて話が発散していく傾向なのも仕方が無い
2016/07/30(土) 18:44:13.74ID:TLvR+07H
だいたいプログラミング業界って、

新しいものが導入される
→古いものはやめてこれ使いましょう
→新しいものも色々問題があることが分かってくる
→極力使わないようにしましょう

の繰り返しだからな。継承しかり例外しかり。
最近はテンプレート使いすぎなんじゃねーのって思うけど。
2016/07/30(土) 19:01:15.21ID:TM2kAcv9
> 継承しかり例外しかり。
継承も例外も極力使わないようにしましょうなんて
誰も言ってないが?

間違った使い方が明らかになって、
間違った使い方をしないで
正しい使い方をしましょう。

っていう結論ならばいつもそうなっている。
継承しかり例外しかり。
2016/07/30(土) 19:38:58.24ID:XUUv9y4D
結局、人間クラスと美少女クラスは
どうすればいいんだ?
2016/07/30(土) 20:02:32.96ID:TLvR+07H
>>479
正しく使おうってのは常に真だから内容が無いのと同じだな。
できるだけ使わないようにって風潮はある。程度の差はあれgotoとかと同じ。
2016/07/30(土) 20:08:02.92ID:OEu/5F3U
javaはオラクルがVMを提供しなくなったら
廃れるだろ。
2016/07/30(土) 21:52:18.63ID:NYI5chEQ
>>479
結局、言語の問題よりも馬鹿を入れない事のが重要ってことだろ。
そういう意味じゃ linus のやり方は正しいってことになる。
2016/07/30(土) 22:13:41.04ID:TM2kAcv9
>>481
> できるだけ使わないようにって風潮はある。
無いよそんなのwww

アルアル言っていても、
嘘がホントになったりしないアルよ〜w
2016/07/30(土) 22:18:10.45ID:OSfj7rnr
(定義が論理的に妥当でなかったりあいまいだったりするとお議論が紛糾する例
2016/07/30(土) 22:23:44.57ID:3WJAVcau
多少コピペが多くなっても継承をむやみに使ってはいけない場面ってのは想定しなきゃなぁ
2016/07/30(土) 22:38:52.82ID:TM2kAcv9
なんで継承をやめたらコピペが多くなるのかそれがわからんw

正しく継承使うといういうのは、
継承以外の方法を使うべきときに、違う方法を使うという意味であって、
ならばその違う方法で、コピペを回避すれば良いんだよ。
2016/07/30(土) 22:44:09.77ID:XUUv9y4D
委譲を使えばいいんだろ。
肛門クラスを作って、
人間クラスと美少女クラスのプロパティに肛門インスタンスを持てばいいんだ。
排便できる肛門と出来ない肛門と。
489デフォルトの名無しさん
垢版 |
2016/07/30(土) 23:06:52.83ID:FiK/AfbE
コーデングテクニックでごまかすのはアカンね
そーゆーことするから所謂ひとつのスパゲッテイー的ソースコードが出来上がるんや
デザインの問題はデザインで解決出来な一生炎上商法プログラマーのまんまやで
2016/07/30(土) 23:38:21.39ID:3WJAVcau
>>487
ミックスインの手法が確立されてないってことは、継承が害悪になる場面ってのはあるんだよ。

そういう場合は、下に書かれてる通り、コンポーネント的な設計が必要。
そういう時に、コンストラクタでコピペが必要ってこと。
2016/07/30(土) 23:41:35.20ID:3WJAVcau
そうするとインタフェースの定義が必要になってくるから、結局継承が楽だし、よほどのことじゃなければそれで済ませるんだけどね
2016/07/31(日) 00:01:52.81ID:VGavY/X3
if文ですべて解決できるんじゃね
2016/07/31(日) 00:35:50.52ID:UuqrLdJE
だから、委譲というか、
デリゲート使えっていうか。
2016/07/31(日) 01:44:59.39ID:LD4Pss8J
ほんと最近、is-a関係、has-a関係っていうの
軽視されてるよな。

is-aのときに継承すれば良いんだって
昔から言われてるんだが。
これは古い概念じゃないぞw
2016/07/31(日) 03:56:26.93ID:Wl4/o5Bb
フリーザは美少女クラスのis-a関係
2016/07/31(日) 09:04:47.96ID:xuMLlix3
>>494
is-a関係は一般に存在しない
例外なのは同値関係と包含関係が数学的に定義できて無矛盾性が担保された
(=直接証明されたか、より一般的な体系の無矛盾性に帰着できる)ケースだけだが
そんなのはスゲーまれ
いっぱいあると感じるのは錯覚

不用意にis-a関係を導入することでクラス分けにあいまいさが紛れ込み、
プログラムの設計とか簡単に壊滅する
2016/07/31(日) 09:09:00.42ID:xuMLlix3
その点ha-a関係はやりやすいなぜなら単なる集約であって分類が絡まないから
has-a関係の導入自体が矛盾を生じることは無いからだ
2016/07/31(日) 09:36:24.74ID:tLh0Iyun
is-a関係だと思っているものは全てhas-aとしても実装できる。

概念系統が複数ある場合、is-aでは多重継承もしくは、
全ての組み合わせの派生クラスを定義することが必要だが、
has-aではそういう問題は無く柔軟に設計できる。
499デフォルトの名無しさん
垢版 |
2016/07/31(日) 09:41:31.16ID:/E3bqgob
OO使わない場合に
フラグとかカウンタとかステータスってのをどう管理するのかを
単刀直入に知りたい。
関数型なんかでもこの辺がよくわからない
(消せるはずはないから何か別の概念などで整理・管理されるんだとは思うけど)
2016/07/31(日) 09:46:59.05ID:tLh0Iyun
>>499
普通の構造体でいいのでは?(Cでいうところの)
2016/07/31(日) 09:59:49.33ID:p/Oh4nGe
>>499
そこでクロージャですよ
2016/07/31(日) 10:00:24.80ID:P4D/j0eN
is-a だったらliskov置換原則の方が理解し易いし、コード書くときの指針になる。
2016/07/31(日) 10:09:28.04ID:xuMLlix3
ちなステータスというのは大概I/Oを通じて外界と繋がっている事物の結果を意味し、
実時間軸上でうつろうもの(mutableなブツ)なので厳密には関数型プログラミングに存在し得ない概念

関数型プログラミングでは「1」を返す関数と、和を返す関数から「1」+「1」=「2」という演繹ステップを経て
「2」を返す関数を作る、というように演繹ステップとしての時間経過しか扱わない
これでどうやって実時間で動くシステムをプログラムするのかというと、
演繹ステップの順序と実時間軸上の物事の変化順序が一致するように関数を設計してやって、
擬似的に演繹順序を実時間軸上の順序と合わせてそれっぽい動きを実現しているわけや

例えばHDDのエラーステータスとか、昨日のステータスに対し今日のステータスが変化した、と捉えるのではなしに、
「HDDの昨日のステータス」を返す関数と、ステータスの適切な処理に対応する何がしかを返す関数とから
「HDDの今日のステータス」に対する処理に対応する何がしかを返す関数を生成する
ことでHDDの今日のステータスを処理する
2016/07/31(日) 11:53:00.79ID:LD4Pss8J
>>494
女は一般に存在しない
いっぱいあると感じるのは錯覚

って言ってるようなもんだなw

一般に存在しないというのなら
存在しないと言う根拠を書け
2016/07/31(日) 13:06:04.94ID:xuMLlix3
>>504
is-a関係は一般には存在しないと書いたのじゃ
例えば妻クラスを女クラスの派生クラスにしたりしたら、同姓婚が合法化されたときプログラムは作り直しになるであろう
また、なんで女クラスの派生クラスが妻クラスではいけないのか?その根拠を目下人類は手にしていない
はい論破

ちな、有限集合に関しては無矛盾性は常に証明できるから別に
 女クラス←妻クラス
でも
 妻クラス←女クラス
でも良いが、有限のケースしか想定しないんならswitch文で良いやという話で
オブジェクト指向の出る必然性がかなり減る
あくまで無限集合としてのクラスXを今数学的に正しく定義付けできるか?(X=妻 or 女 or so on)というのが問題
2016/07/31(日) 15:57:24.63ID:Wl4/o5Bb
is-aかどうかなんて抽象的すぎて判断の材料になんないよな。

何を持ってしてis-aとするかが大事なんだけど、そこをきちんと答えられる人は少ない。
2016/07/31(日) 15:58:19.37ID:JthY0EmQ
>>505
そりゃ妻のような一時的な属性に過ぎないものををクラス化するのがそもそも間違ってる
同性婚以前に結婚離婚で既に破綻してるじゃないか
例が悪いので説明になってない、やり直し
2016/07/31(日) 16:07:11.65ID:Wl4/o5Bb
>>507
男も改造すれば女になりうるから、男クラスのインスタンスを作ると、参照を維持したまま女クラスに変身できない。

だから、is-aなんてものは、性転換をしないという契約がなければなりたたない。

契約をしてないのにis-aなんて言いきれる訳ない。
レスを投稿する

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