[表示 : 全て 最新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/
- 403 名前:デフォルトの名無しさん mailto:sage [2016/07/21(木) 20:06:28.29 ID:ZXk7cAfY.net]
- 歴史しらないバカばっかw
- 404 名前:デフォルトの名無しさん mailto:sage [2016/07/21(木) 20:28:04.90 ID:IpsfD7Z7.net]
- 自信を持って声を大きくして叫び続ければやがてそれが歴史となる
- 405 名前:デフォルトの名無しさん mailto:sage [2016/07/21(木) 20:37:00.07 ID:m+nIkrs4.net]
- 後の人々はそれをこう呼んだ、すなわち黒歴史と……
- 406 名前:デフォルトの名無しさん mailto:sage [2016/07/21(木) 21:20:03.86 ID:gJ3egAPE.net]
- Cの何がすごいって、メモリに対する考え方がシンプルで凄い
構造体のメンバは単なる先頭からのオフセットだし 配列の添え字も先頭からのオフセットでしかない しかも配列とポインタはある種の互換性がある だから何だかよくわからないメモリブロックを 構造体にキャストしてアクセスできたり 同様に単なるメモリブロックを配列としてアクセスできたりする メモリの扱いがとにかくシンプルでありつつ強力なアクセス方法があり応用が利く こういうことができる言語はあまりない C++ですらvtableが入ってたらもうオフセットずれるし
- 407 名前:デフォルトの名無しさん mailto:sage [2016/07/21(木) 21:42:38.85 ID:vaQfL518.net]
- >>406
言語の実装がシンプルなのと、その言語を 使ってアプリを実装するっていうのは別の話で なんでも一つの機能で出来てしまう言語っていうのは、 冗長で意味代わりにくいコードになりがちなんだよ。 例えばシンプルと言うのならアセンブラが一番シンプル 条件判定命令と条件ジャンプ命令だけでループを表現できてしまう。 プログラム言語っていうのは、特定のパターンに対して 専用の命令を作ることでコードの可読性を高くしてきた。 これは圧縮の仕組みにも近い。特定のパターンに短い単語を当てはめて 簡潔に書くことができるようになる。 条件判定命令と条件ジャンプ命令さえあれば十分であっても そこからforパターンやwhileパターンを見つけ、専用の単語に 割り当てることで可読性が高くなる。
- 408 名前:デフォルトの名無しさん mailto:399 [2016/07/21(木) 22:34:35.81 ID:9dMGMxaj.net]
- だからCだけが生き残ったんだろ?
大衆プログラマが望んだ形で変化した結果だからな。
- 409 名前:デフォルトの名無しさん mailto:sage [2016/07/21(木) 23:16:46.30 ID:vaQfL518.net]
- 生き残ったっていうのは古い言語とくらべての話?
確かにFortlanとかPascalは消えた。 多くの優れた言語が生まれている中、今でも通用するのは C言語ぐらいだと思うが。
- 410 名前:デフォルトの名無しさん mailto:sage [2016/07/21(木) 23:17:21.89 ID:zfBmPUKU.net]
- どちらも消えてねーだろw
- 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の今日のステータスを処理する
|

|
[ 続きを読む ] / [ 携帯版 ] 
前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