オブジェクト指向ってクソじゃねぇよ? 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/
2018/10/30(火) 20:57:56.92ID:IL+nqSpb
Linusがオブジェクト指向を否定する理由の一つがまさに>>536
C++やオブジェクト指向の否定とも読めるが
それはKernelというコンテキストの中での話だ
egrep "オブジェクト|C++" としたときに
Kernelというコンテキストを隠蔽しているのだ

C++は本気で嫌ってるのかもしれんが
オブジェクト指向に関してはどこまで否定的なのか読めん
2018/10/30(火) 21:09:06.98ID:ZgZ/9CmG
ということで結論はLinusはオブジェクト指向を
否定してないってことでいいかな
2018/10/30(火) 21:23:48.92ID:rGP4zqaC
>>536
相当否定してる、から一転
2018/10/30(火) 21:53:48.89ID:bOd1i88g
>実際の問題が特別なデータ記述で関連付けられるとは私は考えない。
>貴殿はその類のデータのためのライブラリルーチンを欲しくない。
>つまり、貴殿はデータとその他の種類のデータ両間で相互作用するコードを欲しいのだ。


オブジェクト指向の欺瞞の心臓
初心者から上級者までおそらく全員が思ってること
すばらしい
2018/10/30(火) 21:54:42.59ID:IL+nqSpb
>>539
私見だが6割程度は否定してると思う
コンテキストが一つのオブジェクトに依存している範囲のみ
オブジェクト指向は使える、と考えているのでは?

> だが、OO言語は、オブジェクトが重要であり、オブジェクトに関連付けられたメソッドを持つべきだという手段を考える傾向にある。まさに馬鹿げた話だ。一つのオブジェクト(又は、ある型のオブジェクトの当り前なコレクション)が本当の関心事ではない。
> 関心すべきは、異なる型の異なるオブジェクトが相互作用し、ロッキングルールを持つ等々の時なのである。その時点で、重要なのは一つのオブジェクトではもうないのだから、"オブジェクトインターフェイス"を隠蔽しようとするのは絶対に間違っている。

> だから、私はデータの記述が重要であることに賛成であるが、同時に、最も記述が本当に重要である事柄は、いかにデータが矛盾無いか、一貫性の必要条件があること、ロッキングルールがあること(そして、一つのデータオブジェクトのためでないことも)等々である。
2018/10/30(火) 22:00:25.32ID:UtoqQUYR
なんか分かりにくい日本語だな、もっとマシな言い方はできなかったものか
544デフォルトの名無しさん
垢版 |
2018/10/30(火) 22:14:27.78ID:xkGCjv5u
半角先生の超訳をお願いします
2018/10/30(火) 22:14:59.00ID:bOd1i88g
実際に言ってることがおかしい気がする

>重要なのは一つのオブジェクトではもうないのだから、"オブジェクトインターフェイス"を隠蔽しようとするのは絶対に間違っている。

ようするにまだるっこしいインターフェース介さずに
手順をすっとばして中直接いじらせろって言ってるんだろ?
遅いから。
コンパイラがバグるから。

基地外
2018/10/30(火) 22:19:26.57ID:UtoqQUYR
あんまりOOPの欠点の核心を突いていない
ような文書も散見される希ガス
2018/10/30(火) 22:21:27.12ID:GV6qK/VB
複数のオブジェクトが相互にかかわる煩雑なメソッドを
そのうちの一つのオブジェクト内に押し込めようとしているのは間違っている

それによって矛盾や一貫性やロッキングルールが失われるのはよくねえよ
2018/10/30(火) 22:22:00.26ID:UtoqQUYR
2018/10/30(火) 22:27:42.15ID:UtoqQUYR
ぴったり産業の意訳で結構分かりやすくなったが
行間あいてるし
デモなんかやっぱOOPの極端に目立つ欠点の一側面を述べてるだけじゃん感があるな
2018/10/30(火) 22:31:36.48ID:bOd1i88g
>だから、私はデータの記述が重要であることに賛成であるが、同時に、最も記述が本当に重要である事柄は、
>いかにデータが矛盾無いか、一貫性の必要条件があること、ロッキングルールがあること(そして、一つのデータオブジェクトのためでないことも)等々である。

