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

|
[ 続きを読む ] / [ 携帯版 ] 
前100
次100
最新50
▲ [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<294KB
read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef