- 1 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:20:41.34 ID:/ofNkRJS.net]
- すごいんだよ?
カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、 オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、 オブジェクトの実際の型を隠蔽したりすることをいう。 偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。 一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として 「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータに アクセスできないと解決できない問題が出てきて、結果的にデスマーチに陥るというのである。 オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で 縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」 という概念はない。 https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96 前スレ オブジェクト指向ってクソじゃね? https://mevius.5ch.net/test/read.cgi/tech/1535085129/
- 692 名前:デフォルトの名無しさん [2018/11/03(土) 21:11:49.81 ID:fUshZxLk.net]
- >656
確かにそんな感じだった 当時は何をどうしたらいいのかすらよく解らなかった
- 693 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 22:19:12.70 ID:Ob9oFI2P.net]
- Javaぐらい洗練されてれば最初から成功したはず
- 694 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 22:54:02.56 ID:YgnNRhbL.net]
- >>678
何と比較して言ってるの?
- 695 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 23:32:52.08 ID:ZYzZrFY6.net]
- そりゃ後から出ればな
そしてjavaも今や
- 696 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 23:35:06.25 ID:YgnNRhbL.net]
- だから何と比較して話してんだよお前ら
- 697 名前:デフォルトの名無しさん [2018/11/04(日) 00:38:15.08 ID:KXFfF/ne.net]
- >>672
>オブジェクト指向というデザインが何を指してるのか曖昧だけど、 ところで「チンポがシコシコする」という日本語表現は、文法的に正しいのか? チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。 オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、 全体(俺)と部分(チンボ)が別々になっている場合とが考えられる。けれども「チンボ」はそれ自体 が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。 例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。 違うか? 511 デフォルトの名無しさん 2018/10/29(月) 23:32:40.68 ID:LL+W6ENh 随意筋←implements─チンポ─implements→不随意筋 「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
- 698 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 03:13:54.13 ID:JcXnTdcw.net]
- Cairoは失敗した
- 699 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 03:32:53.19 ID:Z92SZUbh.net]
- cat.pushObject(door)
引数の状態が変化する場合には主語 完全解決
- 700 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 03:35:15.66 ID:Z92SZUbh.net]
- オブジェクトが主語としてふるまうばあいは三人称とか定着すればよかったのに
英語の活用がいい加減なせいで区別つかない場合があるから普及しなかったのだろうか
- 701 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 09:23:28.79 ID:f5svfmew.net]
- そういう、どのオブジェクトが主体なのかってのはプログラミングして解決したい問題では些末
オブジェクト間の関係性、つまり実際の処理が解決したい問題になる foo(X,Y)とX.foo(Y)とY.foo(X)のどれが良い?ってのはfooの中身から明確に答えが出ることもあるし、どれでもいいよってなることもある OO以外じゃどうでもいい話を、さもプログラミングする上で問題になるように持ち上げるやり方をマッチポンプパターンとして提唱しよう
- 702 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 09:56:29.68 ID:NXH4yvMa.net]
- チンポくんもこじらせてるねえ
何を主体にしたいかとか、プログラミング言語じゃなくて言語学の話だから
- 703 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 10:07:04.04 ID:3pon2MBD.net]
- そこにこだわっても1円にもならんよね
- 704 名前:デフォルトの名無しさん [2018/11/04(日) 10:10:40.59 ID:iTJ8u5Nd.net]
- >>687
間違えるなチンボが勝手にこじるんや
- 705 名前:デフォルトの名無しさん [2018/11/04(日) 11:28:18.81 ID:hQdPSgHl.net]
- ブリッジパターンの応用手順のブログみたい。パッケージを開発する時を前提にしているね。
https://blogs.yahoo.co.jp/kamyu_2010/35480077.html
- 706 名前:デフォルトの名無しさん [2018/11/04(日) 11:28:45.28 ID:hQdPSgHl.net]
- ブリッジパターンの応用手順のブログみたい。パッケージを開発する時を前提にしているね。
https://blogs.yahoo.co.jp/kamyu_2010/35480077.html
- 707 名前:デフォルトの名無しさん [2018/11/04(日) 11:28:48.90 ID:hQdPSgHl.net]
- ブリッジパターンの応用手順のブログみたい。パッケージを開発する時を前提にしているね。
https://blogs.yahoo.co.jp/kamyu_2010/35480077.html
- 708 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 12:21:47.97 ID:YHqourM/.net]
- まーたそのゴミみたいなblogか
そういうゴミ情報はさっさと潰れてほしい 検索結果に出てくるだけ社会の害悪じゃん
- 709 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 12:31:09.85 ID:EBz82Uiq.net]
- >>693
お前が素晴らしいブログを書かないからな
- 710 名前:デフォルトの名無しさん [2018/11/04(日) 15:34:37.57 ID:95qKkVOL.net]
- >>686
なんとnimではfoo(X,Y)とX.foo(Y)が同じ意味
- 711 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 17:42:49.32 ID:YHqourM/.net]
- javaのstringのequalsと
pythonのjoin "abcde".equals(str) ','.join(list) 「文字列をequalsで判定する時」なんかは21ページまで行ってて会議室の中で一番長いんじゃねえのコレ
- 712 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 20:29:25.47 ID:yioi4JUk.net]
- そういえばc++の発展の歴史は文字列をどれだけプリミティブ型のように扱えるようにするかの
歴史だと言ってる人がいたね。
- 713 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 07:03:06.05 ID:5/8gaaQr.net]
- VB6のコンポーネント指向でよかったけどな
マルチスレッドディスパッチャとかデリケートを言語で強化していくとか Javaに追い付け追い越せはC#に任せてさ マシンパワーの進歩で.NETのもっさりも気にならなくなって、 結果論では正解だったのかもしれないけど
- 714 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 07:37:31.23 ID:C39H/qom.net]
- >>698
マシンパワーの進化だけじゃない
- 715 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 12:24:42.20 ID:4r6RuT4G.net]
- >>698
vb6にもイベントデリゲート機能は既に有ったよ プロパティセッターゲッターとかも有ったし 何時のバージョンから搭載されていたかは知らないけど
- 716 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 12:29:19.16 ID:ZdyRAhNg.net]
- >>698
VB6はVB6で使いやすかったんだけどな 言語としての機能性がプアなのは仕方ないが 労を惜しまなければなかなかのもの
- 717 名前:ェできたんだよ
Javaと変わらず遅いけどw [] - [ここ壊れてます]
- 718 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 12:32:29.72 ID:i/VkDtta.net]
- このソフトの動作にはvbランタイムのインストールが必要ですからのそっ閉じ
- 719 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 21:13:55.01 ID:Nuy+gqjZ.net]
- >Javaに追い付け追い越せはC#に任せてさ
は???
- 720 名前:デフォルトの名無しさん [2018/11/05(月) 21:19:07.12 ID:wo65FOER.net]
- はじゃないが
- 721 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 21:24:18.41 ID:Qr9+IO/r.net]
- Javaは殺されたから。
- 722 名前:デフォルトの名無しさん [2018/11/05(月) 22:03:33.97 ID:qCG7kgky.net]
- ポリモーフィズムによる依存関係の逆転
- 723 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 22:10:56.48 ID:4r6RuT4G.net]
- vbランタイムは付けても良いし
ベクターから落としても良いし javaみたいに金は取られないよ
- 724 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 22:12:17.42 ID:C39H/qom.net]
- >>704
へ
- 725 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 22:12:54.89 ID:wVSM+ShE.net]
- ランタイムとかありえねー
1バイナリで配布に決まってるだろ dllとか意味わかんないw
- 726 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 22:56:05.83 ID:rQPPTNrE.net]
- 意味すら分からんか…
- 727 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 23:41:27.95 ID:0wNeh4D8.net]
- JavaのVMってそうだよな
- 728 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 06:40:30.15 ID:8BHBMccI.net]
- オブジェクト指向を売りにしてた会社、息してる?
- 729 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 07:52:37.47 ID:3OcY7eEH.net]
- 15年前とか、オブジェクト指向宣教師にVB厨とかいってバカにされてたけど、
その宣教師達の見る影もないな
- 730 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 07:57:11.96 ID:3OcY7eEH.net]
- >>672
カプセル化、継承、多態性は、オブジェクト指向密教の念仏、お題目だからな 信じるものは救われるw
- 731 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 11:44:39.77 ID:F+oSge0O.net]
- 密教はマジモンのオカルトで、
肝心なことは密にされてる、つまりは秘密にしてる、というか伝えられない、言語化できない、っていう方面の宗派だ オカルト=秘されたもの、だからな その対義語?がサイエンスだ だもんで密教はオカルト中のオカルトだ 顕教はその名の通りに教えの中核を明文化して伝える宗派 宗教やオカルトにもいろいろあるが基本的には「隠す技法」だ 隠せば隠すほど有難味が増す
- 732 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 17:43:17.25 ID:2Imqjq5w.net]
- カプセル化と多態は普通に使うけど
ここで必死に否定してる連中は何使ってんの?
- 733 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 18:49:11.18 ID:pbTvUYL6.net]
- >>716
c言語方式 極めるとグローバル変数を一切使用しない関数に行き着く
- 734 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 19:48:06.13 ID:4FZ8VBND.net]
- イミュータブル性、スコープに合わせた資源管理、関数の長さ、ビルドの構成
この辺りを気にした方がマシ。
- 735 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 20:19:36.81 ID:u4fT6EdO.net]
- >>717
関数がファーストクラスじゃないから制限が多いかな
- 736 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 20:24:27.77 ID:8BHBMccI.net]
- カプセル化なんかをメリットとして力説するのが痛いんじゃない?
変数のスコープや寿命なんて、オブジェクト指向言語以前の命題でさ
- 737 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 20:26:55.09 ID:K8RrAru7.net]
- まあ、C言語でもオブジェクト指向は出来るからなぁ
- 738 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 20:35:26.74 ID:4FZ8VBND.net]
- とはいえ、ポリモルフィズムが有効な場合というのは見極めが難しいからな。
そのコードの流れと直交するような動作ならいいけど、 そんなのコードに慣れてない奴には絶対判断できん。 もう少しソリッドな技術から学ぶ方が重要。
- 739 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 21:09:25.86 ID:pbTvUYL6.net]
- >>722
いや、リーナスさんも言ってるけど 曖昧さってのはガンにしかならない
- 740 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 21:38:14.09 ID:4FZ8VBND.net]
- >>723
個人的に同意だが、しかしある機能においてはどうしても動的に変えられるように 作らなきゃならんこともあると思う。 例えばUSBドライバのロードとか。
- 741 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 21:49:55.31 ID:9ybaAnNd.net]
- Cで作るにしてもデータ隠蔽や関数ポインタ使って動的に動作変えるとかやるからな
- 742 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 22:19:48.19 ID:pbTvUYL6.net]
- >>725
やんねーよ そんなん
- 743 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 22:33:55.97 ID:5ks02k45.net]
- workingset みたいなもん定義して
ws->pre_fn(ws), ws->work_fn(ws), ws->post_fn(ws) とかはCでもやる
- 744 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 22:35:06.48 ID:2Imqjq5w.net]
- なんだただの無能かよ
お前は一生switch文書いてろ
- 745 名前:デフォルトの名無しさん [2018/11/06(火) 23:32:49.41 ID:98MtNrWT.net]
- やっぱcはゴミだわ
- 746 名前:デフォルトの名無しさん [2018/11/06(火) 23:49:50.37 ID:ATtfWESv.net]
- ところでさぁ、
この車、タイヤがパンクしてるぜ! この俺、チンポがシコシコしてるぜ! どちらも「オブジェクト指向」だろう? 違うか? 注目は、選択肢イです。この上向きが集約で、下向きが分解です。 自動車は、アクセルやブレーキ、ハンドルなどに分解されるからです。 sm.seeeko.com/archives/65913086.html 浮気に激怒の妻、眠る夫の局部を切断しトイレに流す(印) TechinsightJapan 2018年02月25日 04:00 https://www.excite.co.jp/News/world_clm/20180225/Techinsight_20180225_477828.html
- 747 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 00:04:50.55 ID:MnvgpN9Q.net]
- CがゴミってんならC++なんてクソだろ?それもゲリクソ
あっちこっちで食あたりコードを生み出すゲリクソ生産機
- 748 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 00:05:19.02 ID:Qiut+jNc.net]
- オブジェクト指向とかいうブラックボックス礼賛思想
こんなんに付き合ってたら頭おかしなるで
- 749 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 00:16:59.62 ID:nAQp6wBh.net]
- オブジェクトはどういう操作してもバグらないのが前提
常に整合性を保てるクラスを作るのはとてもテスト工数がかかる わりに合わないと思うこともある でも問題を分離することが人間の進歩だ オブジェクト指向はとても遠大で高邁な理想なんだ
- 750 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 00:37:46.20 ID:Uv/5eSRN.net]
- Cの関数ポインタはよく使ったなー
今でも別な言語で似た使い方するけど楽の一言に尽きる
- 751 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 00:38:57.58 ID:Uv/5eSRN.net]
- >>732
オブジェクト指向そのものはブラックボックス思想ではないんだよ オブジェクト指向でプログラムを組む人がブラックボックスを作りたがるだけなんだよ
- 752 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 00:58:25.04 ID:UCphLCxy.net]
- ソースコード見れるのにブラックボックスってどういうこと?
ライブラリの関数、中身見ないから ブラックボックスっていうのなら、 それは手続き型でも同じだし
- 753 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 01:12:33.71 ID:T8AyQ5+v.net]
- ブラックマジックの間違いだったとか
- 754 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 01:42:59.61 ID:Z88Q6V1f.net]
- >>736
グローバル変数のデメリットを理解してる?
- 755 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 01:51:06.86 ID:UCphLCxy.net]
- >>738
手続き型はグローバル変数になるから、 オブジェクト指向で隠蔽化するってこと? 手続き型でもローカル変数にして 隠蔽化=ブラックボックス化するのは同じでしょうって 言ってるんだが?
- 756 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 03:22:51.34 ID:/RV3raqf.net]
- >>717
極めるw 何を極めたんだよ 関数ポインタを諦める事か?
- 757 名前:デフォルトの名無しさん [2018/11/07(水) 03:35:19.63 ID:h4FWJh3K.net]
- >>729
OS無しの組込にはアセンブラかCしか選択肢がないけどね。(良い悪いはともかく) C++も最近増えたみたいだけど、書き込む領域がそれなりに無いと。
- 758 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 08:25:23.73 ID:60G+FgCT.net]
- 逆にC以外の言語で使えるのと言ったらhaskell位しか思いつかない。
- 759 名前:デフォルトの名無しさん [2018/11/07(水) 13:02:23.58 ID:R2gvt502.net]
- >>739
>隠蔽化=ブラックボックス化するのは同じでしょうって 511 デフォルトの名無しさん 2018/10/29(月) 23:32:40.68 ID:LL+W6ENh 随意筋←implements─チンポ─implements→不随意筋
- 760 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 15:29:42.78 ID:wjSd2cHh.net]
- >>717
変数をすべてローカルで作って、 関数に引数10個ぐらい使って引き渡してるソースなら見たことがある。 たしかに極まってるわ。
- 761 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 16:49:01.37 ID:xNIAd77E.net]
- >>744
それ、構造体にしてポインタ渡しにしねえか普通。
- 762 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 17:28:35.58 ID:iy3fg8p3.net]
- ついでに構造体のメンバに関数へのポインタをセットするのは気持ち悪いから、構造体に実装埋め込みたいよね?
- 763 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 17:59:56.06 ID:YuYLxFMn.net]
- 構造体という名前の特殊な関数だと思い込めばいい
それでクロージャみたく解決だ
- 764 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 18:01:48.26 ID:Z88Q6V1f.net]
- >>744
実際やると10個じゃ済まない 50個ぐらい行くかも でもやってみればわかる それでもソースは読みやすい
- 765 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 18:49:57.53 ID:1MfDECIP.net]
- んなわけあるかあほか
設計能力がないだけじゃねぇか
- 766 名前:デフォルトの名無しさん [2018/11/07(水) 18:56:11.17 ID:WrYxOUux.net]
- >50個ぐらい行くかも
> >でもやってみればわかる >それでもソースは読みやすい 読みずれーよ馬鹿w 関数のさらにネストしたところでしか使わん変数を引数で引回すコードの メンテをしたことあるがめちゃくちゃ大変だぞ。
- 767 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 19:52:01.40 ID:Z88Q6V1f.net]
- >>750
エアプ乙 でも引数からしかアクセスないじゃない? これがメンバ変数だったりグローバル変数だったりするから滅茶苦茶になるんよ 引数オンリーは絶対に問題起きない やってみろ レベル上がるぞ
- 768 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 19:58:50.02 ID:WrYxOUux.net]
- 本当の馬鹿か。。
さすがに構造体否定する奴は初めて見たわ。
- 769 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 20:17:31.42 ID:xNIAd77E.net]
- みんなthisポインターにズルズル引きずってしまえば楽さw
- 770 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 20:32:58.61 ID:Z88Q6V1f.net]
- >>752
やってみりゃわかるよ 引数に書いてた一覧を 構造体に移植するだけよ つまり関数と似た名前の構造体ができるだけ 意味があると思うなら用意すればいい 俺も最初はやっていた 完全に同じもんが必要になることなんて まずないから放置
- 771 名前:ポエマー mailto:sage [2018/11/08(木) 00:45:08.19 ID:CWqVGGGe.net]
- お前ら今までのレスでさんざ書かれてきた問題点を
何も学んでないな
- 772 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 02:37:06.73 ID:3xGWJe6p.net]
- >>754
巨大な構造体を引回す関数群か ポインタ渡しにすることになるから、もはやグローバル変数と変わりはないな
- 773 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 03:18:02.43 ID:rJTiWJ81.net]
- >>756
巨大な構造体で、どうやってグローバル変数のように どこからでも参照できちゃう状態にできるの? どこからでも参照できないなら、ローカル変数と変わりないな
- 774 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 03:24:31.46 ID:rJTiWJ81.net]
- >>754
> 引数に書いてた一覧を > 構造体に移植するだけよ > つまり関数と似た名前の構造体ができるだけ > 意味があると思うなら用意すればいい えとな、引数に書いていた一覧を構造体に移植するだけだから、 関数と似た名前の構造体ができるだけなんだぞ。 意味がないのは、お前が「引数に書いていた一覧を構造体に移植するだけ」 という変なことをやってるからだ。全てお前自身の問題なんだよ。 構造体にする基準は、リファクタリングの「引数オブジェクトの導入」の基準と同じだ https://ja.wikipedia.org/?curid=93818 > 引数オブジェクトの導入 > たびたび一緒に受け渡しされる複数の値は、オブジェクトとしてまとめたほうが分かりやすい。 「一緒に受け渡しされる複数の値」を構造体にするんだよ 全部を一つの構造体にするバカはお前だけだ
- 775 名前:デフォルトの名無しさん [2018/11/08(木) 04:49:57.80 ID:2oWgTmr1.net]
- 追加するのは簡単だけど、削除したり改変したりするのが大変だねー。
- 776 名前:デフォルトの名無しさん [2018/11/08(木) 05:08:09.76 ID:yQlGi5bN.net]
- プログラミング言語の性能差
主な言語とスループット 言語 スループット 特性 C/C++ 100 静的言語ネイティブコード Java 1〜10 静的言語VMバイトコード Ruby/Python 0.1〜1 動的言語 オンラインゲームのサーバではC/C++が最も使われ る www.wata-lab.meijo-u.ac.jp/file/seminar/2013/2013-Semi1-Atsushi_Somekawa.pdf ↑ Javaのメモリ管理自動化機能は便利だけど、ネットワーク通信では使いにくいねえw 731 デフォルトの名無しさん sage 2018/11/07(水) 00:04:50.55 ID:MnvgpN9Q CがゴミってんならC++なんてクソだろ?それもゲリクソ あっちこっちで食あたりコードを生み出すゲリクソ生産機
- 777 名前:デフォルトの名無しさん [2018/11/08(木) 05:15:39.14 ID:yQlGi5bN.net]
- メモリ管理がポインタがうんたらなんてややこしい話はJavaやRubyでは関係無いけど、
ネットワーク通信だとC/C++の一択でポインタをいじくり回してメモリ管理するしか無い。 この認識で、違うか?
- 778 名前:デフォルトの名無しさん [2018/11/08(木) 05:22:41.91 ID:yQlGi5bN.net]
- プログラミング言語
1 C/C++ 2 その他 ・・・だと思う。
- 779 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 06:16:25.68 ID:eumdoCgr.net]
- CとC++を一緒にまとめて語ってる事がナンセンス
- 780 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 08:34:35.38 ID:A44A323l.net]
- >>757
全ての関数の引数にその巨大な構造体のポインタを入れるとそうなるね
- 781 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 08:49:16.98 ID:lZiGipil.net]
- >>751
void main() { struct { int x,y,z,foo,bar,everything; } global; func(&global); }
- 782 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 08:55:45.61 ID:rJTiWJ81.net]
- >>764
> 全ての関数の引数にその巨大な構造体のポインタを入れるとそうなるね グローバルってことは、ポインタを渡された関数以外からアクセスできるわけだけど、 それでどうやって渡された関数以外からアクセスするの? 渡された関数だけからしか参照できないなら、ローカル変数と変わりないな
- 783 名前:デフォルトの名無しさん [2018/11/08(木) 09:13:35.62 ID:Tu3rCJEk.net]
- てか、ポインタもグローバル変数と同じくらいバグの温床だろ。。。
- 784 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 09:47:29.81 ID:fig5AsF0.net]
- 寿命とスコープの話がごっちゃになってね?
常駐もののブートストラップルーチンのローカル変数の寿命はプログラム終了までだろうし、 それが引数のポインタからたどれたとして、スコープはチェーンしている関数内だろ?
- 785 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 11:02:53.68 ID:A44A323l.net]
- >>766
全ての関数に巨大な構造体のポインタを渡してる前提だから、 「ポインタを渡された関数以外から」なコードは存在しないよ
- 786 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 11:12:42.71 ID:tTk6seYb.net]
- >>767
プログラミングすること自体がバグ
- 787 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 11:50:41.01 ID:UOIeR1Y3.net]
- >>769
存在しないとまで言われると書きたくなるな。実装依存だが自動変数をスタックに取るなら、こんなコードでたどり着けるかな? void main() { int x; foo(); } void foo() { int y; *(&y+2)=65535; }
- 788 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 12:04:19.71 ID:A44A323l.net]
- >>771
foo関数の引数にポインタがないよ 巨大な構造体のポインタを全ての関数に渡す前提を忘れてる >>765が具体的なコードを上げてくれてるね
- 789 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 12:16:35.11 ID:UOIeR1Y3.net]
- >>772
すまん、765=771だ。 fooにグローバルもどきな構造体のポインタを渡せば十分変態なコードはかけるし、 渡さなければ絶対到達できないというわけでもないと言いたかった。
- 790 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 14:00:18.43 ID:rIAZPlkA.net]
- >>773
まあ、お前のコードクソだからそういうのが日常って常識を主張したいわけだろ
- 791 名前:デフォルトの名無しさん [2018/11/08(木) 20:41:43.42 ID:bfPcGDVv.net]
- >>773
お前が無能だということは分かった
- 792 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 20:53:43.69 ID:5JF/nZv7.net]
- カプセル化が下手だとやりたいことが出来ないとかありうるんだよなぁ。
逆にやりたいことが全部用意されてるライブラリとかは、ほほうとなる。
|

|