>私は、それらを本当に容易にコンパイラへは書けないと思う。結局、どうしても自分でそのコードを書かざるを得ない。


それを達成してくれるのが隠ぺいだろ
メンバ変数間の整合性は公開メソッド使ってる限り保たれるはず

最終的にはマシン語自分で見ないと安心できないような世界の人のいうこと
2018/10/30(火) 22:39:26.06ID:bp+Jjz8r
カーネル作ってる連中からすりゃそりゃそうだろ
2018/10/30(火) 22:43:09.18ID:GV6qK/VB
複数のオブジェクトを隠蔽したオブジェクト内でどこかで不具合があったらどういう状況で起こってるのかわかりづらいし
どこで誤作動が起こってるか見当がつけにくい
中のオブジェクトが他のオブジェクトでも隠蔽されていたらまあ悲惨

関数だとシグネチャーでどのオブジェクトを使ってるかややわかりやすいんじゃないかな
2018/10/30(火) 22:44:00.50ID:GV6qK/VB
オブジェクトじゃなくて構造体か
554デフォルトの名無しさん
垢版 |
2018/10/30(火) 22:46:26.39ID:M87fl2aa
おいおいLawrence Krubnerとかいうクソザコがとんでもないこと言ってるぞwww
今をトキメくオブジェクト指向に楯突くとか身の程知らず過ぎwwwww

http://www.smashcompany.com/technology/object-oriented-programming-is-an-expensive-disaster-which-must-end
「オブジェクト指向の強みだと思われているほとんどの要素はオブジェクト指向固有ではなく、オブジェクト指向固有の強みなど、実際には一つもない」
555デフォルトの名無しさん
垢版 |
2018/10/30(火) 22:59:09.30ID:M87fl2aa
【悲報】Oscar Nierstraszとか言うクソザコ、身の程知らずにもオブジェクト指向批判の記事を書いたためにコメント欄で5年に渡って叩かれ続けるwwwww
http://blog.jot.fm/2010/08/26/ten-things-i-hate-about-object-oriented-programming/
2018/10/30(火) 22:59:51.90ID:sh92d/1G
私が心配する最も大きな問題はコードではなく、コードと開発の"フロー"だ。

いいね
やっぱり超頭いい人って違うね
2018/10/30(火) 23:12:40.53ID:sh92d/1G
一つのオブジェクト(又は、ある型のオブジェクトの当り前なコレクション)が本当の関心事ではない。

関心すべきは、異なる型の異なるオブジェクトが相互作用し、ロッキングルールを持つ等々の時なのである。その時点で、重要なのは一つのオブジェクトではもうないのだから、"オブジェクトインターフェイス"を隠蔽しようとするのは絶対に間違っている。


これだよ
オブジェクト同士の相互作用が複雑なんだろ?
558デフォルトの名無しさん
垢版 |
2018/10/30(火) 23:28:38.97ID:M87fl2aa
オブジェクト指向は、オブジェクト指向にしかない問題を作り上げそれを解決するという産業を作り出し金を稼いでいる
http://harmful.cat-v.org/software/OO_programming/why_oo_sucks

しかしそれってある意味立派なことではないだろうか?
プログラマの雇用をC++を作ることで守った人みたいに。
2018/10/30(火) 23:50:44.94ID:UtoqQUYR
金まき上げる層にとってはそうかもしれないが
OOPに苦しめられている開発者のことも忘れないでください
560デフォルトの名無しさん
垢版 |
2018/10/30(火) 23:53:00.63ID:H/liFP07
AというオブジェクトからBというオブジェクトにアクセスする場合
よほどの理由がないかぎりBからAにアクセスすることは避けないといけない

