オブジェクト指向は愚かな考え。この世は計算式 ★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/
386デフォルトの名無しさん
垢版 |
2016/07/17(日) 12:43:31.14ID:gClFyV8u
君それは細分化やないか
美少女のウンコふりかけ食わしたろか
2016/07/17(日) 13:29:48.60ID:okE8dWNU
同じ型のインスタンスの振る舞いをポリモーフィズムさせるのは、

・継承
・委譲
・switch文
・関数ポインタ、ラムダ式
・別途スクリプトなどを用意する

などの方法がある
2016/07/17(日) 13:57:59.74ID:PHnZw+de
ウンコって言いたい年頃なんだろうな
2016/07/17(日) 15:27:54.18ID:+aWd02nI
>>384
データはDB管理かもしれないしDBに沿った構成になるかもしれない
UIで必要であれば 380 の構成もありえるし
だから 380 は文脈と言ってるんだろうに
390デフォルトの名無しさん
垢版 |
2016/07/17(日) 15:59:55.36ID:gClFyV8u
どんな文脈やねんw
肉屋の仕入れアプリでブタにダンスでもさせる気なんかw
そんなら俺はウンコを我慢する美少女の方がええわwww
何でも文脈言えばええっちゅーもんちゃうでホンマ
2016/07/17(日) 16:05:40.68ID:q7clyz/N
>>389
いや、当然RDBMSでデータ管理しているという前提だが?
2016/07/17(日) 21:43:01.45ID:SWVEU9WP
クソスレじゃねーか!
2016/07/20(水) 23:08:50.86ID:0oomM0jq
計算式が面倒になったら
またどうせオブジェクト指向になるんだろ
2016/07/20(水) 23:42:38.15ID:E+SEwayU
>>380
> 一体どうしてと思ったらジビエと畜産肉で分けてたとか、食肉加工業者の仕入れ管理ソフトだったらあり得るよ

見たこと無いが「あり得る」という話なら、
C言語でgotoばっかり使うってのもあり得るよ。

C言語なのに、オレオレライブラリとマクロを使って
COBOLみたいに使うことだって有り得るよ。

お前の大好きな言語をクソみたいな使い方する方法だって有り得るよ。
有り得るかどうかを語るのって意味なくね?

クソみたいなコードを書くのは書いた人間が悪いのであって
言語の問題でもオブジェクト指向の問題でもない。
2016/07/21(木) 02:05:10.33ID:pVvcsTGR
>>393
というか、人間がプログラムをユニット単位に分けた時に
"こいつはこういうコマンドを与えれば勝手にそれをやる単位"って
分け方をすれば『人間がわかりやすい』だろう。ってのが
いまあたりまえのメソッド型オブジェクト指向なんで、
こうすれば"副作用"が出ない!って計算式の方はむしろ
問題が起きないように『機械の都合に人間が合わせる』流れで
たぶん遠からず下火になるわ、あれ。つかもうなった感じ。

むしろ、アルゴリズム解析みたいなのを開発環境がやって
こうすると副作用が最小になるっぽいですよ?って
AIがサジェスチョンするようになんじゃね?つか。
2016/07/21(木) 12:07:59.69ID:gJ3egAPE
それはどうかわからんよ
もともと機械の都合で生まれた静的型が
実は人間にも優しいってことで大人気だし
本来静的型じゃなくても動く筈の動的型言語も
どんどん静的型の機能を取り入れていくのが今のトレンドでしょ

それに、副作用の無い関数型は全然機械の都合じゃないし
あれは数学の理論とかから生まれたような理論先行のもので
コンピュータの動作原理を考えたら、むしろ副作用ありの方が
自然だと思う

