オブジェクト指向ってクソじゃねぇよ? Part2

■ このスレッドは過去ログ倉庫に格納されています
2018/10/18(木) 23:20:41.34ID:/ofNkRJS
すごいんだよ?


カプセル化(英語: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/
666デフォルトの名無しさん
垢版 |
2018/11/02(金) 23:56:32.56ID:1ym8qpVP
同じ苦労を知っている齊藤氏は、開発初期から大事にしていることが1つあった。
「一番口酸っぱく言っていたのは『属人的な開発の仕方をするな』ということですね。
長いこと開発していけばお客さんの入れ替わりと同様に開発スタッフも変わっていくわけなので、
属人的なスキルに依存した開発をしていると、その人がいなくなったタイミングでアップデートがで
きなくなります。それをまたサルベージしてやりましょうというのはとてつもない作業量になります。
『ドラクエX』で100%属人的じゃない体制を作れたかというと決してそんなことはないんですけど、
意識してそれをやるようにというのは開発初期からやりました」
https://jp.ign.com/dragon-quest-10/28251/news/xpso2
667デフォルトの名無しさん
垢版 |
2018/11/03(土) 00:21:11.94ID:ahgTmUNP
言われたことをきちんとこなせる能力も大事ですが、自分の意見もしっかり伝え、相手の意見を突っぱねずに、
柔軟に聞き入れるのも重要です。何かを思ったり考えついたりしても、それを内に秘めたまま発信しないこと
には何も考えていないことと一緒であり、そう思われかねません。事態が悪い方向に進んでから、だから
こうした方がよかったのに、と後悔するよりも、思いついたことがあるのならば、率先して口に出していきましょう。
互いに納得が出来る道を探るにはコミュニケーションをとるしかありません。プログラミングの分から
ない人が理解できるように説明する能力も重要で、論理的思考スキルと合わせて手にしておきたいスキルです。
加えてコミュニケーションが不足していると、あまり話した事がないからどんな人かわからない、
声をかけづらいなどと相手にマイナスなイメージを与えてしまい、新しい仕事を得るチャンスを、
知らず知らずのうちに失ってしまうかもしれません。そう言われてもコミュニケーションはやっぱり苦手だという方は、
まずは挨拶からはじめてみてはいかがでしょうか?それだけで自分の中でも相手の中でも、印象が変わってくるはずです。
https://mynavi-creator.jp/blog/article/skills-necessary-to-game-programmer
2018/11/03(土) 00:42:17.78ID:dQj0A1Se
>>666
そこからヒントを得てスレを一つ立てた

低スキルでも読めるコードは、属人的なコードになる
https://mevius.5ch.net/test/read.cgi/tech/1541173295/
2018/11/03(土) 07:11:09.12ID:jAcy1rC3
>>663
正しいと思うがVCのビルド環境を見る限り、msはできる限りビルド環境を隠蔽したがってることは明白。
あいつらにビルドを明確にした方が良いって発想はない。
670デフォルトの名無しさん
垢版 |
2018/11/03(土) 13:04:44.43ID:ahgTmUNP
顧客の主張を聞かず、逆に顧客を罵倒する脳筋プログラマーwww


904 名無しさん@ゴーゴーゴーゴー! (ワッチョイ 7f9b-J3xm [14.132.225.33]) sage 2018/11/03(土) 08:15:09.88 ID:e3rghfI10
ろひすや、飴、飴、豚、ゴミ
私有地のように毎日のさばってんな
そんなに思い通りになるまでやめないの?
思い通りになったらますますやめないの?
こいつら俺はドラクエXの運命を変える力があるとでも勘違いしてね?
671デフォルトの名無しさん
垢版 |
2018/11/03(土) 13:29:31.51ID:ahgTmUNP
こいつをみんなで無視しようなってのもwww


174 名無しさん@ゴーゴーゴーゴー! (スフッ Sd33-wjEJ [49.104.38.82]) sage 2018/09/30(日) 03:22:02.03 ID:3/yN7cf3d
>>173
クソに安価付けてレスしないで
JPとバットンキンはNGName推奨です
2018/11/03(土) 13:36:08.97ID:wVRfAOhJ
オブジェクト指向というデザインが何を指してるのか曖昧だけど、
C#のデリケートやSwingのイベントリスナーによってコードがスッキリするのは言語の進歩。
それが『オブジェクト指向』によるなのかというと全然違う。Publish/subscribeモデルという言語を越えたデザイン。

少なくともカプセル化、継承、多態性などがメリットに直結する説明の本は糞だと思う。
673デフォルトの名無しさん
垢版 |
2018/11/03(土) 13:44:40.08ID:ahgTmUNP
91 その名前は774人います (ワッチョイ c93e-d2wE) sage 2018/10/30(火) 14:22:34.62 ID:MV4WqrjP0
まあ「学園だけ本気だった」って揶揄されてるけど
実際は学園すら本気じゃなかったと思うよこのカスは

順番に鍵開けるだけのワンパターン手抜きストーリーはもちろん
初期の不具合でコケたクラス形成のまともなテコ入れは一切なく最初から死んだままだし
フェスはクソくだらないモンスター先生()退治ばかりで盛り上げようって気は一切見えなかったし
不評と失敗が明らかになってからはDQXTVでは箝口令
辞める前の運営だよりで学園総括しろという真っ黄色の提案があったにもかかわらず「学園」の二文字すら一切なし
例の「アレルギー」以外に総括や反省どころか振り返りすらせずにぶん投げておしまい

学園ですら、カスにとっては作り終わって飽きたいつものポイ捨てコンテンツの一つに過ぎなかった
リソースの浪費とゲームへのダメージは甚大だったけど、サイコパスにはそんなこと関係ないんだね

>辞める前の運営だよりで学園総括しろという真っ黄色の提案があったにもかかわらず「学園」の二文字すら一切なし

242 名無しさん@ゴーゴーゴーゴー! (ワッチョイ d1bd-BIB0 [220.22.170.198]) sage 2018/10/03(水) 22:47:59.97 ID:qPQMVAOd0
このスレにも致命的なバカが迷い込んでるがw
どう考えたってそう思うが押されるわけないじゃんw
押されたい提案をすりゃいいのに揃いも揃って基地外だもんなw
674デフォルトの名無しさん
垢版 |
2018/11/03(土) 14:08:45.45ID:ahgTmUNP
自慢じゃないが、あっちのスレで俺は煙たがられているんだ!

915 名無しさん@ゴーゴーゴーゴー! (ワッチョイ bb33-PRUr [106.160.151.234]) sage 2018/11/03(土) 13:56:13.48 ID:MJll2UhP0
>>911
スルーしましょう

それよりも、ねころのネコと足跡来てる魚子さんとの間にさざ波が…
口論って程じゃないけど
675デフォルトの名無しさん
垢版 |
2018/11/03(土) 14:21:06.46ID:ahgTmUNP
>凸されてキレる奴がアホって認識だろ?

5ちゃんねるの俺からの追求は『スルー』www
2018/11/03(土) 15:41:08.85ID:YgnNRhbL
おつでーす
677デフォルトの名無しさん
垢版 |
2018/11/03(土) 21:11:49.81ID:fUshZxLk
>656
確かにそんな感じだった
当時は何をどうしたらいいのかすらよく解らなかった
2018/11/03(土) 22:19:12.70ID:Ob9oFI2P
Javaぐらい洗練されてれば最初から成功したはず
2018/11/03(土) 22:54:02.56ID:YgnNRhbL
>>678
何と比較して言ってるの?
2018/11/03(土) 23:32:52.08ID:ZYzZrFY6
そりゃ後から出ればな
そしてjavaも今や
2018/11/03(土) 23:35:06.25ID:YgnNRhbL
だから何と比較して話してんだよお前ら
682デフォルトの名無しさん
垢版 |
2018/11/04(日) 00:38:15.08ID:KXFfF/ne
>>672
>オブジェクト指向というデザインが何を指してるのか曖昧だけど、

ところで「チンポがシコシコする」という日本語表現は、文法的に正しいのか?

チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。

オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンボ)が別々になっている場合とが考えられる。けれども「チンボ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。