できるだけコンポジションにするべき
この場合、AがBを内包するようにする
2018/10/30(火) 23:56:18.20ID:UtoqQUYR
A<->B 相互参照は避けろって
どうした、熱でもあるのか当然のことなぞ書いたりして
いい子だから射精して早めに寝なさい
2018/10/30(火) 23:58:33.02ID:sh92d/1G
AとBを内包するCを作り中ではAとBに殴り合いの喧嘩をさせる
生き残った方も潰す
2018/10/30(火) 23:59:09.37ID:sh92d/1G
Cも潰す
564デフォルトの名無しさん
垢版 |
2018/10/31(水) 00:00:14.64ID:THFaDY1P
オレはこのことを前スレでも書いている
2018/10/31(水) 00:00:53.21ID:onaYxvxm
そしてカオスすら残らないと
やめちゃえOOPなんか
2018/10/31(水) 00:05:48.76ID:mbSgQcga
オブジェクト指向で以下をモデル化せよ
> いい子だから射精して早めに寝なさい
567デフォルトの名無しさん
垢版 |
2018/10/31(水) 00:24:22.78ID:THFaDY1P
class cneat {
 public:
  void erodouga_miru(void);
  void erohon_miru(void);
  void mousou(void);
  void shikoshiko(void);
  bool is_dopyu();
  void fukifuki(void);
  void poi(void);
  void neru();
};

int main() {
  cneat neat;
  while (neat.is_dopyu()) {
   neat.shikoshio();
  }
  neat.neru();
  return 0;
}
2018/10/31(水) 00:24:35.09ID:u+rWqfhJ
>>564
スレの趣旨は
オブジェクト指向は「クソ」か否かなので
オブジェクト指向のノウハウ・イロハ的レスは
すれ違いだな、ご愁傷様
569デフォルトの名無しさん
垢版 |
2018/10/31(水) 00:29:25.58ID:THFaDY1P
オブジェクト指向では
ニートが射精しそうかどうかなんかに
いちいち関心もつ必要はない

射精するまでシコらせればいい
2018/10/31(水) 00:32:22.47ID:u+rWqfhJ
正論だ同意する >>566
2018/10/31(水) 00:33:37.25ID:u+rWqfhJ
>>569
半角さんは
オブジェクト指向のメリット・デメリットは何だと思う?
572デフォルトの名無しさん
垢版 |
2018/10/31(水) 00:42:00.02ID:THFaDY1P
コレは何度もいってる

オブジェクト指向は適切に扱えば道具にすばらしいメソッドを与える

オブジェクト指向は道具自体ではないが
この板にいるような低学歴知恵遅れが使えば
キチガイに刃物になる
2018/10/31(水) 00:43:02.43ID:u+rWqfhJ
…Orz
だめだこりゃ
2018/10/31(水) 01:04:51.95ID:hTEse2SW
まず、プログラム言語の前に日本語なんとかしろよ定期
2018/10/31(水) 01:15:31.31ID:iWiU55Kl
適切に扱えばという前提条件が満たされうる確率を考慮すると、オブジェクト指向にはメリットがないと相当の確信を持って言える
2018/10/31(水) 01:22:08.87ID:+I7YAfIe
>>572
これ手続き型と関数型とオブジェクト指向のメリットやんけ
2018/10/31(水) 01:25:10.88ID:u+rWqfhJ
それを言っちゃぁ、おしまいよ。

でもなんか有効活用する規範みたいなものの登場は無理なんだろうかね
これだけ広まっちゃって、みんなだまされ続けてきてもう今から後戻りは難しいんだし

たとえば局所的なクロージャーのような使い方に限るとか
2018/10/31(水) 01:36:22.13ID:u+rWqfhJ
ITの分野ってのはさ、
AIだの第五世代だのΣだのGRIDだのDNNだの機械学習だのイジングだのファジだの大航海だの
バズワードを伴うインチキがどうやら流行しやすい分野らしく、
また、それによって国プロを初め一時的に投資を引き出して
短期間に市場が出来て消えてを繰りかえしながらも
長期的視野で見ると日本のITは凋落傾向を続けている。
でもそういった中でC++やJavaを中心としたオブジェクト指向は、
奇しくも20年以上の流行と社会的普及を経ていまだ跋扈している
このように都市伝説のような非科学・工学的インチキノウハウは
ホント歴史に残る珍しい社会現象だと思う
579デフォルトの名無しさん
垢版 |
2018/10/31(水) 02:31:10.48ID:Crbi6MGa
>>538
>C++やオブジェクト指向の否定とも読めるが

