オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
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
326デフォルトの名無しさん
2016/07/09(土) 19:23:57.17ID:dEWSYkKq2016/07/10(日) 18:09:32.57ID:RTWM7o1I
(HP)をプロパティで持った「キャラクター」クラスを作って
それを継承した「戦士」クラスは"たたかう"、"ぼうぎょ"、"にげる"などのメソッドを持つ
これを再利用して、「武闘家」クラスを作れば
おなじ"たたかう"メソッドで武闘家はてつのつめで戦うようにできる。
さらには(MP)と"まほう"メソッドを追加で「魔法使い」クラスが…
ってこの辺りで便利さがわかると同時に
(MP)プロパティや"まほう"メソッドをどこにつけるかで混乱が始まって
継承の不便さが浮き彫りになってくるという。
全部独立パーツでそれを必要に応じて束ねて使っていればもっと取り回しが楽だったり
それを継承した「戦士」クラスは"たたかう"、"ぼうぎょ"、"にげる"などのメソッドを持つ
これを再利用して、「武闘家」クラスを作れば
おなじ"たたかう"メソッドで武闘家はてつのつめで戦うようにできる。
さらには(MP)と"まほう"メソッドを追加で「魔法使い」クラスが…
ってこの辺りで便利さがわかると同時に
(MP)プロパティや"まほう"メソッドをどこにつけるかで混乱が始まって
継承の不便さが浮き彫りになってくるという。
全部独立パーツでそれを必要に応じて束ねて使っていればもっと取り回しが楽だったり
328デフォルトの名無しさん
2016/07/10(日) 20:28:28.05ID:4zLRjbrA 実装の再利用は継承でやるよりtraitが便利
smalltalkで発表されて、PHPに輸入されて、後は知らないが
smalltalkで発表されて、PHPに輸入されて、後は知らないが
329デフォルトの名無しさん
2016/07/10(日) 22:16:26.35ID:/17c9zmN Scalaとかの静的型言語がただのmixinをあえてtraitsと呼ぶのは誤解を招くよなぁ…
330デフォルトの名無しさん
2016/07/10(日) 22:21:00.81ID:SLnFWOAS331デフォルトの名無しさん
2016/07/10(日) 22:46:02.92ID:YDU79Arx そもそもオブジェクトの粒度が高すぎんだよ
アビリティクラス的なものを作るべき
アビリティクラス的なものを作るべき
332デフォルトの名無しさん
2016/07/10(日) 23:04:09.88ID:tx16mOUk > ってこの辺りで便利さがわかると同時に
> (MP)プロパティや"まほう"メソッドをどこにつけるかで混乱が始まって
全然混乱しないなw
どこにつけるかなんてシステム次第だが
ドラクエ方式であればMPプロパティはキャラクタークラスで
魔法メソッドなんていうのは、特技メソッドの表示名の違いでしか無い。
> (MP)プロパティや"まほう"メソッドをどこにつけるかで混乱が始まって
全然混乱しないなw
どこにつけるかなんてシステム次第だが
ドラクエ方式であればMPプロパティはキャラクタークラスで
魔法メソッドなんていうのは、特技メソッドの表示名の違いでしか無い。
333デフォルトの名無しさん
2016/07/11(月) 08:10:49.21ID:BGpqEWk7 継承ベースだと
キャラクター>戦士>武闘家というクラス階層で
90年代のバカみたいな継承信奉してると武闘家の後ろとかに
"魔法使い"作って泥沼に嵌まるんだよな。
継承=オブジェクト指向だから。
キャラクター>戦士>武闘家というクラス階層で
90年代のバカみたいな継承信奉してると武闘家の後ろとかに
"魔法使い"作って泥沼に嵌まるんだよな。
継承=オブジェクト指向だから。
334デフォルトの名無しさん
2016/07/11(月) 08:24:29.03ID:DT6nTI14 継承を使いこなせないのは要するに馬鹿なんだよ
オブジェクト指向も関係なくプログラミングの基礎が出来てないから
オブジェクト指向も関係なくプログラミングの基礎が出来てないから
335デフォルトの名無しさん
2016/07/11(月) 09:34:50.03ID:c813o9It336デフォルトの名無しさん
2016/07/11(月) 10:06:35.54ID:BGpqEWk7 「よくバカな奴が"延々と"を"永遠と"って書いてたりするよねー」
「え、おまえ"延々と"を"永遠と"って書いてんの!?バカじゃね!
俺なんか絶対そんな間違いしないね!!おまえバカだろ!バーカwww」
「えっ?」
「え、おまえ"延々と"を"永遠と"って書いてんの!?バカじゃね!
俺なんか絶対そんな間違いしないね!!おまえバカだろ!バーカwww」
「えっ?」
337デフォルトの名無しさん
2016/07/11(月) 11:14:13.38ID:v8BjKTdy 戸惑いのバカwww
338デフォルトの名無しさん
2016/07/11(月) 14:14:51.31ID:BGpqEWk7 えっ?
339デフォルトの名無しさん
2016/07/11(月) 21:41:33.01ID:K+QqD/bm >>326
そやねぇ
あまりないというか、見たことが無いw
あともしそれを書いてる本があっても
入門者には意外と伝わらないと思う
それを必要とする状況まで陥ってないと
デザパタ本ですらろくに伝わってない
困って、考えて、本読むという順じゃないと多分ダメ
…多分だけど
そやねぇ
あまりないというか、見たことが無いw
あともしそれを書いてる本があっても
入門者には意外と伝わらないと思う
それを必要とする状況まで陥ってないと
デザパタ本ですらろくに伝わってない
困って、考えて、本読むという順じゃないと多分ダメ
…多分だけど
340デフォルトの名無しさん
2016/07/11(月) 22:00:34.80ID:DT6nTI14 目的に合わせて正しく抽象化出来れば継承関係は自然に導かれるはず
継承だけに着目して教える/教わるという考えがそもそもおかしい
継承だけに着目して教える/教わるという考えがそもそもおかしい
341デフォルトの名無しさん
2016/07/11(月) 22:37:59.77ID:NMj8cyvT 概念の継承関係とコードの継承関係を同じ目線で見ると失敗する
342デフォルトの名無しさん
2016/07/11(月) 22:42:17.81ID:DT6nTI14 >>341
それ抽象化が間違ってるからやw
それ抽象化が間違ってるからやw
343デフォルトの名無しさん
2016/07/12(火) 00:05:30.28ID:dw2VnrEM >>342
過度な期待期に入った新人君かな
過度な期待期に入った新人君かな
344デフォルトの名無しさん
2016/07/12(火) 07:21:41.32ID:jrBRhCE1 自分のモデリングの間違いを言語機能のせいにする
な?要するに馬鹿なんだよ
な?要するに馬鹿なんだよ
345デフォルトの名無しさん
2016/07/12(火) 08:27:37.68ID:URFMxuYq オブジェクト指向もずいぶん枯れたわけだし、アンチパターンの確認から入るってのも悪くはない。
346デフォルトの名無しさん
2016/07/12(火) 09:41:37.70ID:Q/mNeBI3 正しく抽象化できれば正しくできる、
って意味のないこと言ってどうすんの?
その正しく抽象化する方法が問題なんでしょ?
って意味のないこと言ってどうすんの?
その正しく抽象化する方法が問題なんでしょ?
347デフォルトの名無しさん
2016/07/12(火) 09:54:02.01ID:DvYXCZnM >>328
その後は、rubyにパチモンが作られて「Rubyの偉大な発明」の仲間入りしたのでは?
その後は、rubyにパチモンが作られて「Rubyの偉大な発明」の仲間入りしたのでは?
348デフォルトの名無しさん
2016/07/12(火) 10:24:32.15ID:QmnH/+e2 たとえば魔法使いと魔法という概念が"新たに生まれた"場合
それは魔法を使える魔法使いのみが使うから魔法使いクラスの固有プロパティなのか。
それとも、使えないだけですべてのキャラクターが持つ基礎パラメータなのか。
すべての基底クラスにMPデータフィールドを追加していいのか。
運を消費して奇跡を起こす聖者、MPやHPを消費して治療を行う僧侶などが
あたらしく出てきた時はどこにパラメータをつけて相互管理すればいいのか。
現実でその時は"ただしい"と思った抽象化が根底から揺さぶられることはいくらでもあって
(固定価格に追加される消費税、新たに追加される福祉控除項目、すべてを一元化しようというマイナンバー…)
まず、そういう認識すら持たずに「ちゃんとちゅうしょうかしないからだよ
ぼくならなんでもただしくちゅうしょうかできるからきみたちよりえらいのさ!」とか
うそぶいている時点で君はいま指をさして静かに嗤われてるのを自覚した方がいい。
それは魔法を使える魔法使いのみが使うから魔法使いクラスの固有プロパティなのか。
それとも、使えないだけですべてのキャラクターが持つ基礎パラメータなのか。
すべての基底クラスにMPデータフィールドを追加していいのか。
運を消費して奇跡を起こす聖者、MPやHPを消費して治療を行う僧侶などが
あたらしく出てきた時はどこにパラメータをつけて相互管理すればいいのか。
現実でその時は"ただしい"と思った抽象化が根底から揺さぶられることはいくらでもあって
(固定価格に追加される消費税、新たに追加される福祉控除項目、すべてを一元化しようというマイナンバー…)
まず、そういう認識すら持たずに「ちゃんとちゅうしょうかしないからだよ
ぼくならなんでもただしくちゅうしょうかできるからきみたちよりえらいのさ!」とか
うそぶいている時点で君はいま指をさして静かに嗤われてるのを自覚した方がいい。
349デフォルトの名無しさん
2016/07/12(火) 12:19:52.07ID:4cCOY98n350デフォルトの名無しさん
2016/07/12(火) 12:27:09.89ID:7TrvIOou >>347
> その後は、rubyにパチモンが作られて「Rubyの偉大な発明」の仲間入り
それもありそうな話で笑えるけど、traitsに限ってはModule#mixという名前で同機構の導入が
検討されたものの、既存の機能との整合性で致命的な問題が見つかって結局断念したらしい。
www.rubyist.net/~matz/20100617.html
http://d.hatena.ne.jp/nagachika/20111003/ruby_trunk_changes_33379_33380
> その後は、rubyにパチモンが作られて「Rubyの偉大な発明」の仲間入り
それもありそうな話で笑えるけど、traitsに限ってはModule#mixという名前で同機構の導入が
検討されたものの、既存の機能との整合性で致命的な問題が見つかって結局断念したらしい。
www.rubyist.net/~matz/20100617.html
http://d.hatena.ne.jp/nagachika/20111003/ruby_trunk_changes_33379_33380
351デフォルトの名無しさん
2016/07/12(火) 13:18:23.38ID:+8oNQ71Y 振る舞いの抽象化なら型クラスやインターフェイスを使えばいいし、実装の再利用ならtraitのような仕組みを使えばいい
継承による型の階層構造なんて邪魔にしかならんわ
継承による型の階層構造なんて邪魔にしかならんわ
352デフォルトの名無しさん
2016/07/12(火) 17:45:58.73ID:h4Vj1dwQ モデリングに間違いがなくかつモデルが未来永劫変化しないならID:4cC坊やの言い分は正しいね
そんな世界がやってくるといいね
そんな世界がやってくるといいね
353デフォルトの名無しさん
2016/07/12(火) 18:38:57.22ID:J7TxVIFH とりあえず>>348で言われてることを具体的にイメージできないぐらい"疎い"ってのだけはわかるよね…
多くのクラスに関わるモデリングを変えなきゃいけないぐらい大きな変更の例が列挙されていて
オブジェクト指向の黎明期と違って、オブジェクト指向があたりまえの空気になった現代だからこそ
強力な束縛を持つ継承がシステム組み替えの際の足かせになってきてるって話の流れにまったくついていけてない。
多くのクラスに関わるモデリングを変えなきゃいけないぐらい大きな変更の例が列挙されていて
オブジェクト指向の黎明期と違って、オブジェクト指向があたりまえの空気になった現代だからこそ
強力な束縛を持つ継承がシステム組み替えの際の足かせになってきてるって話の流れにまったくついていけてない。
354デフォルトの名無しさん
2016/07/12(火) 18:53:29.94ID:jrBRhCE1 お前らのは抽象化でなく、ただのぼんやりしたイメージ
いわば妄想プログラミングだなw
お前らみたいな馬鹿がまともに設計出来ないから
言語が馬鹿を縛れるような進化が求められてるだけなんだぜ
ダメなのは言語ではないお前ら自身だ
いわば妄想プログラミングだなw
お前らみたいな馬鹿がまともに設計出来ないから
言語が馬鹿を縛れるような進化が求められてるだけなんだぜ
ダメなのは言語ではないお前ら自身だ
355デフォルトの名無しさん
2016/07/12(火) 20:11:55.18ID:IS6BTglq キッズは夢を見るものさ
356デフォルトの名無しさん
2016/07/12(火) 20:31:52.34ID:Vv72dLZO 継承にしろオブジェクト指向にしろ
コードを簡潔にしたり、仕様変更に強くするために利用すべき技術だから
「猫と犬は哺乳類クラスを継承する、なぜなら猫も犬も哺乳類だから」ってのは
熟練したプログラマの発想とはだいぶ離れているんだよね
熟練したプログラマは書かなければならないコードが頭に浮かんでいて
それを何処に書くかという整理整頓の意味で継承などの技術を使っているわけで
結局OOは整理整頓術で、どう整理したらプログラミングの効率が上がるかというだけの話
それ以上の意味はない
が、整理整頓は非常に奥が深い
コードを簡潔にしたり、仕様変更に強くするために利用すべき技術だから
「猫と犬は哺乳類クラスを継承する、なぜなら猫も犬も哺乳類だから」ってのは
熟練したプログラマの発想とはだいぶ離れているんだよね
熟練したプログラマは書かなければならないコードが頭に浮かんでいて
それを何処に書くかという整理整頓の意味で継承などの技術を使っているわけで
結局OOは整理整頓術で、どう整理したらプログラミングの効率が上がるかというだけの話
それ以上の意味はない
が、整理整頓は非常に奥が深い
357デフォルトの名無しさん
2016/07/12(火) 23:27:20.00ID:4M8hLvVe そもそも哺乳類と言うのが最初にあって
そこから猫や犬が生まれたわけじゃないからな。
最初に猫や犬があって、そこから共通する特徴を
もっているものを哺乳類と分類した。
どっちかと言ったら名前空間みたいなもので
継承関係じゃない。(だけど理解するのに役立つ)
で実際のプログラミングでは哺乳類がどうとかいう話とは関係なく、
継承構造は役に立つもの
そこから猫や犬が生まれたわけじゃないからな。
最初に猫や犬があって、そこから共通する特徴を
もっているものを哺乳類と分類した。
どっちかと言ったら名前空間みたいなもので
継承関係じゃない。(だけど理解するのに役立つ)
で実際のプログラミングでは哺乳類がどうとかいう話とは関係なく、
継承構造は役に立つもの
358デフォルトの名無しさん
2016/07/12(火) 23:28:32.23ID:4M8hLvVe >>352
> モデリングに間違いがなくかつモデルが未来永劫変化しないなら
変化するからこそリファクタリングが重要なんだよね。
リファクタリングは汚いコードを修正することじゃなくて
過去の時点では正しかった設計を、
今の時点の変化に合わせて設計を変えることだから。
> モデリングに間違いがなくかつモデルが未来永劫変化しないなら
変化するからこそリファクタリングが重要なんだよね。
リファクタリングは汚いコードを修正することじゃなくて
過去の時点では正しかった設計を、
今の時点の変化に合わせて設計を変えることだから。
359デフォルトの名無しさん
2016/07/13(水) 08:17:59.46ID:+CQztjRc 継承はそういう時に身動き取れなくなるから困る
360デフォルトの名無しさん
2016/07/13(水) 09:38:03.87ID:NLZRxEVY 359 名前:デフォルトの名無しさん[sage] 投稿日:2016/07/13(水) 08:17:59.46 ID:+CQztjRc
継承はそういう時に身動き取れなくなるから困る
継承はそういう時に身動き取れなくなるから困る
361デフォルトの名無しさん
2016/07/13(水) 12:39:18.51ID:Fh2kjKhX 大事な事だから2回言いました
362デフォルトの名無しさん
2016/07/14(木) 19:03:55.13ID:sG4kt79u 割とマジで「オブジェクト指向って継承って奴だろ」な人で
言われてることがまったくわからなくてパニクってるんじゃないかと。
言われてることがまったくわからなくてパニクってるんじゃないかと。
363デフォルトの名無しさん
2016/07/14(木) 20:00:26.88ID:05a8wJuJ 原始時代じゃあるまいしそんなプログラマがいるのか?
にわかに信じがたいな
にわかに信じがたいな
364デフォルトの名無しさん
2016/07/14(木) 22:29:42.85ID:mVH/XKPM 美少女が人間クラスから継承できない問題は
どうなったんだ?
それでオブジェクト指向は破綻したときいたが。
どうなったんだ?
それでオブジェクト指向は破綻したときいたが。
365デフォルトの名無しさん
2016/07/14(木) 23:30:26.34ID:0cl6EhrX ぱっと思いつくだけでも
Unkoオブジェクトに量の概念をもたせて量がゼロのうんこを作るかNullObject的な対処をする
うんこしないAngelクラスを継承する
排便の概念を抽象化したメソッドを用意してうんこ以外の可能性を見出す
などなど
なんとでもなるやろ
Unkoオブジェクトに量の概念をもたせて量がゼロのうんこを作るかNullObject的な対処をする
うんこしないAngelクラスを継承する
排便の概念を抽象化したメソッドを用意してうんこ以外の可能性を見出す
などなど
なんとでもなるやろ
366デフォルトの名無しさん
2016/07/15(金) 05:19:16.25ID:Md4pEzwy UnkoのサブクラスとしてOhgonクラスを実装するんや!
367デフォルトの名無しさん
2016/07/15(金) 12:49:22.15ID:L1jCNFuA 美少女はウンコをしない
この「しない」という所が美しいんじゃないか
汚れなき乙女を全うする意志の問題だ
これが「出来ない」という物理的構造に由来する問題に成り下がってしまったら
何の味わいもなくなるだろ
チンコ勃たんわ
この「しない」という所が美しいんじゃないか
汚れなき乙女を全うする意志の問題だ
これが「出来ない」という物理的構造に由来する問題に成り下がってしまったら
何の味わいもなくなるだろ
チンコ勃たんわ
368デフォルトの名無しさん
2016/07/15(金) 14:40:06.76ID:d/Zl1fgq 頭の悪い人の悲しいところは
頭の悪い冗談を好んで言い続けるということだ
飽きもせずに繰り返し繰り返し何度も何度も…
頭の悪い冗談を好んで言い続けるということだ
飽きもせずに繰り返し繰り返し何度も何度も…
369デフォルトの名無しさん
2016/07/15(金) 22:04:56.17ID:iR/HdeCl これは頭の良い冗談に期待w
370デフォルトの名無しさん
2016/07/15(金) 22:47:24.35ID:ibKxDQPd 美少年にクラスチェンジすることで破綻せずにハッテン
371デフォルトの名無しさん
2016/07/15(金) 23:49:57.52ID:80GKY2p2 リフレクションで解体して色々いじりたい
372デフォルトの名無しさん
2016/07/16(土) 01:53:47.85ID:Bfovl8qZ 面白くないことに気づこうね
373デフォルトの名無しさん
2016/07/16(土) 02:59:56.46ID:0ciAe/St というか>>211で書かれてるとおりをまたワンパターンで始めただけだしな。
374デフォルトの名無しさん
2016/07/16(土) 07:28:07.42ID:CNSBQzp5 美少女ウンコ問題は高度すぎて解決の糸口すら見つからないもんな
ついていけない奴の気持ちもわかる
ついていけない奴の気持ちもわかる
375デフォルトの名無しさん
2016/07/16(土) 09:09:49.16ID:DegzgE4N376デフォルトの名無しさん
2016/07/16(土) 09:38:23.65ID:D3kHuod4377デフォルトの名無しさん
2016/07/16(土) 10:06:22.50ID:BhIXbiPC なんでよ褐色美少女最高じゃん
378デフォルトの名無しさん
2016/07/16(土) 10:11:41.75ID:6YOlPtSF ワンパターンっすなぁ
379デフォルトの名無しさん
2016/07/16(土) 12:26:01.17ID:3oB/Pjks 解決しとらんのにワンパターンもくそもないだろ
根気のない奴だなあ
根気のない奴だなあ
380デフォルトの名無しさん
2016/07/16(土) 20:05:26.83ID:kkC3KqZT 解決できると思ってるのが間違いだと気付くといいよ
分類学的な階層を作っても「書いた人どう対象を捉えているか」というどうでもいいことしかソースに残せない
鳩クラスと鹿クラスが同じ親クラスを持ってて、ニワトリクラスとブタクラスが同じ親クラスを持ってて、
一体どうしてと思ったらジビエと畜産肉で分けてたとか、食肉加工業者の仕入れ管理ソフトだったらあり得るよ
そういう情報を一切俎上に出さずにAはBの子クラスであるべきか否かなんて話すのは無意味
そういう文脈をソースに組み込む必要があるかもまず考えないといけない
分類学的な階層を作っても「書いた人どう対象を捉えているか」というどうでもいいことしかソースに残せない
鳩クラスと鹿クラスが同じ親クラスを持ってて、ニワトリクラスとブタクラスが同じ親クラスを持ってて、
一体どうしてと思ったらジビエと畜産肉で分けてたとか、食肉加工業者の仕入れ管理ソフトだったらあり得るよ
そういう情報を一切俎上に出さずにAはBの子クラスであるべきか否かなんて話すのは無意味
そういう文脈をソースに組み込む必要があるかもまず考えないといけない
381デフォルトの名無しさん
2016/07/16(土) 21:15:33.39ID:CNSBQzp5 なるほど
現状の研究成果に比べると一風変わった意見だが私は興味深く聞かせてもらったよ
つまり君はウンコをしない美少女が人間クラスから派生されるべきコンテキストについて
もっと掘り下げた議論をすべきだと言うのだな
ところで君はそういう文脈をソースに組みこむ必要があるかについては
どんな考えを持っているのかね?
現状の研究成果に比べると一風変わった意見だが私は興味深く聞かせてもらったよ
つまり君はウンコをしない美少女が人間クラスから派生されるべきコンテキストについて
もっと掘り下げた議論をすべきだと言うのだな
ところで君はそういう文脈をソースに組みこむ必要があるかについては
どんな考えを持っているのかね?
382デフォルトの名無しさん
2016/07/16(土) 21:41:47.94ID:LbU9Boej ユーザーはうんこ機能なんか求めちゃいない。
383デフォルトの名無しさん
2016/07/17(日) 01:46:14.62ID:MIDkP6ou 生成するUnkoオブジェクトのtasteフィールドが最大値になるだけ
384デフォルトの名無しさん
2016/07/17(日) 05:00:03.09ID:nDXHZDmA385デフォルトの名無しさん
2016/07/17(日) 10:38:54.12ID:libZCVLZ まあなんでも抽象化すればいいってもんではないわな。
物質は究極的にはクォークのセットだからって、そのまま実装したらそりゃ破綻するだろうし。
物質は究極的にはクォークのセットだからって、そのまま実装したらそりゃ破綻するだろうし。
386デフォルトの名無しさん
2016/07/17(日) 12:43:31.14ID:gClFyV8u 君それは細分化やないか
美少女のウンコふりかけ食わしたろか
美少女のウンコふりかけ食わしたろか
387デフォルトの名無しさん
2016/07/17(日) 13:29:48.60ID:okE8dWNU 同じ型のインスタンスの振る舞いをポリモーフィズムさせるのは、
・継承
・委譲
・switch文
・関数ポインタ、ラムダ式
・別途スクリプトなどを用意する
などの方法がある
・継承
・委譲
・switch文
・関数ポインタ、ラムダ式
・別途スクリプトなどを用意する
などの方法がある
388デフォルトの名無しさん
2016/07/17(日) 13:57:59.74ID:PHnZw+de ウンコって言いたい年頃なんだろうな
389デフォルトの名無しさん
2016/07/17(日) 15:27:54.18ID:+aWd02nI390デフォルトの名無しさん
2016/07/17(日) 15:59:55.36ID:gClFyV8u どんな文脈やねんw
肉屋の仕入れアプリでブタにダンスでもさせる気なんかw
そんなら俺はウンコを我慢する美少女の方がええわwww
何でも文脈言えばええっちゅーもんちゃうでホンマ
肉屋の仕入れアプリでブタにダンスでもさせる気なんかw
そんなら俺はウンコを我慢する美少女の方がええわwww
何でも文脈言えばええっちゅーもんちゃうでホンマ
391デフォルトの名無しさん
2016/07/17(日) 16:05:40.68ID:q7clyz/N >>389
いや、当然RDBMSでデータ管理しているという前提だが?
いや、当然RDBMSでデータ管理しているという前提だが?
392デフォルトの名無しさん
2016/07/17(日) 21:43:01.45ID:SWVEU9WP クソスレじゃねーか!
393デフォルトの名無しさん
2016/07/20(水) 23:08:50.86ID:0oomM0jq 計算式が面倒になったら
またどうせオブジェクト指向になるんだろ
またどうせオブジェクト指向になるんだろ
394デフォルトの名無しさん
2016/07/20(水) 23:42:38.15ID:E+SEwayU >>380
> 一体どうしてと思ったらジビエと畜産肉で分けてたとか、食肉加工業者の仕入れ管理ソフトだったらあり得るよ
見たこと無いが「あり得る」という話なら、
C言語でgotoばっかり使うってのもあり得るよ。
C言語なのに、オレオレライブラリとマクロを使って
COBOLみたいに使うことだって有り得るよ。
お前の大好きな言語をクソみたいな使い方する方法だって有り得るよ。
有り得るかどうかを語るのって意味なくね?
クソみたいなコードを書くのは書いた人間が悪いのであって
言語の問題でもオブジェクト指向の問題でもない。
> 一体どうしてと思ったらジビエと畜産肉で分けてたとか、食肉加工業者の仕入れ管理ソフトだったらあり得るよ
見たこと無いが「あり得る」という話なら、
C言語でgotoばっかり使うってのもあり得るよ。
C言語なのに、オレオレライブラリとマクロを使って
COBOLみたいに使うことだって有り得るよ。
お前の大好きな言語をクソみたいな使い方する方法だって有り得るよ。
有り得るかどうかを語るのって意味なくね?
クソみたいなコードを書くのは書いた人間が悪いのであって
言語の問題でもオブジェクト指向の問題でもない。
395デフォルトの名無しさん
2016/07/21(木) 02:05:10.33ID:pVvcsTGR >>393
というか、人間がプログラムをユニット単位に分けた時に
"こいつはこういうコマンドを与えれば勝手にそれをやる単位"って
分け方をすれば『人間がわかりやすい』だろう。ってのが
いまあたりまえのメソッド型オブジェクト指向なんで、
こうすれば"副作用"が出ない!って計算式の方はむしろ
問題が起きないように『機械の都合に人間が合わせる』流れで
たぶん遠からず下火になるわ、あれ。つかもうなった感じ。
むしろ、アルゴリズム解析みたいなのを開発環境がやって
こうすると副作用が最小になるっぽいですよ?って
AIがサジェスチョンするようになんじゃね?つか。
というか、人間がプログラムをユニット単位に分けた時に
"こいつはこういうコマンドを与えれば勝手にそれをやる単位"って
分け方をすれば『人間がわかりやすい』だろう。ってのが
いまあたりまえのメソッド型オブジェクト指向なんで、
こうすれば"副作用"が出ない!って計算式の方はむしろ
問題が起きないように『機械の都合に人間が合わせる』流れで
たぶん遠からず下火になるわ、あれ。つかもうなった感じ。
むしろ、アルゴリズム解析みたいなのを開発環境がやって
こうすると副作用が最小になるっぽいですよ?って
AIがサジェスチョンするようになんじゃね?つか。
396デフォルトの名無しさん
2016/07/21(木) 12:07:59.69ID:gJ3egAPE それはどうかわからんよ
もともと機械の都合で生まれた静的型が
実は人間にも優しいってことで大人気だし
本来静的型じゃなくても動く筈の動的型言語も
どんどん静的型の機能を取り入れていくのが今のトレンドでしょ
それに、副作用の無い関数型は全然機械の都合じゃないし
あれは数学の理論とかから生まれたような理論先行のもので
コンピュータの動作原理を考えたら、むしろ副作用ありの方が
自然だと思う
副作用ありの静的型言語が一番機械の都合に合っていて
その金字塔がC言語であり、今でも使われ続けている
主にローレベルなことやOSの開発やドライバの開発などに
使われているのは、それだけ機械の都合にあっているから
昔の言語なのに破たんせずに使われ続けているのは
それだけコンピュータの動作原理を素直に表現していて
流行り廃りというものと無縁だから
もともと機械の都合で生まれた静的型が
実は人間にも優しいってことで大人気だし
本来静的型じゃなくても動く筈の動的型言語も
どんどん静的型の機能を取り入れていくのが今のトレンドでしょ
それに、副作用の無い関数型は全然機械の都合じゃないし
あれは数学の理論とかから生まれたような理論先行のもので
コンピュータの動作原理を考えたら、むしろ副作用ありの方が
自然だと思う
副作用ありの静的型言語が一番機械の都合に合っていて
その金字塔がC言語であり、今でも使われ続けている
主にローレベルなことやOSの開発やドライバの開発などに
使われているのは、それだけ機械の都合にあっているから
昔の言語なのに破たんせずに使われ続けているのは
それだけコンピュータの動作原理を素直に表現していて
流行り廃りというものと無縁だから
397デフォルトの名無しさん
2016/07/21(木) 16:36:54.23ID:KvWRwuEL Cで書いたコードが速く動くようにCPUやOSが設計されているという面も
あるからぬ…だからって新世代の言語に合わせてCPUやOSを作り直すか?
といわれたらそんなことは起こりっこないと断言できるが
あるからぬ…だからって新世代の言語に合わせてCPUやOSを作り直すか?
といわれたらそんなことは起こりっこないと断言できるが
398デフォルトの名無しさん
2016/07/21(木) 17:56:06.90ID:9dMGMxaj おまいさんそれは逆ですぜ。
Cがアセンブラに馴染み易く出来てるんですぜ。
でも本来はintelの系統じゃ無くて、
モートローラとかミニコンから派生した石に馴染み易く出来てるんですがね。
まあ、Cが最初からintelの石用に作ってたら、
もう少し違った構文になってたかもね。
Cがアセンブラに馴染み易く出来てるんですぜ。
でも本来はintelの系統じゃ無くて、
モートローラとかミニコンから派生した石に馴染み易く出来てるんですがね。
まあ、Cが最初からintelの石用に作ってたら、
もう少し違った構文になってたかもね。
399デフォルトの名無しさん
2016/07/21(木) 18:08:41.00ID:9dMGMxaj アセンブラやってた連中が、構造化プログラミングを提唱して、
プログラムを小さな塊の組み合わせで作る様になったんで、
同時期に条文分岐やサブルーチンの扱いをマクロ処理を被せて
読み易くするのが流行ったんだよ。
それをもっと書き易くして行って出て来たのがコンパイラ言語
いわゆる高級言語だけど、簡単なアセンブラへの置き換えしかしてなかった。
今ではそこから更にそれら高級言語を分かり易く記述出来る高次な高級言語が流行ってるけどね。
プログラムを小さな塊の組み合わせで作る様になったんで、
同時期に条文分岐やサブルーチンの扱いをマクロ処理を被せて
読み易くするのが流行ったんだよ。
それをもっと書き易くして行って出て来たのがコンパイラ言語
いわゆる高級言語だけど、簡単なアセンブラへの置き換えしかしてなかった。
今ではそこから更にそれら高級言語を分かり易く記述出来る高次な高級言語が流行ってるけどね。
400デフォルトの名無しさん
2016/07/21(木) 18:19:01.28ID:9dMGMxaj 例えば、hoge+とかやれば自動的にインクリメントしてくれる仕様だって、そういうアセンブラ命令があったからなんだぜ。
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 ネイティヴアメリカンの件もあるしな。
レスを投稿する
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 日本損失1.7兆円に修正 中国渡航自粛の影響試算 [蚤の市★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 「アベノミクス」で投資対象と化したマンション ローンの低金利続き「年収の12倍」借りる20代出現 [蚤の市★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 台湾「高市さんが台湾人の悲願を叶えてくれた!」これじゃ高市さん発言撤回できないぢゃん😰 [523957489]
- 【実況】博衣こよりのえちえち朝こよ🧪
- 高市周辺、さすがに焦り始めるww「小さな火種が火事になりかけている。早く鎮火しなくてはいけない」 [271912485]
- 【高市悲報】神谷「部下が間違えて脱炭素を脱酸素て書いたんですよ😡それ読んだだけなのに挙げ足とるな!小学生か!」 [359965264]
- 【超悲報】中国への武力行使、世論調査で「賛成」「どちらかといえば賛成」48.8% 「反対」「どちらかといえば反対」の44.2%を上回る [314039747]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