違うか?

511 デフォルトの名無しさん 2018/10/29(月) 23:32:40.68 ID:LL+W6ENh
随意筋←implements─チンポ─implements→不随意筋

「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
2018/11/04(日) 03:13:54.13ID:JcXnTdcw
Cairoは失敗した
2018/11/04(日) 03:32:53.19ID:Z92SZUbh
cat.pushObject(door)

引数の状態が変化する場合には主語
完全解決
2018/11/04(日) 03:35:15.66ID:Z92SZUbh
オブジェクトが主語としてふるまうばあいは三人称とか定着すればよかったのに
英語の活用がいい加減なせいで区別つかない場合があるから普及しなかったのだろうか
2018/11/04(日) 09:23:28.79ID:f5svfmew
そういう、どのオブジェクトが主体なのかってのはプログラミングして解決したい問題では些末
オブジェクト間の関係性、つまり実際の処理が解決したい問題になる
foo(X,Y)とX.foo(Y)とY.foo(X)のどれが良い?ってのはfooの中身から明確に答えが出ることもあるし、どれでもいいよってなることもある

OO以外じゃどうでもいい話を、さもプログラミングする上で問題になるように持ち上げるやり方をマッチポンプパターンとして提唱しよう
2018/11/04(日) 09:56:29.68ID:NXH4yvMa
チンポくんもこじらせてるねえ