『チンポ』は随意筋なのか不随意筋なのか、独立生物なのかそうではないか、 Linus博士の見解を聞きたい。
580デフォルトの名無しさん
垢版 |
2018/10/31(水) 02:46:53.27ID:Crbi6MGa
チンポは独立した生き物なんだって、ビートたけしもそう言ってたろう?
2018/10/31(水) 07:46:28.93ID:aJeiKaad
>>578
文章うまいね
俺も同じ感覚だけどうまく表現できないよ

オブジェクト指向のメリットより、
言語の敷居を低くしたJava、C#やベターCとしてのC++他の言語にとって代わられることはないだけだと思う

オブジェクト指向言語であろうがなかろうが、
エレガントなデザインパターンというのはあって、
平均的な日本のプログラマには創造できないし、使うだけなら便利だろう
2018/10/31(水) 07:48:26.68ID:aJeiKaad
最近のバズワードはRPAかな

マクロ以上に負の資産になりかねないのに、日本のお偉方には輝いて見えるらしい
2018/10/31(水) 07:53:58.26ID:aJeiKaad
俺はインスタンスハンソル、ウィンドウハンソル、デバイスコンテキストハンドルを
上手に隠蔽できなかったMFCを見たとき、
クラスモデリングのハードルの高さを感じた

マイクロソフトさえ四苦八苦するデザインを
日本の一般プログラマができるわけがない
584デフォルトの名無しさん
垢版 |
2018/10/31(水) 08:03:38.00ID:Crbi6MGa
>>427
>メモリアクセス減らしつつグローバル変数減らす苦肉の策+責任分担

グローバル変数ってのは、気軽に削除したり改変したりも出来ないからなぁ。

このゲームすぐ持ち物いっぱいになるな
http://dragon-quest.me/dq10/28435/

サーバー側でグローバル変数をいじると、プレイヤー側(クライアント)の画面表示がおかしくなるし。
2018/10/31(水) 10:29:45.97ID:H6K6+zdq
>>578
は?
ハンセン病とか
ロボトミーとか
魔女裁判とか
オイルショック→トイレットペーパーとか
マジでやっちゃった系なんていくらでもありげなこんな世界
2018/10/31(水) 11:53:54.81ID:YDfKwgHn
そもそも完全にオブジェクト指向だとしても、メソッドという存在は必ずしも必要では無いと思うが、素晴らしいメソッドってなんだろう?
素晴らしいメリットの打ち間違いなら、またポンコツ煽りマシンですらないって事?
2018/10/31(水) 11:54:28.82ID:SLDQJ2w1
>>583
まずいのは、そのウィンドウハンドルすらも隠そうとする輩がいること。
オブジェクト指向うんぬん言ってる奴は大抵そんな連中しかいないだろ。
2018/10/31(水) 12:23:19.24ID:BVdvL0XC
>>587
MFCがやりたかったのは、
キーとなるハンドルでグループ化して、
そのハンドルをメンバ変数にして引数からなくすっていう作業ゲーのノリではないの?
長らくさわってないので間違ってるかもしれんけど
2018/10/31(水) 12:26:55.00ID:BVdvL0XC
どっちにしてもドキュメントビューアーキテクチャと相まって、ちっとも生産性は上がらなかった

マイクロソフトの独壇場だからどうしようもないけど、今でもMFCの縛りはあるのかね?>現役の開発者
2018/10/31(水) 12:28:48.87ID:+6FJ+kHd
win32api直接叩いた方が遥かに楽だとは誰も思うまいw
2018/10/31(水) 12:31:49.75ID:BVdvL0XC
20年前は、オブジェクト指向がうんたらっていう輩はいなかったな

実際に手を動かして、マイクロソフトでさえこんなゴミを作るんだーって
冷めた目で自動生成されたメッセージマップを見てた

いろいろメリットを説明したがる人って、
本当に職業としてプログラミングに関わってるの?
2018/10/31(水) 12:34:47.92ID:BVdvL0XC
メッセージループだって、最後にdefaultのdispatcher呼べばいいだけだろ?