副作用ありの静的型言語が一番機械の都合に合っていて
その金字塔がC言語であり、今でも使われ続けている
主にローレベルなことやOSの開発やドライバの開発などに
使われているのは、それだけ機械の都合にあっているから
昔の言語なのに破たんせずに使われ続けているのは
それだけコンピュータの動作原理を素直に表現していて
流行り廃りというものと無縁だから
2016/07/21(木) 16:36:54.23ID:KvWRwuEL
Cで書いたコードが速く動くようにCPUやOSが設計されているという面も
あるからぬ…だからって新世代の言語に合わせてCPUやOSを作り直すか?
といわれたらそんなことは起こりっこないと断言できるが
398デフォルトの名無しさん
垢版 |
2016/07/21(木) 17:56:06.90ID:9dMGMxaj
おまいさんそれは逆ですぜ。
Cがアセンブラに馴染み易く出来てるんですぜ。
でも本来はintelの系統じゃ無くて、
モートローラとかミニコンから派生した石に馴染み易く出来てるんですがね。
まあ、Cが最初からintelの石用に作ってたら、
もう少し違った構文になってたかもね。
399デフォルトの名無しさん
垢版 |
2016/07/21(木) 18:08:41.00ID:9dMGMxaj
アセンブラやってた連中が、構造化プログラミングを提唱して、
プログラムを小さな塊の組み合わせで作る様になったんで、
同時期に条文分岐やサブルーチンの扱いをマクロ処理を被せて
読み易くするのが流行ったんだよ。
それをもっと書き易くして行って出て来たのがコンパイラ言語
いわゆる高級言語だけど、簡単なアセンブラへの置き換えしかしてなかった。
今ではそこから更にそれら高級言語を分かり易く記述出来る高次な高級言語が流行ってるけどね。
400デフォルトの名無しさん
垢版 |
2016/07/21(木) 18:19:01.28ID:9dMGMxaj
例えば、hoge+とかやれば自動的にインクリメントしてくれる仕様だって、そういうアセンブラ命令があったからなんだぜ。
2016/07/21(木) 18:38:56.73ID:fNq3MD0e
>>397
>Cで書いたコードが速く動くようにCPUやOSが設計されている
何を根拠に?
2016/07/21(木) 19:51:04.04ID:zfBmPUKU
>>399
時系列がぐちゃぐちゃじゃね?
最初の高級言語と呼べるものはFortranだけど、
数式を人間フレンドリーな形で記述できるのが売りだった。
Fortranはアセンブラの簡単な置き換えレベルではないでしょ。

構造化プログラミングはALGOLからだろうけど、
Fortranより後だし、Cのようなレベルに達するのはもっと先。
2016/07/21(木) 20:06:28.29ID:ZXk7cAfY
歴史しらないバカばっかw
2016/07/21(木) 20:28:04.90ID:IpsfD7Z7
自信を持って声を大きくして叫び続ければやがてそれが歴史となる
2016/07/21(木) 20:37:00.07ID:m+nIkrs4
後の人々はそれをこう呼んだ、すなわち黒歴史と……
2016/07/21(木) 21:20:03.86ID:gJ3egAPE
Cの何がすごいって、メモリに対する考え方がシンプルで凄い
構造体のメンバは単なる先頭からのオフセットだし
配列の添え字も先頭からのオフセットでしかない
しかも配列とポインタはある種の互換性がある
だから何だかよくわからないメモリブロックを
構造体にキャストしてアクセスできたり
同様に単なるメモリブロックを配列としてアクセスできたりする
メモリの扱いがとにかくシンプルでありつつ強力なアクセス方法があり応用が利く
こういうことができる言語はあまりない
C++ですらvtableが入ってたらもうオフセットずれるし
2016/07/21(木) 21:42:38.85ID:vaQfL518
>>406
言語の実装がシンプルなのと、その言語を
使ってアプリを実装するっていうのは別の話で
なんでも一つの機能で出来てしまう言語っていうのは、
冗長で意味代わりにくいコードになりがちなんだよ。

例えばシンプルと言うのならアセンブラが一番シンプル
条件判定命令と条件ジャンプ命令だけでループを表現できてしまう。

プログラム言語っていうのは、特定のパターンに対して
専用の命令を作ることでコードの可読性を高くしてきた。
これは圧縮の仕組みにも近い。特定のパターンに短い単語を当てはめて
簡潔に書くことができるようになる。

条件判定命令と条件ジャンプ命令さえあれば十分であっても
そこからforパターンやwhileパターンを見つけ、専用の単語に
割り当てることで可読性が高くなる。
2016/07/21(木) 22:34:35.81ID:9dMGMxaj
だからCだけが生き残ったんだろ?
大衆プログラマが望んだ形で変化した結果だからな。
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
多少コピペが多くなっても継承をむやみに使ってはいけない場面ってのは想定しなきゃなぁ
レスを投稿する

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

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