何を主体にしたいかとか、プログラミング言語じゃなくて言語学の話だから
2018/11/04(日) 10:07:04.04ID:3pon2MBD
そこにこだわっても1円にもならんよね
689デフォルトの名無しさん
垢版 |
2018/11/04(日) 10:10:40.59ID:iTJ8u5Nd
>>687
間違えるなチンボが勝手にこじるんや
690デフォルトの名無しさん
垢版 |
2018/11/04(日) 11:28:18.81ID:hQdPSgHl
ブリッジパターンの応用手順のブログみたい。パッケージを開発する時を前提にしているね。
https://blogs.yahoo.co.jp/kamyu_2010/35480077.html
691デフォルトの名無しさん
垢版 |
2018/11/04(日) 11:28:45.28ID:hQdPSgHl
ブリッジパターンの応用手順のブログみたい。パッケージを開発する時を前提にしているね。
https://blogs.yahoo.co.jp/kamyu_2010/35480077.html
692デフォルトの名無しさん
垢版 |
2018/11/04(日) 11:28:48.90ID:hQdPSgHl
ブリッジパターンの応用手順のブログみたい。パッケージを開発する時を前提にしているね。
https://blogs.yahoo.co.jp/kamyu_2010/35480077.html
2018/11/04(日) 12:21:47.97ID:YHqourM/
まーたそのゴミみたいなblogか
そういうゴミ情報はさっさと潰れてほしい
検索結果に出てくるだけ社会の害悪じゃん
2018/11/04(日) 12:31:09.85ID:EBz82Uiq
>>693
お前が素晴らしいブログを書かないからな
695デフォルトの名無しさん
垢版 |
2018/11/04(日) 15:34:37.57ID:95qKkVOL
>>686
なんとnimではfoo(X,Y)とX.foo(Y)が同じ意味
2018/11/04(日) 17:42:49.32ID:YHqourM/
javaのstringのequalsと
pythonのjoin

"abcde".equals(str)
','.join(list)