それだけの制約を守らせたいだけで実装継承なんかしなくていいよ
純粋仮想関数?可読性落とすなよ
593デフォルトの名無しさん
垢版 |
2018/10/31(水) 12:39:13.05ID:gqtAU0ur
>>583
あれはWin32APIにドップリ浸かってると逆に使い易いらしい。(使いたい機能毎にAPI纏めた感じらしい)
ライブラリ設計の違いだが一般受けしなかったのに、企業で強制されて嫌われ者になった感じ。(VC6時代が最盛期)
あの頃が一番(個人用途で)Delphiが輝いてた。
2018/10/31(水) 12:42:39.00ID:BVdvL0XC
>>593
そうだよDelphiのクラスライブラリのほうがはるかにいけてた

MFCが勝つんだから、プログラミング言語すら政治の世界なんだなってみんな言ってた
2018/10/31(水) 12:52:19.59ID:wG8+54SG
mfcでooを語るとか勘弁してくれよ
あれはただのapiラッパー
2018/10/31(水) 13:13:41.67ID:qAfaFUSH
apiラッパーを超越してるからしまつが悪い

ドキュメントビューのウィーザードから始まるフレームワークだよ

ダイアログベース程度なら被害は少ない
597デフォルトの名無しさん
垢版 |
2018/10/31(水) 13:15:25.54ID:gqtAU0ur
>>595
言いたくは無いよ?
言いたくは無いけど、デスクトップアプリで保守でOSやランタイムのバージョン気にしないで作れる環境って、事実上それしか残ってない。(最早スタティックリンクでファイルサイズが〜何て気にする必要ない時代)
もう辞めたけど、大学(海洋系)のシュミレータとかデスクトップで実現出来るパフォーマンスは当時MFCしか無理だった。
今なら他の手段もあるだろうけど、すでに作っちゃった以上はそれで保守される。
(本当に、何であの当時Delphiが業務で広がらなかったのかと)

まあいいじゃん、最近のトレンドはAndroidやiOSだ。事実上のHTML5で、オブジェクト指向と言ってもプロトタイプがメインだ。
最早古きゆかしきオブジェクト指向は虫の息だよ。
まともなオブジェクト指向話題にするならTypeScriptかも知れんね。


Javaもそうだよ。
作っちゃった以上は長い目で見れば新規だけど、当面の保守費の方が中小には楽というか、また新規開発する体力無いのが殆ど。
(オラクルも、そういうのを見越してると思う。若干馬鹿な気はするが)
598デフォルトの名無しさん
垢版 |
2018/10/31(水) 15:19:01.55ID:Crbi6MGa
 何を考えて学園をつくろうと思ったのか?
りっきーさんコメント:
「アスフェルド学園」は 冒険者のみんなにこれまでのアストルティアでは実現できなかった
新しい体験を味わってほしいという気持ちから開発をスタートしたものなんだ。魅力的な仲間を育てて共に
成長していく体験やあらゆるとくぎを使いこなせるオールマイティなキャラクターを作り上げていく体験だね。
今あげた2つの例をはじめとして、遊びとしては楽しいけれど数多くの人が同時に遊べる世界として実現が難しい。
そういった遊びを実現するために別の切り離された世界をつくったというのが学園を作った大きな理由なんだ。
http://www.tentama.net/2016/10/blog-post_28.html
2018/10/31(水) 17:22:38.37ID:hTEse2SW
>>597
そういえば何もかも消え去ったな
2018/10/31(水) 21:22:02.84ID:5Yfq+loR
>>591
オレのところで一番のOOP伝道者は、ほとんどソフトウエアを作成できなかった
サンプルプログラム程度のものでもデバッグにえらく時間がかっていて足手まといだった。
でも結構な数のOOP信者を調教するのに成功し、一時職場では大OOPブームとなった。
J2EEの失敗がまだ表面化する前の、みんなOOPに夢見ていた頃の話。

OOPブームがピークを過ぎた頃、ISO9000やCMMIの伝道者に鞍替えしたので
開発部門から品証部門に移されて、いまは他人の書いたドキュメントの抜けチェックとかやってる
後出しじゃんけん的揚げ足取りやインチキが上手いので、表面的には何か品証の仕事を
しているように一見みえているよ
601デフォルトの名無しさん
垢版 |
2018/10/31(水) 21:24:19.69ID:GBbwoAdu
揚げ足は取られた方が悪いにきまっとるんやがw
2018/10/31(水) 21:26:06.17ID:5Yfq+loR
ま、マジか、、、
「前向き」に開発に集中してと取り組んでいると
脇が甘くんるのはしょうがねーだろうに
603デフォルトの名無しさん
垢版 |
2018/10/31(水) 21:34:07.64ID:GBbwoAdu
言い訳すんな無能w
2018/10/31(水) 21:40:39.52ID:5Yfq+loR
 うるせえエビフライぶつけるぞ!

     ,.、,、,,、、..,_/i
    '、;: ...: ,,:.:'.‐'゙' ┘
     ヽ(´・ω・)ノ 「・・・・」
       |  /
       UU
