オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
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
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 ネイティヴアメリカンの件もあるしな。
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 基底に近いほど修正しづらいのは事実
レスを投稿する
ニュース
- 橋下徹氏「この喧嘩は日本の完敗」 台湾有事答弁めぐる外務省局長訪中で指摘「中国に怒られてご説明に伺った日本と見られる」 [muffin★]
- 【日本大使館】中国在留邦人は安全確保を [ぐれ★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★10 [ぐれ★]
- 東京株式市場 インバウンド関連株が下落 中国政府の渡航自粛要請で [バイト歴50年★]
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- もしかして安倍晋三て有能だった?ネトウヨを掌握しつつ韓国、中国、ロシアへの売国をバレないようにやってたし [472617201]
- 高市コイン、155円突破wwwwwwwwww [246620176]
- おじゃる丸をまったり待機するスレ🏡
- 高市早苗の中国問題、「オーバーツーリズムが解消されてウザい中国人が消えるから日本の勝ち」という風潮になってしまう [562983582]
- 【悲報】有名ウヨ論客、「現実的に考えて中国と仲直りするしかなくね?」と言ったら野良ウヨから総叩きにあう [856698234]