「文字列をequalsで判定する時」なんかは21ページまで行ってて会議室の中で一番長いんじゃねえのコレ
2018/11/04(日) 20:29:25.47ID:yioi4JUk
そういえばc++の発展の歴史は文字列をどれだけプリミティブ型のように扱えるようにするかの
歴史だと言ってる人がいたね。
2018/11/05(月) 07:03:06.05ID:5/8gaaQr
VB6のコンポーネント指向でよかったけどな
マルチスレッドディスパッチャとかデリケートを言語で強化していくとか

Javaに追い付け追い越せはC#に任せてさ

マシンパワーの進歩で.NETのもっさりも気にならなくなって、
結果論では正解だったのかもしれないけど
2018/11/05(月) 07:37:31.23ID:C39H/qom
>>698
マシンパワーの進化だけじゃない
2018/11/05(月) 12:24:42.20ID:4r6RuT4G
>>698
vb6にもイベントデリゲート機能は既に有ったよ
プロパティセッターゲッターとかも有ったし
何時のバージョンから搭載されていたかは知らないけど
2018/11/05(月) 12:29:19.16ID:ZdyRAhNg
>>698
VB6はVB6で使いやすかったんだけどな
言語としての機能性がプアなのは仕方ないが
労を惜しまなければなかなかのものができたんだよ
Javaと変わらず遅いけどw
2018/11/05(月) 12:32:29.72ID:i/VkDtta
このソフトの動作にはvbランタイムのインストールが必要ですからのそっ閉じ
2018/11/05(月) 21:13:55.01ID:Nuy+gqjZ
>Javaに追い付け追い越せはC#に任せてさ
は???
704デフォルトの名無しさん
垢版 |
2018/11/05(月) 21:19:07.12ID:wo65FOER
はじゃないが
2018/11/05(月) 21:24:18.41ID:Qr9+IO/r
Javaは殺されたから。
706デフォルトの名無しさん
垢版 |
2018/11/05(月) 22:03:33.97ID:qCG7kgky
ポリモーフィズムによる依存関係の逆転
2018/11/05(月) 22:10:56.48ID:4r6RuT4G
vbランタイムは付けても良いし
ベクターから落としても良いし
javaみたいに金は取られないよ
2018/11/05(月) 22:12:17.42ID:C39H/qom
>>704
2018/11/05(月) 22:12:54.89ID:wVSM+ShE
ランタイムとかありえねー
1バイナリで配布に決まってるだろ
dllとか意味わかんないw
2018/11/05(月) 22:56:05.83ID:rQPPTNrE
意味すら分からんか…
2018/11/05(月) 23:41:27.95ID:0wNeh4D8
JavaのVMってそうだよな
2018/11/06(火) 06:40:30.15ID:8BHBMccI
オブジェクト指向を売りにしてた会社、息してる?
2018/11/06(火) 07:52:37.47ID:3OcY7eEH
15年前とか、オブジェクト指向宣教師にVB厨とかいってバカにされてたけど、
その宣教師達の見る影もないな
2018/11/06(火) 07:57:11.96ID:3OcY7eEH
>>672
カプセル化、継承、多態性は、オブジェクト指向密教の念仏、お題目だからな

信じるものは救われるw
2018/11/06(火) 11:44:39.77ID:F+oSge0O
密教はマジモンのオカルトで、
肝心なことは密にされてる、つまりは秘密にしてる、というか伝えられない、言語化できない、っていう方面の宗派だ

オカルト=秘されたもの、だからな
その対義語?がサイエンスだ
だもんで密教はオカルト中のオカルトだ

顕教はその名の通りに教えの中核を明文化して伝える宗派
宗教やオカルトにもいろいろあるが基本的には「隠す技法」だ
隠せば隠すほど有難味が増す
2018/11/06(火) 17:43:17.25ID:2Imqjq5w
カプセル化と多態は普通に使うけど
ここで必死に否定してる連中は何使ってんの?
2018/11/06(火) 18:49:11.18ID:pbTvUYL6
>>716
c言語方式
極めるとグローバル変数を一切使用しない関数に行き着く
2018/11/06(火) 19:48:06.13ID:4FZ8VBND
イミュータブル性、スコープに合わせた資源管理、関数の長さ、ビルドの構成
この辺りを気にした方がマシ。
2018/11/06(火) 20:19:36.81ID:u4fT6EdO
>>717
関数がファーストクラスじゃないから制限が多いかな
2018/11/06(火) 20:24:27.77ID:8BHBMccI
カプセル化なんかをメリットとして力説するのが痛いんじゃない?