2018/10/31(水) 21:47:03.83ID:o0DzM9PU
                                l;:;:;:;:;:;:;:;:l;:;:;:;:;:;:;:;:`丶、;:;:;:;l
                               ,l;ィ'----┴――--、、;:丶、!
                             ,ノ7 '"^   ^`'   ,ィ'三ミ、_〉   
                            {:/, ニ丶  ,r,=-、 ヾ:::::::ミヾ
                            〃ィ'。`>ソ { ィ'。`'ァ::..  !::::::ミ:l   
                             l:! `~´/ ,l、  ̄´   ,. }:::::三<
                          .   ll   (、 っ)     : ,l::::シ久'l   
                   .i\       _,..、、,、,.、、,._、     ,:' f::/ン ノ/
                   i‐- `.',:'''´:゙:. :.,: ,: ,.:. . ,.:、 ミァ ,)    {,ツ>-‐'′
                    ̄  ̄ ゙'‐..: ;..;;.;_ ::. :.,':.、.: .: ' : ヽ   ,_ソ/
                              丶、__, -―''"/,/
                               ,} ヽニニ  =彡シ,ンヽ,
                              ,/(`=- r‐ ''" / ,/丶、
                            .ノヽヽ、_;__,∠..ィ"-――ュ、
2018/10/31(水) 22:12:01.27ID:YbcMdBkp
staticおじさんの時代が来る〜
2018/10/31(水) 22:14:19.91ID:qQf9WOcW
>>600
linusがもっとも排除しようとしてた連中の性質だな。
結局そういう連中は
object->run()
と書いときゃごまかせると思ってんだよ。
そのrunの実装をどうするかが本質だっつーのに。
2018/10/31(水) 22:18:25.70ID:smQ7taqR
あまりまっとうなことを書くと、
信者もアンチも近寄れず、荒らしに会うという罠
2018/10/31(水) 22:22:34.70ID:smQ7taqR
なんか日本のITの構造が良くないよね

学はあるけどITのセンスがないstaticおじさんが元請けのプロパーとして君臨し、
その配下で中途半端にオブジェクト指向をこじらせた派遣が
好き勝手に作ってるんだもの
2018/10/31(水) 22:26:57.30ID:smQ7taqR
ときどき降臨するベテっぽいカキコ摩る人たちの意見が正しいなあと
ちょっと思えるくらいにはなった気がするけど、
外国で流行ってると言われると思考停止する自分もいやだわ
2018/10/31(水) 22:29:10.15ID:5Yfq+loR
他のOOP厨の例では、30代前半くらいのJavaとC#好きな
ソフトウエアの研究者が数名いる。
彼らは人にOOPを広めるような活動はしなかったが、
学生時代から親しんできて慣れているのか、あるいは地頭がいいのか、
ある程度まとまった量の研究目的の実験的プログラムを
OOPで作っていた。
集中して新規に作っているときは、入り組んだ関連性でも
一断面に集中できるのか、OOPで結構コード書いていた。
他人が見返したら分かりやすいプログラムであったかは、なんともいえない。
(研究のコードはあまり見せたがらないから)
2018/10/31(水) 22:29:23.59ID:wG8+54SG
金のハンマーで料理とか釣りしてるバカがいるだけの話よ
2018/10/31(水) 22:33:06.57ID:o0DzM9PU
>>611
それが普通だからな
2018/10/31(水) 22:37:18.48ID:5Yfq+loR
他には、、、
若い研究者がpythonのkerasで強化学習の研究コードを書いた事例がある。
kerasは継承でカスタマイズして強化学習アプリを作るFWだけど、その継承を
上位レイヤまでズット引きずって、アル程度規模のあるアプリを力ずくで書いて
研究のため継ぎ接ぎしていったもんだから、
他のFWの継承や複合的big instance、instance間の関連性、継承による
深い依存の嵐でぐちゃぐちゃになり、もう何がなんだか分からないコードの
山になっていた。
頭のいい研究者なんだけど、ソフトウエアの方法を選択するセンスは
いまいちだったかもしれない
2018/10/31(水) 22:45:24.15ID:o0DzM9PU
>>614
えぇ!?大卒なのに!?って言ってやれw

