[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2ch.scのread.cgiへ ] Update time : 01/06 06:56 / Filesize : 295 KB / Number-of Response : 972 [このスレッドの書き込みを削除する ] [+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧 ] [類似スレッド一覧 ] ↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました
オブジェクト指向は愚かな考え。この世は計算式 ★3
1 名前:デフォルトの名無しさん mailto:sageteoff [2016/01/05(火) 02:10:25.72 ID:hJUQcrkl.net] オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。 https://twitter.com/ProgrammingMono/status/665702678006140928 研究グループは、血管新生注において血管が伸長する際の血管内皮細胞注運動を制御するしくみを、生物学と数理モデル・ コンピュータシミュレーションを融合させた先端的な研究手法により明らかにしました。 生物は、最小の機能単位である細胞が寄り集まった多細胞体です。しかし、細胞の集まりが、組織や器官といった 秩序ある形態や構造をつくり機能するしくみはほとんど分かっていません。中でも血管は、体中の全組織に十分な 酸素や栄養源を効率よく供給するため、組織や組織の間に入り込み、血管外の環境との相互作用により、巧妙な 枝分かれ構造をとっています。 これまでに本研究グループは、新しく血管がつくられる(血管新生)際の細胞の動きに着目し、特に血管内皮細胞の 動きをリアルタイムで可視化し、定量的に捉えることを可能にしてきました。 今回さらに、血管の伸長を制御するしくみについて、細胞が自発的に自らを制御して動く過程(自律的過程)と、 隣接した細胞から適宜影響を受けて動く過程(協調的過程)がうまく共存することで、全体の動きが巧みに統制 されていることを世界に先駆けて実証しました。 興味深いことに、血管内皮細胞が前後したり、お互いに追い抜きあったりという血管新生で見られる複雑な細胞集団の 動きを制御している中枢部分は、細胞一つ一つの動き(スピードと方向性)の「確率的な変化」として十分説明できる ことをコンピュータシミュレーションで実証しました。 www.jst.go.jp/pr/announce/20151120-2/#YOUGO3 前スレ オブジェクト指向は愚かな考え。この世は計算式 ★2 peace.2ch.net/test/read.cgi/tech/1450153388/
411 名前:デフォルトの名無しさん mailto:sage [2016/07/21(木) 23:21:30.21 ID:vaQfL518.net] >>410 第三者の人が検証できるランキングとかある? そりゃどこか目につかないところではあるかもしれないが、 例えばその言語で仕事したいと思ったとき 探せ出せないような言語は消えたと思っていいだろう。
412 名前:デフォルトの名無しさん mailto:sage [2016/07/21(木) 23:39:22.80 ID:zfBmPUKU.net] >>411 Intel Visual Fortran とかググッてみ。 リアルタイムで今も製品出てるのを消えたとは言わないでしょ。
413 名前:デフォルトの名無しさん mailto:sage [2016/07/21(木) 23:45:13.87 ID:vaQfL518.net] >>408 ということで、C以外も生き残ってるんだが?w
414 名前:デフォルトの名無しさん mailto:sage [2016/07/21(木) 23:52:22.14 ID:dNMEb7c5.net] 問題は暗黙に行う言語の動きに対してどれだけ コンセンサスがとりやすいかってことだ。 c++ はもうその意味でどっか行ってる。
415 名前:デフォルトの名無しさん mailto:sage [2016/07/22(金) 01:30:33.86 ID:znBq8w6k.net] >>407 俺の言いたいことはそういうことじゃなくて ローレベルな世界ではその言語固有のオブジェクトになってない 単なるメモリブロック、データ、信号を扱わなきゃならない場面が多いんだよ それはファイルから読み込まれるかもしれないし ネットワーク越しにやってくるかもしれないし ディバイスとのやり取りかもしれないし ま、要するに単なるデータ Cはメモリモデルがシンプルだからこういった単なるメモリブロックを扱うのに 長けているんだよ 構造体にキャストするだけでそのまま扱えるから 今でもC言語が現場で活躍しているのはこれができるから もしこういったことが出来なかったとしたら、C言語なんかとっくに滅んでいたに違いない メモリブロックをキャストして構造体や配列としてアクセスできないとしたら そんなC言語に価値なんかあるか? その一点がすごいんだよ、マジセンスある、もしくは運が良かった
416 名前:デフォルトの名無しさん mailto:sage [2016/07/22(金) 01:46:19.31 ID:znBq8w6k.net] そして多くの言語が見落としがちな部分でもあったんだよ オブジェクトにしなきゃならないっつってvtable持たせたり 動的にしなきゃならないと、メンバをオフセットではなくハッシュにしたり どんどん賢い機能を盛り込んでさ その点C言語の構造体や配列はフラットでむちゃくちゃシンプルな作り 適当なメモリブロックをキャストしても何の問題も起きない 仕様もシンプルで分かりきってる
417 名前:デフォルトの名無しさん mailto:sage [2016/07/22(金) 02:02:58.97 ID:znBq8w6k.net] 別に必ずしも偉い機能を盛り込むのがダメと言っているわけじゃないよ ただ、Cが何故か生き残っていて今でも使われ続けている原因はソレということ C言語の用途と、うまい具合にマッチしてて、いい感じに生き残っている
418 名前:デフォルトの名無しさん mailto:sage [2016/07/22(金) 03:13:29.97 ID:7iYsigKa.net] だからなんだよ?
419 名前:デフォルトの名無しさん mailto:sage [2016/07/22(金) 07:29:28.61 ID:cZVknNWP.net] 構造体の先頭メンバ以外のオフセットは規定されていない まぁ、オフセットなのでメンバアクセスでどうとでもなるわけで 構造体が定義されたままメモリ上に存在していると考えているアホ 一般的なコンパイラなら定義通りだろうけど規定されていない 規定されていない規定されていない
420 名前:デフォルトの名無しさん mailto:sage [2016/07/22(金) 08:09:11.54 ID:+awE6fq0.net] 構造体のメンバ間のパディングは未規定だけど、オフセットが未規定って言うのは 順番も入れ替わるって言ってるの?
421 名前:デフォルトの名無しさん [2016/07/22(金) 09:35:29.96 ID:+Z+w/IAX.net] 簡単に入れ替わるさ。 わざわざ入れ替えないでねと指定するレベル
422 名前:デフォルトの名無しさん mailto:sage [2016/07/22(金) 10:31:03.00 ID:znBq8w6k.net] 構造体のメンバの順番が入れ替わらないのは仕様で決まっているよ 決まってないのは間に入る詰め物だけ portable-c.jugem.jp/?eid=17 しかし、詰め物をどうするか、指定できるコンパイラがほとんどだから 実質的に詰め物も問題にならない C言語プログラマーは自分の使っているコンパイラの仕様ぐらい分かって使っているからね 問題になるとすればエンディアンぐらい
423 名前:デフォルトの名無しさん [2016/07/22(金) 12:25:18.70 ID:TIRA9iEO.net] JIS規格だろそれ。。。
424 名前:デフォルトの名無しさん [2016/07/22(金) 13:24:25.19 ID:+Z+w/IAX.net] intのサイズがアーキ依存だから通信に構造体は使うなってのが常識だけどな。
425 名前:デフォルトの名無しさん [2016/07/22(金) 13:25:41.52 ID:+Z+w/IAX.net] ネイティヴアメリカンの件もあるしな。
426 名前:デフォルトの名無しさん mailto:sage [2016/07/22(金) 19:29:05.65 ID:5OURMCtc.net] cはメモリは意識するがレジスタは隠蔽するって落とし所がよかったんじゃない。
427 名前:デフォルトの名無しさん mailto:sage [2016/07/22(金) 19:41:14.28 ID:jv7yTJni.net] Cはパーサが複雑なのとゼロコストで導入できる便利機能が無いのを除けば悪くはない
428 名前:デフォルトの名無しさん mailto:sage [2016/07/22(金) 22:14:58.88 ID:Oi2oQZIZ.net] cの最大の失敗は波カッコ ブロックのスコープがパイソン風だったら人類は1世紀以上先の進んでいた
429 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 00:49:12.76 ID:KFsxU+fY.net] 代入演算子=と比較演算子==だけは許されざるよ。 つうか、IDEのサジェスチョン機能実装前の "タイプ数が減る云々"な言語はすべて滅ぶべし。
430 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 01:22:33.59 ID:tWjtYIW6.net] C言語は特徴ある機能で生き残ることができた。 だけそのその特徴ある機能がなかったら生き残れないのか?というと そうではない。現にその特徴ある機能がない言語ばかりだからだ。 ここから言えることは、なにもない言語は消え行く定めだが、 C言語の機能がなくとも、それに上回る機能があれば生き残るということだ。
431 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 01:27:50.24 ID:tWjtYIW6.net] >>429 IDEを使うことでタイプ数が減る機能はどうでもいいんだよね。 どうでもいいというのは、タイプ数が多くても少なくても さほど違いはないということ。 重要なのはタイプ数じゃなくて読む文字数だから。 ただしタイプした文字数=読む文字数ではないということ。 どういうことかというと、人間は文章を読むとき 読み飛ばしをするということ。 例えばJavaでいうimportやMainクラス定義なんかは 読み飛ばす部分。だからそんなところで読む数の違いは出てこない。 また型定義は読むところではあるが、型定義だけを読むことで 型を理解できると言うメリットが有る。 これは型が書かれていないコードから、型を解析する 作業よりも読む文字数は少なくなる。
432 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 18:21:41.45 ID:6yKmk1QH.net] 代入演算子は要らなかった
433 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 23:13:50.14 ID:7iusE9pH.net] 代入は文であって値を持つべきでないと?
434 名前:デフォルトの名無しさん [2016/07/23(土) 23:53:23.87 ID:zx6tBrAB.net] 愚か者めが
435 名前:デフォルトの名無しさん mailto:sage [2016/07/24(日) 07:03:52.43 ID:L1GkLU8N.net] Cが生まれた時代はな シンタクスハイライトどころか下手すると スクリーンエディタ(キリッ カットアンドペースト(キリッ すら高価な機能だったんやで
436 名前:デフォルトの名無しさん [2016/07/26(火) 15:33:00.26 ID:ka5+GTWz.net] テキストエディタが数万円してからな
437 名前:デフォルトの名無しさん mailto:sage [2016/07/26(火) 16:33:02.33 ID:dc6Ut+6F.net] Cが生まれた頃にはまだコピー&ペーストはなかったぞ。
438 名前:デフォルトの名無しさん mailto:sage [2016/07/26(火) 16:39:32.99 ID:qFADw225.net] 最初のクリップボードはAltoかな Cが1972年でAltoが1973年
439 名前:デフォルトの名無しさん mailto:sage [2016/07/26(火) 16:42:33.79 ID:P0pX8+u1.net] >>430 で、その、この先生きのこるのはどの言語!
440 名前:デフォルトの名無しさん mailto:sage [2016/07/26(火) 17:29:32.48 ID:XfeIwbpB.net] アセンブラ C Fortran Lisp の古代言語 Javascript COBOL Python HTML PHP はなんだかんだ言って生き残るんだろな〜 あとは Java がどうなるかな
441 名前:デフォルトの名無しさん mailto:sage [2016/07/26(火) 21:54:04.74 ID:8mWO7mKy.net] 言語じゃないというのはナンセンスか
442 名前:デフォルトの名無しさん mailto:sage [2016/07/26(火) 22:19:28.08 ID:3gO7Ljql.net] お前ら、テーマに戻れや。 なぜオブジェクト指向は愚かな考えなんだ?
443 名前:デフォルトの名無しさん [2016/07/26(火) 22:55:12.03 ID:wvFbwXsy.net] 愚かな設計が蔓延してるってことだな
444 名前:デフォルトの名無しさん [2016/07/26(火) 22:55:59.68 ID:wvFbwXsy.net] >>4 これがすべてじゃないの?
445 名前:デフォルトの名無しさん [2016/07/26(火) 23:00:24.73 ID:wvFbwXsy.net] 初期設計を少しでも間違えたり手抜きしたら そのシステムの成長絶望的になり死ぬ
446 名前:デフォルトの名無しさん mailto:sage [2016/07/27(水) 02:09:24.84 ID:gQfYvWZ4.net] >>444 そして>>41-42 で完全に解説完了 ジョークとしてわざとオブジェクト指向として間違ったプログラム例だしてるってのに 「この通りオブジェクト指向は直感に反して〜」じゃねぇっつのw
447 名前:デフォルトの名無しさん mailto:sage [2016/07/27(水) 02:12:13.92 ID:gQfYvWZ4.net] >>440 Javaは普及してるから残るだろうなぁ なんか、いつものベストじゃないけど普及したから ベターとして残るというプログラム史のいつもの展開というか。
448 名前:デフォルトの名無しさん mailto:sage [2016/07/27(水) 06:54:54.29 ID:cUWSkWnI.net] 問題はそういうジョークを本気にする人が多すぎるってことだろうに。 つまりオブジェクト指向ってのは一般にコンセンサスをとりずらい概念なんだよ。
449 名前:デフォルトの名無しさん mailto:sage [2016/07/27(水) 06:58:14.97 ID:LCC7iz/I.net] おまえ等の好きそうなネタ見つけた オブジェクト指向で料理を例える場合,chicken.cut()かchef.cut()か https://teratail.com/questions/41875
450 名前:デフォルトの名無しさん mailto:sage [2016/07/27(水) 07:29:08.70 ID:mL4CmQKe.net] >>446 コーヒーの例は単純明快だからいいけど、美少女は実際に正しく設計できるやつが日本に何人いるかってレベルだろうな
451 名前:デフォルトの名無しさん mailto:sage [2016/07/27(水) 07:30:19.55 ID:+Qq3g4cQ.net] >>448 これをジョークだと思って実戦に挑む奴がデスマーチを引き起こす
452 名前:デフォルトの名無しさん mailto:sage [2016/07/27(水) 07:32:08.18 ID:iBdKVqyS.net] 基底に近いほど修正しづらいのは事実
453 名前:デフォルトの名無しさん [2016/07/27(水) 07:33:05.82 ID:8lCNqFHq.net] >>451 ほんとこれ
454 名前:デフォルトの名無しさん mailto:sage [2016/07/27(水) 09:54:15.05 ID:8yC4YC1p.net] >>449 tokage.cut()
455 名前:デフォルトの名無しさん [2016/07/27(水) 12:23:59.26 ID:mW7SlT40.net] くだらん与太話はこれくらいにしてそろそろ全力でウンコ美少女問題に取り組むか
456 名前:デフォルトの名無しさん [2016/07/27(水) 17:21:14.58 ID:8Owc4Qqf.net] ウンコしない美少女は偶像 つまり人間からの派生ではない
457 名前:デフォルトの名無しさん mailto:sage [2016/07/27(水) 17:58:49.99 ID:CvwlEFOq.net] なんか、いっつも同じレベルの書き込みするから 自演になってないって自覚しとる?きみ。
458 名前:デフォルトの名無しさん [2016/07/27(水) 19:55:41.64 ID:9bIrtjQt.net] ユーザーはうんこなんて機能は求めて無いから削除しろよと
459 名前:デフォルトの名無しさん mailto:sage [2016/07/27(水) 20:16:04.55 ID:YbwWr11d.net] 人間がウンコするのは、 ユーザーが求めているからなのか?
460 名前:デフォルトの名無しさん [2016/07/27(水) 20:21:12.98 ID:9bIrtjQt.net] ソフトの機能に不要な要素まで組み入れても誰も買わないだろ。 現実の要素を完全に網羅する必要は無いから
461 名前:デフォルトの名無しさん mailto:sage [2016/07/27(水) 21:23:16.38 ID:dkELqw5/.net] それは当たり前のことではあるな 必要な要素だけ実装すればよいからな Humanクラスがどういった要素を持つかは案件によるし もし人の持つすべての機能をHumanクラスに実装できるっていうんなら そのHumanクラスにプログラムも書いてもらえばよい よって現実の人間がうんこをするからと言って 必ずしもHumanクラスにうんこをする機能が必要かどうかはわからないし 必要な案件に出会ってから美少女クラスのうんこの扱いについて考えればよい
462 名前:デフォルトの名無しさん mailto:sage [2016/07/27(水) 21:50:52.30 ID:eu5RKOJ4.net] 要件で一言も触れてないのに「はぁ?○○はあって当然だろ」とか言い出す顧客しかいないから 想像できるものは全て詰め込んでおく必要がある。 ウンコだろうとゲロだろうと例外はない。
463 名前:デフォルトの名無しさん mailto:sage [2016/07/27(水) 22:27:39.20 ID:YbwWr11d.net] 肝心なことを決めずに作り込んでいく。 美少女クラスのスーパークラスは人間クラスである。 排便メソッドは関係ないからそれでいい。 だが、ある時ユーザーからの要望で人間クラスに排便メソッドを作った。 人間だもの、当たり前だ。 それでいいと思った。その時がくるまでは。 ある時私は気がついた。 これだと美少女が排便すると www
464 名前:デフォルトの名無しさん [2016/07/27(水) 22:41:58.99 ID:60oYSks+.net] このスレ的にはgo言語とかD言語のダックタイピングってどうなん?
465 名前:デフォルトの名無しさん mailto:sage [2016/07/27(水) 22:47:49.85 ID:rlINsgdh.net] ダックタイピング 由来 アヒルのの鳴きマネをする人間はアヒルに違いない
466 名前:デフォルトの名無しさん [2016/07/28(木) 00:19:19.54 ID:c5ty+8F5.net] ダッチワイフィング 由来 オランダの人妻はエロいに違いない
467 名前:デフォルトの名無しさん [2016/07/28(木) 00:47:19.73 ID:6VZFO4sX.net] オブジェクト指向は幻想
468 名前:デフォルトの名無しさん [2016/07/28(木) 00:48:34.40 ID:/rI5OmsP.net] COBOLからJavaへの移行で「実際に」成功した案件は存在しない
469 名前:デフォルトの名無しさん [2016/07/28(木) 00:49:15.93 ID:LhM4XtYR.net] 細胞から実装しろ
470 名前:デフォルトの名無しさん [2016/07/28(木) 00:49:41.59 ID:OYshXAPi.net] 元素から実装しろ
471 名前:デフォルトの名無しさん mailto:sage [2016/07/28(木) 01:51:28.53 ID:y7xhJAs5.net] >>468 COBOLって単なる言語じゃなくて運用まで含めたシステムの総称だからな。かなうわけがない とは言え、高賃金のCOBOLプログラマーもいずれ死に絶えるわけでなんとかしないといけないんだけどさ Adaなんか勉強して損した
472 名前:デフォルトの名無しさん [2016/07/29(金) 12:00:06.26 ID:TRgFQe5b.net] Ocamlならあるいは
473 名前:デフォルトの名無しさん mailto:sage [2016/07/29(金) 18:48:09.16 ID:POEPtDrt.net] ないない そもそもCが小文字の時点で語る資格なし
474 名前:デフォルトの名無しさん [2016/07/30(土) 00:08:52.44 ID:lNYXBi4+.net] ならScalaでスイス銀行の例もあるし?
475 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:35:24.99 ID:gkAo/Cig.net] 具体的に
476 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 15:22:29.13 ID:OSfj7rnr.net] オブジェクト指向を考え出した人間もオブジェクト指向の解釈を誤っていたのではないか クラスというのは人間が直感的に思い描く世界の事物をプログラムコードにマップする手段ではなくて、 プロセスという大きなチューリングマシンの中の小さなチューリングマシンを記述する手段にすぎなかった (チューリング完全性の利用例の一つだった クラスのコンストラクタは状態機械であるところのチューリングマシンの初期化と生存期間の始まりに相当する デストラクタは後始末と生存期間の終わり。 メソッドはチューリングマシンにlive timeを与え、計算を進めさせる。 そんだけ 状態(mutableなデータ)を含むから関数型プログラミングとは似て非なるものだし、 数学的にカタをつけるにはチューリングマシンの一変種で無限長の磁気テープをクラスで小分けにしたもの、 としか言い様が無い
477 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 15:46:36.80 ID:OSfj7rnr.net] こう考えると継承のしくみを使ったプログラミングが ごく一部のデザインパターンにおいてしか成功しないことも理解できる 継承というしくみのは人間が「こうだったらイイなあ…」と思い描いて作っただけで、 >>476 な解釈からは必然性が出てこない つまり継承というしくみは論理的妥当性を欠いており、 継承を下手に使ったらあちこちで矛盾が生じて話が発散していく傾向なのも仕方が無い
478 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 18:44:13.74 ID:TLvR+07H.net] だいたいプログラミング業界って、 新しいものが導入される →古いものはやめてこれ使いましょう →新しいものも色々問題があることが分かってくる →極力使わないようにしましょう の繰り返しだからな。継承しかり例外しかり。 最近はテンプレート使いすぎなんじゃねーのって思うけど。
479 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 19:01:15.21 ID:TM2kAcv9.net] > 継承しかり例外しかり。 継承も例外も極力使わないようにしましょうなんて 誰も言ってないが? 間違った使い方が明らかになって、 間違った使い方をしないで 正しい使い方をしましょう。 っていう結論ならばいつもそうなっている。 継承しかり例外しかり。
480 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 19:38:58.24 ID:XUUv9y4D.net] 結局、人間クラスと美少女クラスは どうすればいいんだ?
481 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 20:02:32.96 ID:TLvR+07H.net] >>479 正しく使おうってのは常に真だから内容が無いのと同じだな。 できるだけ使わないようにって風潮はある。程度の差はあれgotoとかと同じ。
482 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 20:08:02.92 ID:OEu/5F3U.net] javaはオラクルがVMを提供しなくなったら 廃れるだろ。
483 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 21:52:18.63 ID:NYI5chEQ.net] >>479 結局、言語の問題よりも馬鹿を入れない事のが重要ってことだろ。 そういう意味じゃ linus のやり方は正しいってことになる。
484 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 22:13:41.04 ID:TM2kAcv9.net] >>481 > できるだけ使わないようにって風潮はある。 無いよそんなのwww アルアル言っていても、 嘘がホントになったりしないアルよ〜w
485 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 22:18:10.45 ID:OSfj7rnr.net] (定義が論理的に妥当でなかったりあいまいだったりするとお議論が紛糾する例
486 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 22:23:44.57 ID:3WJAVcau.net] 多少コピペが多くなっても継承をむやみに使ってはいけない場面ってのは想定しなきゃなぁ
487 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 22:38:52.82 ID:TM2kAcv9.net] なんで継承をやめたらコピペが多くなるのかそれがわからんw 正しく継承使うといういうのは、 継承以外の方法を使うべきときに、違う方法を使うという意味であって、 ならばその違う方法で、コピペを回避すれば良いんだよ。
488 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 22:44:09.77 ID:XUUv9y4D.net] 委譲を使えばいいんだろ。 肛門クラスを作って、 人間クラスと美少女クラスのプロパティに肛門インスタンスを持てばいいんだ。 排便できる肛門と出来ない肛門と。
489 名前:デフォルトの名無しさん [2016/07/30(土) 23:06:52.83 ID:FiK/AfbE.net] コーデングテクニックでごまかすのはアカンね そーゆーことするから所謂ひとつのスパゲッテイー的ソースコードが出来上がるんや デザインの問題はデザインで解決出来な一生炎上商法プログラマーのまんまやで
490 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 23:38:21.39 ID:3WJAVcau.net] >>487 ミックスインの手法が確立されてないってことは、継承が害悪になる場面ってのはあるんだよ。 そういう場合は、下に書かれてる通り、コンポーネント的な設計が必要。 そういう時に、コンストラクタでコピペが必要ってこと。
491 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 23:41:35.20 ID:3WJAVcau.net] そうするとインタフェースの定義が必要になってくるから、結局継承が楽だし、よほどのことじゃなければそれで済ませるんだけどね
492 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 00:01:52.81 ID:VGavY/X3.net] if文ですべて解決できるんじゃね
493 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 00:35:50.52 ID:UuqrLdJE.net] だから、委譲というか、 デリゲート使えっていうか。
494 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 01:44:59.39 ID:LD4Pss8J.net] ほんと最近、is-a関係、has-a関係っていうの 軽視されてるよな。 is-aのときに継承すれば良いんだって 昔から言われてるんだが。 これは古い概念じゃないぞw
495 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 03:56:26.93 ID:Wl4/o5Bb.net] フリーザは美少女クラスのis-a関係
496 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 09:04:47.96 ID:xuMLlix3.net] >>494 is-a関係は一般に存在しない 例外なのは同値関係と包含関係が数学的に定義できて無矛盾性が担保された (=直接証明されたか、より一般的な体系の無矛盾性に帰着できる)ケースだけだが そんなのはスゲーまれ いっぱいあると感じるのは錯覚 不用意にis-a関係を導入することでクラス分けにあいまいさが紛れ込み、 プログラムの設計とか簡単に壊滅する
497 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 09:09:00.42 ID:xuMLlix3.net] その点ha-a関係はやりやすいなぜなら単なる集約であって分類が絡まないから has-a関係の導入自体が矛盾を生じることは無いからだ
498 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 09:36:24.74 ID:tLh0Iyun.net] is-a関係だと思っているものは全てhas-aとしても実装できる。 概念系統が複数ある場合、is-aでは多重継承もしくは、 全ての組み合わせの派生クラスを定義することが必要だが、 has-aではそういう問題は無く柔軟に設計できる。
499 名前:デフォルトの名無しさん [2016/07/31(日) 09:41:31.16 ID:/E3bqgob.net] OO使わない場合に フラグとかカウンタとかステータスってのをどう管理するのかを 単刀直入に知りたい。 関数型なんかでもこの辺がよくわからない (消せるはずはないから何か別の概念などで整理・管理されるんだとは思うけど)
500 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 09:46:59.05 ID:tLh0Iyun.net] >>499 普通の構造体でいいのでは?(Cでいうところの)
501 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 09:59:49.33 ID:p/Oh4nGe.net] >>499 そこでクロージャですよ
502 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 10:00:24.80 ID:P4D/j0eN.net] is-a だったらliskov置換原則の方が理解し易いし、コード書くときの指針になる。
503 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 10:09:28.04 ID:xuMLlix3.net] ちなステータスというのは大概I/Oを通じて外界と繋がっている事物の結果を意味し、 実時間軸上でうつろうもの(mutableなブツ)なので厳密には関数型プログラミングに存在し得ない概念 関数型プログラミングでは「1」を返す関数と、和を返す関数から「1」+「1」=「2」という演繹ステップを経て 「2」を返す関数を作る、というように演繹ステップとしての時間経過しか扱わない これでどうやって実時間で動くシステムをプログラムするのかというと、 演繹ステップの順序と実時間軸上の物事の変化順序が一致するように関数を設計してやって、 擬似的に演繹順序を実時間軸上の順序と合わせてそれっぽい動きを実現しているわけや 例えばHDDのエラーステータスとか、昨日のステータスに対し今日のステータスが変化した、と捉えるのではなしに、 「HDDの昨日のステータス」を返す関数と、ステータスの適切な処理に対応する何がしかを返す関数とから 「HDDの今日のステータス」に対する処理に対応する何がしかを返す関数を生成する ことでHDDの今日のステータスを処理する
504 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 11:53:00.79 ID:LD4Pss8J.net] >>494 女は一般に存在しない いっぱいあると感じるのは錯覚 って言ってるようなもんだなw 一般に存在しないというのなら 存在しないと言う根拠を書け
505 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 13:06:04.94 ID:xuMLlix3.net] >>504 is-a関係は一般には存在しないと書いたのじゃ 例えば妻クラスを女クラスの派生クラスにしたりしたら、同姓婚が合法化されたときプログラムは作り直しになるであろう また、なんで女クラスの派生クラスが妻クラスではいけないのか?その根拠を目下人類は手にしていない はい論破 ちな、有限集合に関しては無矛盾性は常に証明できるから別に 女クラス←妻クラス でも 妻クラス←女クラス でも良いが、有限のケースしか想定しないんならswitch文で良いやという話で オブジェクト指向の出る必然性がかなり減る あくまで無限集合としてのクラスXを今数学的に正しく定義付けできるか?(X=妻 or 女 or so on)というのが問題
506 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 15:57:24.63 ID:Wl4/o5Bb.net] is-aかどうかなんて抽象的すぎて判断の材料になんないよな。 何を持ってしてis-aとするかが大事なんだけど、そこをきちんと答えられる人は少ない。
507 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 15:58:19.37 ID:JthY0EmQ.net] >>505 そりゃ妻のような一時的な属性に過ぎないものををクラス化するのがそもそも間違ってる 同性婚以前に結婚離婚で既に破綻してるじゃないか 例が悪いので説明になってない、やり直し
508 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 16:07:11.65 ID:Wl4/o5Bb.net] >>507 男も改造すれば女になりうるから、男クラスのインスタンスを作ると、参照を維持したまま女クラスに変身できない。 だから、is-aなんてものは、性転換をしないという契約がなければなりたたない。 契約をしてないのにis-aなんて言いきれる訳ない。
509 名前:デフォルトの名無しさん [2016/07/31(日) 16:07:23.65 ID:kxVM21o1.net] 妻とか女とか、単なる属性をクラスにするからワケが分からなくなる。
510 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 16:27:16.51 ID:iFqDH3lg.net] いいから、肛門クラスを作って デリケートしろ!
511 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 16:35:53.61 ID:Wl4/o5Bb.net] 口に肛門つけてください。 しゃべれるしうんこできるし便利だと思うんです。
[ 続きを読む ] / [ 携帯版 ]
前100
次100
最新50
▲ [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ [+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧 ] ( ´∀`)<295KB
read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products. 担当:undef