変数のスコープや寿命なんて、オブジェクト指向言語以前の命題でさ
2018/11/06(火) 20:26:55.09ID:K8RrAru7
まあ、C言語でもオブジェクト指向は出来るからなぁ
2018/11/06(火) 20:35:26.74ID:4FZ8VBND
とはいえ、ポリモルフィズムが有効な場合というのは見極めが難しいからな。
そのコードの流れと直交するような動作ならいいけど、
そんなのコードに慣れてない奴には絶対判断できん。

もう少しソリッドな技術から学ぶ方が重要。
2018/11/06(火) 21:09:25.86ID:pbTvUYL6
>>722
いや、リーナスさんも言ってるけど
曖昧さってのはガンにしかならない
2018/11/06(火) 21:38:14.09ID:4FZ8VBND
>>723
個人的に同意だが、しかしある機能においてはどうしても動的に変えられるように
作らなきゃならんこともあると思う。
例えばUSBドライバのロードとか。
2018/11/06(火) 21:49:55.31ID:9ybaAnNd
Cで作るにしてもデータ隠蔽や関数ポインタ使って動的に動作変えるとかやるからな
2018/11/06(火) 22:19:48.19ID:pbTvUYL6
>>725
やんねーよ
そんなん
2018/11/06(火) 22:33:55.97ID:5ks02k45
workingset みたいなもん定義して
ws->pre_fn(ws), ws->work_fn(ws), ws->post_fn(ws)
とかはCでもやる
2018/11/06(火) 22:35:06.48ID:2Imqjq5w
なんだただの無能かよ
お前は一生switch文書いてろ
729デフォルトの名無しさん
垢版 |
2018/11/06(火) 23:32:49.41ID:98MtNrWT
やっぱcはゴミだわ
730デフォルトの名無しさん
垢版 |
2018/11/06(火) 23:49:50.37ID:ATtfWESv
ところでさぁ、

この車、タイヤがパンクしてるぜ!
この俺、チンポがシコシコしてるぜ!

どちらも「オブジェクト指向」だろう? 違うか?

注目は、選択肢イです。この上向きが集約で、下向きが分解です。
自動車は、アクセルやブレーキ、ハンドルなどに分解されるからです。
http://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
2018/11/07(水) 00:04:50.55ID:MnvgpN9Q
CがゴミってんならC++なんてクソだろ?それもゲリクソ
あっちこっちで食あたりコードを生み出すゲリクソ生産機
2018/11/07(水) 00:05:19.02ID:Qiut+jNc
オブジェクト指向とかいうブラックボックス礼賛思想
こんなんに付き合ってたら頭おかしなるで
2018/11/07(水) 00:16:59.62ID:nAQp6wBh
オブジェクトはどういう操作してもバグらないのが前提
常に整合性を保てるクラスを作るのはとてもテスト工数がかかる
わりに合わないと思うこともある

でも問題を分離することが人間の進歩だ
オブジェクト指向はとても遠大で高邁な理想なんだ
2018/11/07(水) 00:37:46.20ID:Uv/5eSRN
Cの関数ポインタはよく使ったなー
今でも別な言語で似た使い方するけど楽の一言に尽きる
2018/11/07(水) 00:38:57.58ID:Uv/5eSRN
>>732
オブジェクト指向そのものはブラックボックス思想ではないんだよ
オブジェクト指向でプログラムを組む人がブラックボックスを作りたがるだけなんだよ
2018/11/07(水) 00:58:25.04ID:UCphLCxy
ソースコード見れるのにブラックボックスってどういうこと?