やっぱ関係ないよなぁ。学歴は
2018/10/31(水) 22:55:03.62ID:5Yfq+loR
OOPとuml流行期にそれを煩った(ソフトウエアのセンスがいまいちない)PMの率いた
ネットワークアプリケーション開発、C++で約45000stepの事例も
どちらかというとOOPの適用失敗例だったかな。

PM自ら薀蓄をたれてC++の持つOOPの機能を駆使して実装することに
血道をあるよう指示し、似たmethodがあればどんどんスーパークラスを
設けて差分プログラミングを実践し、そのためにC++にはjavaのinterfaceが
ないからといって完全仮想関数を多用し、、、、、、、
privateメンバが後で外から参照必要だと分かればgetter/setter追加し、、、、
singletonで実質最外部変数を設けてやり取り継ぎ接ぎし、、、、

そのうちプロジェクトが遅れぎみになり手が足りないというので、人が注入されたが
もう他人があとから見てもそのコードが何をする働きのものか、どのような構造のものか
もはや俯瞰できず、こういう状態に陥るとドキュメント化しにくいのでドキュメントは省かれ、
分からないことがあれば聞いてくれれば教えるよ、と開き直られ、かけた人数の割には
全然はかどらなかった。
できたソフトウエアはかなりひどい代物だったが、
まぁ、報告書書けば検収上がる○プロだったので、一回実験したあとは特にソフトが
使われることもなく何とか丸め込んでいたようだ。
2018/10/31(水) 22:55:35.78ID:5Yfq+loR
>>615
Doctor出だよ。
2018/10/31(水) 22:57:45.31ID:5Yfq+loR
あんまり書くと特定されかねないから
ほどほどにしとくわ
2018/10/31(水) 23:08:59.41ID:qQf9WOcW
結局、オブジェクト指向が有効なのは
ある程度扱うオブジェクトの粒度が粗いレイヤーでの話だと思う。
複数のオブジェクトが複雑に相互に絡み合ってるところはlinusの話にあるような状況になるということじゃないか。
んでもってその粒度の閾値をメンバーでうまく共有するのが難しいからソフトウェア開発ってのは難しいんだろう。
2018/10/31(水) 23:23:02.42ID:7gllIN0Z
>>567
誰もあえて指摘しなかったんだろうけど、判定が逆じゃないか?
2018/10/31(水) 23:28:43.56ID:ouKAoVBK
>>617
Doctorとってるなら、自己組織化プログラミングのアルゴリズムでも開発してくれ
入力ソースコードは人間の自然言語でお願いします
2018/11/01(木) 00:54:15.84ID:6Z5KFDTM
複雑に相互にからみあったままだと作れないから
プログラマーは問題を分割して作るようになるだろうという期待も含めての
オブジェクト押しだったのではないか
2018/11/01(木) 00:56:47.77ID:ln0P+KKk
>>622
あるまとまりのある複合型データ構造⇔分割細分化
624デフォルトの名無しさん
垢版 |
2018/11/01(木) 04:07:18.72ID:PmS8KjrS
>>427
>メモリアクセス減らしつつグローバル変数減らす苦肉の策+責任分担

追加するのは簡単だけど、削除したり改変したりするのが困難ってやつだろう?

このゲームすぐ持ち物いっぱいになるな
http://dragon-quest.me/dq10/28435/
625デフォルトの名無しさん
垢版 |
2018/11/01(木) 04:10:31.95ID:PmS8KjrS
2018.01.21
もういっそのことレベル1からやり直さないか?
http://dragon-quest.me/dq10/13929/

