オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
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/
探検
オブジェクト指向は愚かな考え。この世は計算式 ★3©2ch.net
2016/01/05(火) 02:10:25.72ID:hJUQcrkl
401デフォルトの名無しさん
2016/07/21(木) 18:38:56.73ID:fNq3MD0e402デフォルトの名無しさん
2016/07/21(木) 19:51:04.04ID:zfBmPUKU >>399
時系列がぐちゃぐちゃじゃね?
最初の高級言語と呼べるものはFortranだけど、
数式を人間フレンドリーな形で記述できるのが売りだった。
Fortranはアセンブラの簡単な置き換えレベルではないでしょ。
構造化プログラミングはALGOLからだろうけど、
Fortranより後だし、Cのようなレベルに達するのはもっと先。
時系列がぐちゃぐちゃじゃね?
最初の高級言語と呼べるものはFortranだけど、
数式を人間フレンドリーな形で記述できるのが売りだった。
Fortranはアセンブラの簡単な置き換えレベルではないでしょ。
構造化プログラミングはALGOLからだろうけど、
Fortranより後だし、Cのようなレベルに達するのはもっと先。
403デフォルトの名無しさん
2016/07/21(木) 20:06:28.29ID:ZXk7cAfY 歴史しらないバカばっかw
404デフォルトの名無しさん
2016/07/21(木) 20:28:04.90ID:IpsfD7Z7 自信を持って声を大きくして叫び続ければやがてそれが歴史となる
405デフォルトの名無しさん
2016/07/21(木) 20:37:00.07ID:m+nIkrs4 後の人々はそれをこう呼んだ、すなわち黒歴史と……
406デフォルトの名無しさん
2016/07/21(木) 21:20:03.86ID:gJ3egAPE Cの何がすごいって、メモリに対する考え方がシンプルで凄い
構造体のメンバは単なる先頭からのオフセットだし
配列の添え字も先頭からのオフセットでしかない
しかも配列とポインタはある種の互換性がある
だから何だかよくわからないメモリブロックを
構造体にキャストしてアクセスできたり
同様に単なるメモリブロックを配列としてアクセスできたりする
メモリの扱いがとにかくシンプルでありつつ強力なアクセス方法があり応用が利く
こういうことができる言語はあまりない
C++ですらvtableが入ってたらもうオフセットずれるし
構造体のメンバは単なる先頭からのオフセットだし
配列の添え字も先頭からのオフセットでしかない
しかも配列とポインタはある種の互換性がある
だから何だかよくわからないメモリブロックを
構造体にキャストしてアクセスできたり
同様に単なるメモリブロックを配列としてアクセスできたりする
メモリの扱いがとにかくシンプルでありつつ強力なアクセス方法があり応用が利く
こういうことができる言語はあまりない
C++ですらvtableが入ってたらもうオフセットずれるし
407デフォルトの名無しさん
2016/07/21(木) 21:42:38.85ID:vaQfL518 >>406
言語の実装がシンプルなのと、その言語を
使ってアプリを実装するっていうのは別の話で
なんでも一つの機能で出来てしまう言語っていうのは、
冗長で意味代わりにくいコードになりがちなんだよ。
例えばシンプルと言うのならアセンブラが一番シンプル
条件判定命令と条件ジャンプ命令だけでループを表現できてしまう。
プログラム言語っていうのは、特定のパターンに対して
専用の命令を作ることでコードの可読性を高くしてきた。
これは圧縮の仕組みにも近い。特定のパターンに短い単語を当てはめて
簡潔に書くことができるようになる。
条件判定命令と条件ジャンプ命令さえあれば十分であっても
そこからforパターンやwhileパターンを見つけ、専用の単語に
割り当てることで可読性が高くなる。
言語の実装がシンプルなのと、その言語を
使ってアプリを実装するっていうのは別の話で
なんでも一つの機能で出来てしまう言語っていうのは、
冗長で意味代わりにくいコードになりがちなんだよ。
例えばシンプルと言うのならアセンブラが一番シンプル
条件判定命令と条件ジャンプ命令だけでループを表現できてしまう。
プログラム言語っていうのは、特定のパターンに対して
専用の命令を作ることでコードの可読性を高くしてきた。
これは圧縮の仕組みにも近い。特定のパターンに短い単語を当てはめて
簡潔に書くことができるようになる。
条件判定命令と条件ジャンプ命令さえあれば十分であっても
そこからforパターンやwhileパターンを見つけ、専用の単語に
割り当てることで可読性が高くなる。
408デフォルトの名無しさん
2016/07/21(木) 22:34:35.81ID:9dMGMxaj だからCだけが生き残ったんだろ?
大衆プログラマが望んだ形で変化した結果だからな。
大衆プログラマが望んだ形で変化した結果だからな。
409デフォルトの名無しさん
2016/07/21(木) 23:16:46.30ID:vaQfL518 生き残ったっていうのは古い言語とくらべての話?
確かにFortlanとかPascalは消えた。
多くの優れた言語が生まれている中、今でも通用するのは
C言語ぐらいだと思うが。
確かにFortlanとかPascalは消えた。
多くの優れた言語が生まれている中、今でも通用するのは
C言語ぐらいだと思うが。
410デフォルトの名無しさん
2016/07/21(木) 23:17:21.89ID:zfBmPUKU どちらも消えてねーだろw
411デフォルトの名無しさん
2016/07/21(木) 23:21:30.21ID:vaQfL518 >>410
第三者の人が検証できるランキングとかある?
そりゃどこか目につかないところではあるかもしれないが、
例えばその言語で仕事したいと思ったとき
探せ出せないような言語は消えたと思っていいだろう。
第三者の人が検証できるランキングとかある?
そりゃどこか目につかないところではあるかもしれないが、
例えばその言語で仕事したいと思ったとき
探せ出せないような言語は消えたと思っていいだろう。
412デフォルトの名無しさん
2016/07/21(木) 23:39:22.80ID:zfBmPUKU413デフォルトの名無しさん
2016/07/21(木) 23:45:13.87ID:vaQfL518 >>408
ということで、C以外も生き残ってるんだが?w
ということで、C以外も生き残ってるんだが?w
414デフォルトの名無しさん
2016/07/21(木) 23:52:22.14ID:dNMEb7c5 問題は暗黙に行う言語の動きに対してどれだけ
コンセンサスがとりやすいかってことだ。
c++ はもうその意味でどっか行ってる。
コンセンサスがとりやすいかってことだ。
c++ はもうその意味でどっか行ってる。
415デフォルトの名無しさん
2016/07/22(金) 01:30:33.86ID:znBq8w6k >>407
俺の言いたいことはそういうことじゃなくて
ローレベルな世界ではその言語固有のオブジェクトになってない
単なるメモリブロック、データ、信号を扱わなきゃならない場面が多いんだよ
それはファイルから読み込まれるかもしれないし
ネットワーク越しにやってくるかもしれないし
ディバイスとのやり取りかもしれないし
ま、要するに単なるデータ
Cはメモリモデルがシンプルだからこういった単なるメモリブロックを扱うのに
長けているんだよ
構造体にキャストするだけでそのまま扱えるから
今でもC言語が現場で活躍しているのはこれができるから
もしこういったことが出来なかったとしたら、C言語なんかとっくに滅んでいたに違いない
メモリブロックをキャストして構造体や配列としてアクセスできないとしたら
そんなC言語に価値なんかあるか?
その一点がすごいんだよ、マジセンスある、もしくは運が良かった
俺の言いたいことはそういうことじゃなくて
ローレベルな世界ではその言語固有のオブジェクトになってない
単なるメモリブロック、データ、信号を扱わなきゃならない場面が多いんだよ
それはファイルから読み込まれるかもしれないし
ネットワーク越しにやってくるかもしれないし
ディバイスとのやり取りかもしれないし
ま、要するに単なるデータ
Cはメモリモデルがシンプルだからこういった単なるメモリブロックを扱うのに
長けているんだよ
構造体にキャストするだけでそのまま扱えるから
今でもC言語が現場で活躍しているのはこれができるから
もしこういったことが出来なかったとしたら、C言語なんかとっくに滅んでいたに違いない
メモリブロックをキャストして構造体や配列としてアクセスできないとしたら
そんなC言語に価値なんかあるか?
その一点がすごいんだよ、マジセンスある、もしくは運が良かった
416デフォルトの名無しさん
2016/07/22(金) 01:46:19.31ID:znBq8w6k そして多くの言語が見落としがちな部分でもあったんだよ
オブジェクトにしなきゃならないっつってvtable持たせたり
動的にしなきゃならないと、メンバをオフセットではなくハッシュにしたり
どんどん賢い機能を盛り込んでさ
その点C言語の構造体や配列はフラットでむちゃくちゃシンプルな作り
適当なメモリブロックをキャストしても何の問題も起きない
仕様もシンプルで分かりきってる
オブジェクトにしなきゃならないっつってvtable持たせたり
動的にしなきゃならないと、メンバをオフセットではなくハッシュにしたり
どんどん賢い機能を盛り込んでさ
その点C言語の構造体や配列はフラットでむちゃくちゃシンプルな作り
適当なメモリブロックをキャストしても何の問題も起きない
仕様もシンプルで分かりきってる
417デフォルトの名無しさん
2016/07/22(金) 02:02:58.97ID:znBq8w6k 別に必ずしも偉い機能を盛り込むのがダメと言っているわけじゃないよ
ただ、Cが何故か生き残っていて今でも使われ続けている原因はソレということ
C言語の用途と、うまい具合にマッチしてて、いい感じに生き残っている
ただ、Cが何故か生き残っていて今でも使われ続けている原因はソレということ
C言語の用途と、うまい具合にマッチしてて、いい感じに生き残っている
418デフォルトの名無しさん
2016/07/22(金) 03:13:29.97ID:7iYsigKa だからなんだよ?
419デフォルトの名無しさん
2016/07/22(金) 07:29:28.61ID:cZVknNWP 構造体の先頭メンバ以外のオフセットは規定されていない
まぁ、オフセットなのでメンバアクセスでどうとでもなるわけで
構造体が定義されたままメモリ上に存在していると考えているアホ
一般的なコンパイラなら定義通りだろうけど規定されていない
規定されていない規定されていない
まぁ、オフセットなのでメンバアクセスでどうとでもなるわけで
構造体が定義されたままメモリ上に存在していると考えているアホ
一般的なコンパイラなら定義通りだろうけど規定されていない
規定されていない規定されていない
420デフォルトの名無しさん
2016/07/22(金) 08:09:11.54ID:+awE6fq0 構造体のメンバ間のパディングは未規定だけど、オフセットが未規定って言うのは
順番も入れ替わるって言ってるの?
順番も入れ替わるって言ってるの?
421デフォルトの名無しさん
2016/07/22(金) 09:35:29.96ID:+Z+w/IAX 簡単に入れ替わるさ。
わざわざ入れ替えないでねと指定するレベル
わざわざ入れ替えないでねと指定するレベル
422デフォルトの名無しさん
2016/07/22(金) 10:31:03.00ID:znBq8w6k 構造体のメンバの順番が入れ替わらないのは仕様で決まっているよ
決まってないのは間に入る詰め物だけ
http://portable-c.jugem.jp/?eid=17
しかし、詰め物をどうするか、指定できるコンパイラがほとんどだから
実質的に詰め物も問題にならない
C言語プログラマーは自分の使っているコンパイラの仕様ぐらい分かって使っているからね
問題になるとすればエンディアンぐらい
決まってないのは間に入る詰め物だけ
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 ネイティヴアメリカンの件もあるしな。
426デフォルトの名無しさん
2016/07/22(金) 19:29:05.65ID:5OURMCtc cはメモリは意識するがレジスタは隠蔽するって落とし所がよかったんじゃない。
427デフォルトの名無しさん
2016/07/22(金) 19:41:14.28ID:jv7yTJni Cはパーサが複雑なのとゼロコストで導入できる便利機能が無いのを除けば悪くはない
428デフォルトの名無しさん
2016/07/22(金) 22:14:58.88ID:Oi2oQZIZ cの最大の失敗は波カッコ
ブロックのスコープがパイソン風だったら人類は1世紀以上先の進んでいた
ブロックのスコープがパイソン風だったら人類は1世紀以上先の進んでいた
429デフォルトの名無しさん
2016/07/23(土) 00:49:12.76ID:KFsxU+fY 代入演算子=と比較演算子==だけは許されざるよ。
つうか、IDEのサジェスチョン機能実装前の
"タイプ数が減る云々"な言語はすべて滅ぶべし。
つうか、IDEのサジェスチョン機能実装前の
"タイプ数が減る云々"な言語はすべて滅ぶべし。
430デフォルトの名無しさん
2016/07/23(土) 01:22:33.59ID:tWjtYIW6 C言語は特徴ある機能で生き残ることができた。
だけそのその特徴ある機能がなかったら生き残れないのか?というと
そうではない。現にその特徴ある機能がない言語ばかりだからだ。
ここから言えることは、なにもない言語は消え行く定めだが、
C言語の機能がなくとも、それに上回る機能があれば生き残るということだ。
だけそのその特徴ある機能がなかったら生き残れないのか?というと
そうではない。現にその特徴ある機能がない言語ばかりだからだ。
ここから言えることは、なにもない言語は消え行く定めだが、
C言語の機能がなくとも、それに上回る機能があれば生き残るということだ。
431デフォルトの名無しさん
2016/07/23(土) 01:27:50.24ID:tWjtYIW6 >>429
IDEを使うことでタイプ数が減る機能はどうでもいいんだよね。
どうでもいいというのは、タイプ数が多くても少なくても
さほど違いはないということ。
重要なのはタイプ数じゃなくて読む文字数だから。
ただしタイプした文字数=読む文字数ではないということ。
どういうことかというと、人間は文章を読むとき
読み飛ばしをするということ。
例えばJavaでいうimportやMainクラス定義なんかは
読み飛ばす部分。だからそんなところで読む数の違いは出てこない。
また型定義は読むところではあるが、型定義だけを読むことで
型を理解できると言うメリットが有る。
これは型が書かれていないコードから、型を解析する
作業よりも読む文字数は少なくなる。
IDEを使うことでタイプ数が減る機能はどうでもいいんだよね。
どうでもいいというのは、タイプ数が多くても少なくても
さほど違いはないということ。
重要なのはタイプ数じゃなくて読む文字数だから。
ただしタイプした文字数=読む文字数ではないということ。
どういうことかというと、人間は文章を読むとき
読み飛ばしをするということ。
例えばJavaでいうimportやMainクラス定義なんかは
読み飛ばす部分。だからそんなところで読む数の違いは出てこない。
また型定義は読むところではあるが、型定義だけを読むことで
型を理解できると言うメリットが有る。
これは型が書かれていないコードから、型を解析する
作業よりも読む文字数は少なくなる。
432デフォルトの名無しさん
2016/07/23(土) 18:21:41.45ID:6yKmk1QH 代入演算子は要らなかった
433デフォルトの名無しさん
2016/07/23(土) 23:13:50.14ID:7iusE9pH 代入は文であって値を持つべきでないと?
434デフォルトの名無しさん
2016/07/23(土) 23:53:23.87ID:zx6tBrAB 愚か者めが
435デフォルトの名無しさん
2016/07/24(日) 07:03:52.43ID:L1GkLU8N Cが生まれた時代はな
シンタクスハイライトどころか下手すると
スクリーンエディタ(キリッ カットアンドペースト(キリッ
すら高価な機能だったんやで
シンタクスハイライトどころか下手すると
スクリーンエディタ(キリッ カットアンドペースト(キリッ
すら高価な機能だったんやで
436デフォルトの名無しさん
2016/07/26(火) 15:33:00.26ID:ka5+GTWz テキストエディタが数万円してからな
437デフォルトの名無しさん
2016/07/26(火) 16:33:02.33ID:dc6Ut+6F Cが生まれた頃にはまだコピー&ペーストはなかったぞ。
438デフォルトの名無しさん
2016/07/26(火) 16:39:32.99ID:qFADw225 最初のクリップボードはAltoかな
Cが1972年でAltoが1973年
Cが1972年でAltoが1973年
439デフォルトの名無しさん
2016/07/26(火) 16:42:33.79ID:P0pX8+u1 >>430
で、その、この先生きのこるのはどの言語!
で、その、この先生きのこるのはどの言語!
440デフォルトの名無しさん
2016/07/26(火) 17:29:32.48ID:XfeIwbpB アセンブラ C Fortran Lisp の古代言語
Javascript COBOL Python
HTML PHP はなんだかんだ言って生き残るんだろな〜
あとは Java がどうなるかな
Javascript COBOL Python
HTML PHP はなんだかんだ言って生き残るんだろな〜
あとは Java がどうなるかな
441デフォルトの名無しさん
2016/07/26(火) 21:54:04.74ID:8mWO7mKy 言語じゃないというのはナンセンスか
442デフォルトの名無しさん
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 初期設計を少しでも間違えたり手抜きしたら
そのシステムの成長絶望的になり死ぬ
そのシステムの成長絶望的になり死ぬ
446デフォルトの名無しさん
2016/07/27(水) 02:09:24.84ID:gQfYvWZ4447デフォルトの名無しさん
2016/07/27(水) 02:12:13.92ID:gQfYvWZ4448デフォルトの名無しさん
2016/07/27(水) 06:54:54.29ID:cUWSkWnI 問題はそういうジョークを本気にする人が多すぎるってことだろうに。
つまりオブジェクト指向ってのは一般にコンセンサスをとりずらい概念なんだよ。
つまりオブジェクト指向ってのは一般にコンセンサスをとりずらい概念なんだよ。
449デフォルトの名無しさん
2016/07/27(水) 06:58:14.97ID:LCC7iz/I450デフォルトの名無しさん
2016/07/27(水) 07:29:08.70ID:mL4CmQKe >>446
コーヒーの例は単純明快だからいいけど、美少女は実際に正しく設計できるやつが日本に何人いるかってレベルだろうな
コーヒーの例は単純明快だからいいけど、美少女は実際に正しく設計できるやつが日本に何人いるかってレベルだろうな
451デフォルトの名無しさん
2016/07/27(水) 07:30:19.55ID:+Qq3g4cQ >>448
これをジョークだと思って実戦に挑む奴がデスマーチを引き起こす
これをジョークだと思って実戦に挑む奴がデスマーチを引き起こす
452デフォルトの名無しさん
2016/07/27(水) 07:32:08.18ID:iBdKVqyS 基底に近いほど修正しづらいのは事実
453デフォルトの名無しさん
2016/07/27(水) 07:33:05.82ID:8lCNqFHq >>451
ほんとこれ
ほんとこれ
454デフォルトの名無しさん
2016/07/27(水) 09:54:15.05ID:8yC4YC1p >>449
tokage.cut()
tokage.cut()
455デフォルトの名無しさん
2016/07/27(水) 12:23:59.26ID:mW7SlT40 くだらん与太話はこれくらいにしてそろそろ全力でウンコ美少女問題に取り組むか
456デフォルトの名無しさん
2016/07/27(水) 17:21:14.58ID:8Owc4Qqf ウンコしない美少女は偶像
つまり人間からの派生ではない
つまり人間からの派生ではない
457デフォルトの名無しさん
2016/07/27(水) 17:58:49.99ID:CvwlEFOq なんか、いっつも同じレベルの書き込みするから
自演になってないって自覚しとる?きみ。
自演になってないって自覚しとる?きみ。
458デフォルトの名無しさん
2016/07/27(水) 19:55:41.64ID:9bIrtjQt ユーザーはうんこなんて機能は求めて無いから削除しろよと
459デフォルトの名無しさん
2016/07/27(水) 20:16:04.55ID:YbwWr11d 人間がウンコするのは、
ユーザーが求めているからなのか?
ユーザーが求めているからなのか?
460デフォルトの名無しさん
2016/07/27(水) 20:21:12.98ID:9bIrtjQt ソフトの機能に不要な要素まで組み入れても誰も買わないだろ。
現実の要素を完全に網羅する必要は無いから
現実の要素を完全に網羅する必要は無いから
461デフォルトの名無しさん
2016/07/27(水) 21:23:16.38ID:dkELqw5/ それは当たり前のことではあるな
必要な要素だけ実装すればよいからな
Humanクラスがどういった要素を持つかは案件によるし
もし人の持つすべての機能をHumanクラスに実装できるっていうんなら
そのHumanクラスにプログラムも書いてもらえばよい
よって現実の人間がうんこをするからと言って
必ずしもHumanクラスにうんこをする機能が必要かどうかはわからないし
必要な案件に出会ってから美少女クラスのうんこの扱いについて考えればよい
必要な要素だけ実装すればよいからな
Humanクラスがどういった要素を持つかは案件によるし
もし人の持つすべての機能をHumanクラスに実装できるっていうんなら
そのHumanクラスにプログラムも書いてもらえばよい
よって現実の人間がうんこをするからと言って
必ずしもHumanクラスにうんこをする機能が必要かどうかはわからないし
必要な案件に出会ってから美少女クラスのうんこの扱いについて考えればよい
462デフォルトの名無しさん
2016/07/27(水) 21:50:52.30ID:eu5RKOJ4 要件で一言も触れてないのに「はぁ?○○はあって当然だろ」とか言い出す顧客しかいないから
想像できるものは全て詰め込んでおく必要がある。
ウンコだろうとゲロだろうと例外はない。
想像できるものは全て詰め込んでおく必要がある。
ウンコだろうとゲロだろうと例外はない。
463デフォルトの名無しさん
2016/07/27(水) 22:27:39.20ID:YbwWr11d 肝心なことを決めずに作り込んでいく。
美少女クラスのスーパークラスは人間クラスである。
排便メソッドは関係ないからそれでいい。
だが、ある時ユーザーからの要望で人間クラスに排便メソッドを作った。
人間だもの、当たり前だ。
それでいいと思った。その時がくるまでは。
ある時私は気がついた。
これだと美少女が排便すると www
美少女クラスのスーパークラスは人間クラスである。
排便メソッドは関係ないからそれでいい。
だが、ある時ユーザーからの要望で人間クラスに排便メソッドを作った。
人間だもの、当たり前だ。
それでいいと思った。その時がくるまでは。
ある時私は気がついた。
これだと美少女が排便すると www
464デフォルトの名無しさん
2016/07/27(水) 22:41:58.99ID:60oYSks+ このスレ的にはgo言語とかD言語のダックタイピングってどうなん?
465デフォルトの名無しさん
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 元素から実装しろ
471デフォルトの名無しさん
2016/07/28(木) 01:51:28.53ID:y7xhJAs5 >>468
COBOLって単なる言語じゃなくて運用まで含めたシステムの総称だからな。かなうわけがない
とは言え、高賃金のCOBOLプログラマーもいずれ死に絶えるわけでなんとかしないといけないんだけどさ
Adaなんか勉強して損した
COBOLって単なる言語じゃなくて運用まで含めたシステムの総称だからな。かなうわけがない
とは言え、高賃金のCOBOLプログラマーもいずれ死に絶えるわけでなんとかしないといけないんだけどさ
Adaなんか勉強して損した
472デフォルトの名無しさん
2016/07/29(金) 12:00:06.26ID:TRgFQe5b Ocamlならあるいは
473デフォルトの名無しさん
2016/07/29(金) 18:48:09.16ID:POEPtDrt ないない
そもそもCが小文字の時点で語る資格なし
そもそもCが小文字の時点で語る資格なし
474デフォルトの名無しさん
2016/07/30(土) 00:08:52.44ID:lNYXBi4+ ならScalaでスイス銀行の例もあるし?
475デフォルトの名無しさん
2016/07/30(土) 00:35:24.99ID:gkAo/Cig 具体的に
476デフォルトの名無しさん
2016/07/30(土) 15:22:29.13ID:OSfj7rnr オブジェクト指向を考え出した人間もオブジェクト指向の解釈を誤っていたのではないか
クラスというのは人間が直感的に思い描く世界の事物をプログラムコードにマップする手段ではなくて、
プロセスという大きなチューリングマシンの中の小さなチューリングマシンを記述する手段にすぎなかった
(チューリング完全性の利用例の一つだった
クラスのコンストラクタは状態機械であるところのチューリングマシンの初期化と生存期間の始まりに相当する
デストラクタは後始末と生存期間の終わり。
メソッドはチューリングマシンにlive timeを与え、計算を進めさせる。
そんだけ
状態(mutableなデータ)を含むから関数型プログラミングとは似て非なるものだし、
数学的にカタをつけるにはチューリングマシンの一変種で無限長の磁気テープをクラスで小分けにしたもの、
としか言い様が無い
クラスというのは人間が直感的に思い描く世界の事物をプログラムコードにマップする手段ではなくて、
プロセスという大きなチューリングマシンの中の小さなチューリングマシンを記述する手段にすぎなかった
(チューリング完全性の利用例の一つだった
クラスのコンストラクタは状態機械であるところのチューリングマシンの初期化と生存期間の始まりに相当する
デストラクタは後始末と生存期間の終わり。
メソッドはチューリングマシンにlive timeを与え、計算を進めさせる。
そんだけ
状態(mutableなデータ)を含むから関数型プログラミングとは似て非なるものだし、
数学的にカタをつけるにはチューリングマシンの一変種で無限長の磁気テープをクラスで小分けにしたもの、
としか言い様が無い
477デフォルトの名無しさん
2016/07/30(土) 15:46:36.80ID:OSfj7rnr こう考えると継承のしくみを使ったプログラミングが
ごく一部のデザインパターンにおいてしか成功しないことも理解できる
継承というしくみのは人間が「こうだったらイイなあ…」と思い描いて作っただけで、
>>476な解釈からは必然性が出てこない
つまり継承というしくみは論理的妥当性を欠いており、
継承を下手に使ったらあちこちで矛盾が生じて話が発散していく傾向なのも仕方が無い
ごく一部のデザインパターンにおいてしか成功しないことも理解できる
継承というしくみのは人間が「こうだったらイイなあ…」と思い描いて作っただけで、
>>476な解釈からは必然性が出てこない
つまり継承というしくみは論理的妥当性を欠いており、
継承を下手に使ったらあちこちで矛盾が生じて話が発散していく傾向なのも仕方が無い
478デフォルトの名無しさん
2016/07/30(土) 18:44:13.74ID:TLvR+07H だいたいプログラミング業界って、
新しいものが導入される
→古いものはやめてこれ使いましょう
→新しいものも色々問題があることが分かってくる
→極力使わないようにしましょう
の繰り返しだからな。継承しかり例外しかり。
最近はテンプレート使いすぎなんじゃねーのって思うけど。
新しいものが導入される
→古いものはやめてこれ使いましょう
→新しいものも色々問題があることが分かってくる
→極力使わないようにしましょう
の繰り返しだからな。継承しかり例外しかり。
最近はテンプレート使いすぎなんじゃねーのって思うけど。
479デフォルトの名無しさん
2016/07/30(土) 19:01:15.21ID:TM2kAcv9 > 継承しかり例外しかり。
継承も例外も極力使わないようにしましょうなんて
誰も言ってないが?
間違った使い方が明らかになって、
間違った使い方をしないで
正しい使い方をしましょう。
っていう結論ならばいつもそうなっている。
継承しかり例外しかり。
継承も例外も極力使わないようにしましょうなんて
誰も言ってないが?
間違った使い方が明らかになって、
間違った使い方をしないで
正しい使い方をしましょう。
っていう結論ならばいつもそうなっている。
継承しかり例外しかり。
480デフォルトの名無しさん
2016/07/30(土) 19:38:58.24ID:XUUv9y4D 結局、人間クラスと美少女クラスは
どうすればいいんだ?
どうすればいいんだ?
481デフォルトの名無しさん
2016/07/30(土) 20:02:32.96ID:TLvR+07H482デフォルトの名無しさん
2016/07/30(土) 20:08:02.92ID:OEu/5F3U javaはオラクルがVMを提供しなくなったら
廃れるだろ。
廃れるだろ。
483デフォルトの名無しさん
2016/07/30(土) 21:52:18.63ID:NYI5chEQ484デフォルトの名無しさん
2016/07/30(土) 22:13:41.04ID:TM2kAcv9485デフォルトの名無しさん
2016/07/30(土) 22:18:10.45ID:OSfj7rnr (定義が論理的に妥当でなかったりあいまいだったりするとお議論が紛糾する例
486デフォルトの名無しさん
2016/07/30(土) 22:23:44.57ID:3WJAVcau 多少コピペが多くなっても継承をむやみに使ってはいけない場面ってのは想定しなきゃなぁ
487デフォルトの名無しさん
2016/07/30(土) 22:38:52.82ID:TM2kAcv9 なんで継承をやめたらコピペが多くなるのかそれがわからんw
正しく継承使うといういうのは、
継承以外の方法を使うべきときに、違う方法を使うという意味であって、
ならばその違う方法で、コピペを回避すれば良いんだよ。
正しく継承使うといういうのは、
継承以外の方法を使うべきときに、違う方法を使うという意味であって、
ならばその違う方法で、コピペを回避すれば良いんだよ。
488デフォルトの名無しさん
2016/07/30(土) 22:44:09.77ID:XUUv9y4D 委譲を使えばいいんだろ。
肛門クラスを作って、
人間クラスと美少女クラスのプロパティに肛門インスタンスを持てばいいんだ。
排便できる肛門と出来ない肛門と。
肛門クラスを作って、
人間クラスと美少女クラスのプロパティに肛門インスタンスを持てばいいんだ。
排便できる肛門と出来ない肛門と。
489デフォルトの名無しさん
2016/07/30(土) 23:06:52.83ID:FiK/AfbE コーデングテクニックでごまかすのはアカンね
そーゆーことするから所謂ひとつのスパゲッテイー的ソースコードが出来上がるんや
デザインの問題はデザインで解決出来な一生炎上商法プログラマーのまんまやで
そーゆーことするから所謂ひとつのスパゲッテイー的ソースコードが出来上がるんや
デザインの問題はデザインで解決出来な一生炎上商法プログラマーのまんまやで
490デフォルトの名無しさん
2016/07/30(土) 23:38:21.39ID:3WJAVcau >>487
ミックスインの手法が確立されてないってことは、継承が害悪になる場面ってのはあるんだよ。
そういう場合は、下に書かれてる通り、コンポーネント的な設計が必要。
そういう時に、コンストラクタでコピペが必要ってこと。
ミックスインの手法が確立されてないってことは、継承が害悪になる場面ってのはあるんだよ。
そういう場合は、下に書かれてる通り、コンポーネント的な設計が必要。
そういう時に、コンストラクタでコピペが必要ってこと。
491デフォルトの名無しさん
2016/07/30(土) 23:41:35.20ID:3WJAVcau そうするとインタフェースの定義が必要になってくるから、結局継承が楽だし、よほどのことじゃなければそれで済ませるんだけどね
492デフォルトの名無しさん
2016/07/31(日) 00:01:52.81ID:VGavY/X3 if文ですべて解決できるんじゃね
493デフォルトの名無しさん
2016/07/31(日) 00:35:50.52ID:UuqrLdJE だから、委譲というか、
デリゲート使えっていうか。
デリゲート使えっていうか。
494デフォルトの名無しさん
2016/07/31(日) 01:44:59.39ID:LD4Pss8J ほんと最近、is-a関係、has-a関係っていうの
軽視されてるよな。
is-aのときに継承すれば良いんだって
昔から言われてるんだが。
これは古い概念じゃないぞw
軽視されてるよな。
is-aのときに継承すれば良いんだって
昔から言われてるんだが。
これは古い概念じゃないぞw
495デフォルトの名無しさん
2016/07/31(日) 03:56:26.93ID:Wl4/o5Bb フリーザは美少女クラスのis-a関係
496デフォルトの名無しさん
2016/07/31(日) 09:04:47.96ID:xuMLlix3 >>494
is-a関係は一般に存在しない
例外なのは同値関係と包含関係が数学的に定義できて無矛盾性が担保された
(=直接証明されたか、より一般的な体系の無矛盾性に帰着できる)ケースだけだが
そんなのはスゲーまれ
いっぱいあると感じるのは錯覚
不用意にis-a関係を導入することでクラス分けにあいまいさが紛れ込み、
プログラムの設計とか簡単に壊滅する
is-a関係は一般に存在しない
例外なのは同値関係と包含関係が数学的に定義できて無矛盾性が担保された
(=直接証明されたか、より一般的な体系の無矛盾性に帰着できる)ケースだけだが
そんなのはスゲーまれ
いっぱいあると感じるのは錯覚
不用意にis-a関係を導入することでクラス分けにあいまいさが紛れ込み、
プログラムの設計とか簡単に壊滅する
497デフォルトの名無しさん
2016/07/31(日) 09:09:00.42ID:xuMLlix3 その点ha-a関係はやりやすいなぜなら単なる集約であって分類が絡まないから
has-a関係の導入自体が矛盾を生じることは無いからだ
has-a関係の導入自体が矛盾を生じることは無いからだ
498デフォルトの名無しさん
2016/07/31(日) 09:36:24.74ID:tLh0Iyun is-a関係だと思っているものは全てhas-aとしても実装できる。
概念系統が複数ある場合、is-aでは多重継承もしくは、
全ての組み合わせの派生クラスを定義することが必要だが、
has-aではそういう問題は無く柔軟に設計できる。
概念系統が複数ある場合、is-aでは多重継承もしくは、
全ての組み合わせの派生クラスを定義することが必要だが、
has-aではそういう問題は無く柔軟に設計できる。
499デフォルトの名無しさん
2016/07/31(日) 09:41:31.16ID:/E3bqgob OO使わない場合に
フラグとかカウンタとかステータスってのをどう管理するのかを
単刀直入に知りたい。
関数型なんかでもこの辺がよくわからない
(消せるはずはないから何か別の概念などで整理・管理されるんだとは思うけど)
フラグとかカウンタとかステータスってのをどう管理するのかを
単刀直入に知りたい。
関数型なんかでもこの辺がよくわからない
(消せるはずはないから何か別の概念などで整理・管理されるんだとは思うけど)
500デフォルトの名無しさん
2016/07/31(日) 09:46:59.05ID:tLh0Iyun >>499
普通の構造体でいいのでは?(Cでいうところの)
普通の構造体でいいのでは?(Cでいうところの)
レスを投稿する
ニュース
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
- 🏡
- 今季最強寒気襲来!!!!
- 【高市早苗】習近平激怒か [115996789]
- 橋下徹「口だけ番長の日本が中国に喧嘩負け。なんとカッコ悪い日本か!」高市にバチーン!✴ [153490809]
- 今猛烈に食べたいもの挙げてけwwwwwwww