ライブラリの関数、中身見ないから
ブラックボックスっていうのなら、
それは手続き型でも同じだし
2018/11/07(水) 01:12:33.71ID:T8AyQ5+v
ブラックマジックの間違いだったとか
2018/11/07(水) 01:42:59.61ID:Z88Q6V1f
>>736
グローバル変数のデメリットを理解してる?
2018/11/07(水) 01:51:06.86ID:UCphLCxy
>>738
手続き型はグローバル変数になるから、
オブジェクト指向で隠蔽化するってこと?


手続き型でもローカル変数にして
隠蔽化=ブラックボックス化するのは同じでしょうって
言ってるんだが?
2018/11/07(水) 03:22:51.34ID:/RV3raqf
>>717
極めるw
何を極めたんだよ
関数ポインタを諦める事か?
741デフォルトの名無しさん
垢版 |
2018/11/07(水) 03:35:19.63ID:h4FWJh3K
>>729
OS無しの組込にはアセンブラかCしか選択肢がないけどね。(良い悪いはともかく)
C++も最近増えたみたいだけど、書き込む領域がそれなりに無いと。
2018/11/07(水) 08:25:23.73ID:60G+FgCT
逆にC以外の言語で使えるのと言ったらhaskell位しか思いつかない。
743デフォルトの名無しさん
垢版 |
2018/11/07(水) 13:02:23.58ID:R2gvt502
>>739
>隠蔽化=ブラックボックス化するのは同じでしょうって

511 デフォルトの名無しさん 2018/10/29(月) 23:32:40.68 ID:LL+W6ENh
随意筋←implements─チンポ─implements→不随意筋
2018/11/07(水) 15:29:42.78ID:wjSd2cHh
>>717
変数をすべてローカルで作って、
関数に引数10個ぐらい使って引き渡してるソースなら見たことがある。

たしかに極まってるわ。
2018/11/07(水) 16:49:01.37ID:xNIAd77E
>>744
それ、構造体にしてポインタ渡しにしねえか普通。
2018/11/07(水) 17:28:35.58ID:iy3fg8p3
ついでに構造体のメンバに関数へのポインタをセットするのは気持ち悪いから、構造体に実装埋め込みたいよね?
2018/11/07(水) 17:59:56.06ID:YuYLxFMn
構造体という名前の特殊な関数だと思い込めばいい
それでクロージャみたく解決だ
2018/11/07(水) 18:01:48.26ID:Z88Q6V1f
>>744
実際やると10個じゃ済まない
50個ぐらい行くかも

でもやってみればわかる
それでもソースは読みやすい
2018/11/07(水) 18:49:57.53ID:1MfDECIP
んなわけあるかあほか
設計能力がないだけじゃねぇか
750デフォルトの名無しさん
垢版 |
2018/11/07(水) 18:56:11.17ID:WrYxOUux
>50個ぐらい行くかも
>
>でもやってみればわかる
>それでもソースは読みやすい
読みずれーよ馬鹿w
関数のさらにネストしたところでしか使わん変数を引数で引回すコードの
メンテをしたことあるがめちゃくちゃ大変だぞ。
2018/11/07(水) 19:52:01.40ID:Z88Q6V1f
>>750
エアプ乙

でも引数からしかアクセスないじゃない?
これがメンバ変数だったりグローバル変数だったりするから滅茶苦茶になるんよ
引数オンリーは絶対に問題起きない
やってみろ
レベル上がるぞ
2018/11/07(水) 19:58:50.02ID:WrYxOUux
本当の馬鹿か。。
さすがに構造体否定する奴は初めて見たわ。
2018/11/07(水) 20:17:31.42ID:xNIAd77E
みんなthisポインターにズルズル引きずってしまえば楽さw
2018/11/07(水) 20:32:58.61ID:Z88Q6V1f
>>752
やってみりゃわかるよ
引数に書いてた一覧を
構造体に移植するだけよ
つまり関数と似た名前の構造体ができるだけ
意味があると思うなら用意すればいい
俺も最初はやっていた