『グローバル変数』を削除改変出来ないのなら、いっそのこと一から作り直せというのが俺の主張。
626デフォルトの名無しさん
垢版 |
2018/11/01(木) 04:19:04.23ID:PmS8KjrS
>>218
>オブジェクト指向言語と
>オブジェクト指向をごっちゃにしないように

オブジェクト指向言語つーとRubyを思い浮かべるけど、あれはオブジェクト指向を意識しなくても、
簡単にプログラミングができるように設計されたということだろう?

511 デフォルトの名無しさん 2018/10/29(月) 23:32:40.68 ID:LL+W6ENh
随意筋←implements─チンポ─implements→不随意筋
627デフォルトの名無しさん
垢版 |
2018/11/01(木) 04:32:24.08ID:PmS8KjrS
一回こっきりの家庭用ソロゲーを作成するなら、オブジェクト指向がチンポがうんたらは必要無い。

──オブジェクト指向の言語を書こうというのに、オブジェクト指向でないCで書かれているというのは意外な気もします。
まつもと「CでRubyのオブジェクト指向を作ってて、その機能はCからも使えるんですよ。
だからRubyのC実装って、Cで書かれているんだけどRubyのオブジェクト指向で書ける。
僕はこれが好みなんですが、違う人も多いみたいですね」
http://ascii.jp/elem/000/001/228/1228027/

しかしながら将来的に改変したり削除したり拡張したりする場合、『チンポ』のような多態性が不可欠。
2018/11/01(木) 05:42:22.19ID:PBz6MbCm
Ruby はオブジェクト指向で、jQuery のように関数型で、
ダックタイピング・メタプログラミングもできる

instance_eval などで、文脈によって、self を変えたりできる

webページのテストでは、Page Object のように、
ページのヘッダー・フッター・サイドバーなどの各部分を、オブジェクトにできる
2018/11/01(木) 07:30:04.81ID:xMYNwj1F
なぜDelphiへのエネルギーをC++Builderに向けなかったのだろう

Pascalじゃ人が増えないよね、いくら優れていても
630デフォルトの名無しさん
垢版 |
2018/11/01(木) 08:56:22.33ID:+p1vRE32
>>628
汚いキメラ言語。
関数型を好む人間が文脈によってself を変えたりできることを有りがたがるとでも思ってんのか
2018/11/01(木) 09:00:10.80ID:Kkuf6Nxk
思ってるけど?
2018/11/01(木) 12:01:11.80ID:0o31DM46
>>628
関数型が何かわかって話してるの? Rubyのアンチみたいだよ。一周回って。
2018/11/01(木) 12:23:58.50ID:FHbzsPL8
まつもとゆきひろみたいな神でなくてもいいから、
実際にgithubとかにソースを公開してる人の意見が聞きたい

日曜プログラマーの御託なんかどうでもいい
2018/11/01(木) 13:06:23.40ID:IcCUDTo0
githubでソース公開しても儲からない
2018/11/01(木) 18:51:36.77ID:rxPahTbx
githubに公開されている素晴らしいオブジェクト指向なプロジェクトがあればぐうのなも出ない
2018/11/01(木) 18:52:13.30ID:Kkuf6Nxk
chromeとか?
637デフォルトの名無しさん
垢版 |
2018/11/01(木) 21:08:49.82ID:PmS8KjrS
ダメなプログラマーの典型だと思う。人の話を聞かずに延々とコードを書き続けるタイプ。


859 名無しさん@ゴーゴーゴーゴー! (ワッチョイ 6e12-bDJh [111.216.20.232]) sage 2018/11/01(木) 05:47:53.61 ID:eX17QnR50
何この流れwワロタw
ここの住人なら提案広場に投稿する=無制限でマイペ公開→凸されてキレる奴がアホって認識だろ?
めんどくさくなってBL=勝てないから逃走、つまり負け犬
凸した側の自板で相手にBLされた報告は勝利宣言じゃん
わざわざスレまで来て何レスもローシュ君の逃走報告しなくても良いんやで?
リドリーの拗らせたファンか何かなの?w

真面目な話、正論でもって凸してる側のスタンスを理解できないくせに
上から目線で論破してやろうなんて無駄な努力だし馬脚を現すだけだからな
ヲチ物件としては面白いがヲチ対象の擁護レスは興醒めするわ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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