完全に同じもんが必要になることなんて
まずないから放置
2018/11/08(木) 00:45:08.19ID:CWqVGGGe
お前ら今までのレスでさんざ書かれてきた問題点を
何も学んでないな
2018/11/08(木) 02:37:06.73ID:3xGWJe6p
>>754
巨大な構造体を引回す関数群か
ポインタ渡しにすることになるから、もはやグローバル変数と変わりはないな
2018/11/08(木) 03:18:02.43ID:rJTiWJ81
>>756
巨大な構造体で、どうやってグローバル変数のように
どこからでも参照できちゃう状態にできるの?

どこからでも参照できないなら、ローカル変数と変わりないな
2018/11/08(木) 03:24:31.46ID:rJTiWJ81
>>754
> 引数に書いてた一覧を
> 構造体に移植するだけよ
> つまり関数と似た名前の構造体ができるだけ
> 意味があると思うなら用意すればいい

えとな、引数に書いていた一覧を構造体に移植するだけだから、
関数と似た名前の構造体ができるだけなんだぞ。

意味がないのは、お前が「引数に書いていた一覧を構造体に移植するだけ」
という変なことをやってるからだ。全てお前自身の問題なんだよ。



構造体にする基準は、リファクタリングの「引数オブジェクトの導入」の基準と同じだ
https://ja.wikipedia.org/?curid=93818
> 引数オブジェクトの導入
> たびたび一緒に受け渡しされる複数の値は、オブジェクトとしてまとめたほうが分かりやすい。

「一緒に受け渡しされる複数の値」を構造体にするんだよ
全部を一つの構造体にするバカはお前だけだ
759デフォルトの名無しさん
垢版 |
2018/11/08(木) 04:49:57.80ID:2oWgTmr1
追加するのは簡単だけど、削除したり改変したりするのが大変だねー。
760デフォルトの名無しさん
垢版 |
2018/11/08(木) 05:08:09.76ID:yQlGi5bN
プログラミング言語の性能差
主な言語とスループット
言語 スループット 特性
C/C++ 100 静的言語ネイティブコード
Java 1〜10 静的言語VMバイトコード
Ruby/Python 0.1〜1 動的言語
オンラインゲームのサーバではC/C++が最も使われ

http://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++なんてクソだろ?それもゲリクソ
あっちこっちで食あたりコードを生み出すゲリクソ生産機
761デフォルトの名無しさん
垢版 |
2018/11/08(木) 05:15:39.14ID:yQlGi5bN
メモリ管理がポインタがうんたらなんてややこしい話はJavaやRubyでは関係無いけど、
ネットワーク通信だとC/C++の一択でポインタをいじくり回してメモリ管理するしか無い。

この認識で、違うか?
762デフォルトの名無しさん
垢版 |
2018/11/08(木) 05:22:41.91ID:yQlGi5bN
プログラミング言語
1 C/C++
2 その他

・・・だと思う。
2018/11/08(木) 06:16:25.68ID:eumdoCgr
CとC++を一緒にまとめて語ってる事がナンセンス
2018/11/08(木) 08:34:35.38ID:A44A323l
>>757
全ての関数の引数にその巨大な構造体のポインタを入れるとそうなるね
2018/11/08(木) 08:49:16.98ID:lZiGipil
>>751
void main()
{
struct {
int x,y,z,foo,bar,everything;
} global;

func(&global);
}
2018/11/08(木) 08:55:45.61ID:rJTiWJ81
>>764
> 全ての関数の引数にその巨大な構造体のポインタを入れるとそうなるね

グローバルってことは、ポインタを渡された関数以外からアクセスできるわけだけど、
それでどうやって渡された関数以外からアクセスするの?
渡された関数だけからしか参照できないなら、ローカル変数と変わりないな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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