X



オブジェクト指向ってクソじゃね?
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2018/08/24(金) 13:32:09.36ID:ifygL6bT
カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、
オブジェクトの実際の型を隠蔽したりすることをいう。

偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。

一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として
「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータに
アクセスできないと解決できない問題が出てきて、結果的にデスマーチに陥るというのである。

オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で
縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」
という概念はない。

https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96
0468デフォルトの名無しさん
垢版 |
2018/10/04(木) 21:07:13.85ID:vhCji18k
弊害ちゃう元からおまえの頭が悪いだけや
0469デフォルトの名無しさん
垢版 |
2018/10/05(金) 01:42:06.04ID:GLbBoG3S
これがオブジェクト指向を吹聴していた者たちの反論か…
科学的工学的有効性のかけらも無い
0475デフォルトの名無しさん
垢版 |
2018/10/05(金) 11:10:54.95ID:HilDODP3
クソとか言っている人間の方がよっぽど
>科学的工学的有効性のかけらも無い
と思うけど
0477デフォルトの名無しさん
垢版 |
2018/10/05(金) 14:35:10.66ID:kQel6lTj
べつにオブジェクト指向の概念は関数で実装しなくてもいいんだよ?
メッセージでもいいしな。
0478デフォルトの名無しさん
垢版 |
2018/10/06(土) 00:01:51.18ID:LmyRE988
OcamlやF#のようにオブジェクト指向と関数型パラダイムを合わせて持つ言語もあるが、
内容は覚えていないけど本質的・理論的にはこの二つのパラダイムは相反するものだと聞いている。
確かに局所的、ミクロに上手くかかれた関数型の呼び出しは
型クラスのような複合構造の使う余地はもはや無く、自然なスコープで
各記憶クラスのインスタンスにアクセスを表現できるから
相反するのもうなずける話だと思っている。
OcamlやF#は詳しくないがどのレイヤでオブジェクト指向と関数型を使うかが分かれるんじゃないかな
numpyで関数の返り値が気がつくと内部クラスのオブジェクトになってた、みたいな。
0479デフォルトの名無しさん
垢版 |
2018/10/06(土) 00:23:54.73ID:wNGV+/Yb
>自然なスコープで
各記憶クラスのインスタンスにアクセスを表現できるから
この辺が気になる
オブジェクト指向プログラミングの場合は
クラス内に操作対象(変数)を封じ込めてクラス外からアクセス出来ないようにして
グローバル変数が各所からアクセスされることで無限のアクセスパターンになるというのを避けている
というのが肝なんだと自分は思ってるんだけど
関数プログラミングは難しくてさっぱり且つ入門もまともにやった事ないんだけど
状態なんかを副作用?とか呼んでなるだけ外に出す
という方法で対処する
みたいだそうなんだけど?
その辺どうなんだろうか?
少し上の方にその話になりそうな流れが有って少し期待してたんだけど
違う方向に流れたようで残念だったんだけど
0480デフォルトの名無しさん
垢版 |
2018/10/06(土) 00:49:03.56ID:LmyRE988
>>479
俺の書ける範囲で述べると、
身近な局所変数>一層外側のブロックの内部変数>。。。>大外側の大域変数
というスコープ階層は知ってるよね?

これに加えて関数呼び出しの階層
特に相似的階層構造の再帰で自然に繰り返しの表現(最終的には末尾再帰を
最適化で単純なloopに変換したコードが生成されるのだけれども)

この論理的(≠物理的)関数呼び出し階層構造では、
各階層における引数リストと返り値リストの相似的階層構造が
型クラスとその継承や委譲による階層構造のようなランダムで管理しにくいネットワーク構造としなくても
管理しやすい入れ子のスコープおよびエクステントの階層構造としてメモリ上に構築し自然に
アクセスできるイメージ

これで伝わるかな…
0481デフォルトの名無しさん
垢版 |
2018/10/06(土) 00:59:33.53ID:LmyRE988
>>480
lexical scope・extentと
関数呼び出し階層のネスト・木構造
で複雑なデータ構造の関連性が自然に細分化できる
同時に処理の細分化も速やかにできる
勉強している人にはこれで伝わると思う

型クラスとかアクセサでカプセルかとか継承とか全いらない
0482デフォルトの名無しさん
垢版 |
2018/10/06(土) 01:01:28.94ID:qfHN3zvO
関数型というかHaskellのええ所は>>260でいうパーツの切り分けが強制的になる所もあるよな
全てパターンマッチのワンライナーで関数が細かくブツ切りで出来るから後の編集しやすい
0483デフォルトの名無しさん
垢版 |
2018/10/06(土) 01:02:29.25ID:LmyRE988
ただまぁ万能ではなく、
別の弱点(副作用のアル処理の扱い、学習コスト含む)
もあるので俺はfunctionalマンセーではないけれど
0484デフォルトの名無しさん
垢版 |
2018/10/06(土) 01:31:10.16ID:LmyRE988
多態性についても文句あんだよねおれは。
あんあもの動的言語ではそもそも意識する必要も無い空気みたいなもの
それを変に応用して話をややこしくして…
まあ別途機会があれば書くかもしれないけれど。
かかないかおもしれない。

あどオブジェクト指向とその変な一時的流行で迷惑したのは
非科学的で誤ったオブジェクト指向論を信条として、それを宗教のように吹いてまわり
周りに強制し、反論すれば非難。でも自分ではたいしたソリューションのためのソフト開発できない
みたいな工程論・方法論者が跋扈して
開発者を煩わせたこと
0485デフォルトの名無しさん
垢版 |
2018/10/06(土) 01:38:18.52ID:9tCZRFgp
書籍も全部一色だったし
MSが金出してただろうししゃーない
雑誌社も何の根拠もないのにオブジェクト指向マンセーだったよね
本当に技術を見定める能力があればそれが詐欺であると気づいたんだろうな
多くの人間はそうでは無かった
0486デフォルトの名無しさん
垢版 |
2018/10/06(土) 01:41:57.53ID:LmyRE988
本当に有効な機能だけ自律して使えば有効な面もあったかもしれないけど
人間てそんなに器用じゃないし
群衆や社会問題って
チコちゃんの言う氷河期からそんなものだったのかもしれない
0487デフォルトの名無しさん
垢版 |
2018/10/06(土) 01:43:22.02ID:LmyRE988
今でもオブジェクト指向からDNNやAiにステージを移して
同じようなことが続いている
0488デフォルトの名無しさん
垢版 |
2018/10/06(土) 02:03:28.62ID:LmyRE988
でもまnumpyやtensorflow,kerasなどのFWソースをたまに眺めると
よくまあここまで練り上げたなと感心するくらい上手にクラスベースOOPをつかって
ソフトウエアの構造を表現している。そしてすごいスピードでreviseする。
べらぼうな才能と手間と時間をかけてクラスベースOOPでソフトウエアを表現しようとしている
あれは(個人的に好きではないけど)見事だとうなってしまう。
優秀な者が活躍して、採用したパラダイムが茨の道に密だとしてある水準まで力強く構築しようとしていると思う。

翻って上のレスで揚げたような日の本のオブジェクト方法論指向論者は
なんと
プアーなことか

同じOOPでも同列にみなしてはいけないんだろうな
0489デフォルトの名無しさん
垢版 |
2018/10/06(土) 02:13:25.41ID:LmyRE988
ちなみにpythonの言語仕様自体は
涙なくして語れないほどのクソだと俺は思っている

なんか文句あるか?
               ___
               /     \
             / ─    ─ \
            /  (●)  (●) \
              |     (__人__)     | <かかってこいよ
           ,.゙-‐- 、  `⌒´   ,/    おらー
        ┌、. /     ヽ ー‐  <.
         ヽ.X、- 、   ,ノi      ハ
      ⊂>'">┐ヽノ〃     / ヘ
       入 ´// ノ        } ,..,.._',.-ァ
      /   `ー''"´      ,'  c〈〈〈っ<
     /          __,,..ノ ,ノヽー'"ノ
      {          ´    /  ``¨´
    /´¨`'''‐、._        ,'\
     ∨´     `ヽ、     ノ   ゙ヽ
      ∨      ヽ _,,..-'"    `ヽ
     ∨       〈-=、.__       }
      ヽ、     }   ``7‐-.  /
          ヽ     リ    /′  ノ
          /′  , {     /   /
        {     !   ,ノ  ,/′
          !    /  /   `‐-、
        !   ,/   ゙ー''' ー---'
          ',  /
        {   }
           ゙Y `ヽ、
            ゙ー--‐'
0490デフォルトの名無しさん
垢版 |
2018/10/06(土) 07:19:55.96ID:hM5EPMW3
pythonにprivate変数はありません。
pythonにswitch文はありません。
pythonのクラス関数はselfを第一引数に
命名規則は決められたものを守りましょう
インデントはスペース4つ
括弧の書き方でsetになったりdictになったりします
一列の文字数は79文字以内

(一部言語仕様でないのも書いてるけど)利点でもあり欠点でもあるな
0491デフォルトの名無しさん
垢版 |
2018/10/06(土) 07:35:40.78ID:vpFDdLxA
>>181

まとめると:
  Python のオブジェクト指向はクソ
0492デフォルトの名無しさん
垢版 |
2018/10/06(土) 11:22:52.91ID:LmyRE988
>>490
一番クソなのは初期の段階でブロックとlexical scopeを配慮して言語設計しなかったこと
今でも引きずっている
0494デフォルトの名無しさん
垢版 |
2018/10/06(土) 13:08:17.37ID:LmyRE988
>>493
飲んで2chにポエム書くことくらい大目に見なよ
0495デフォルトの名無しさん
垢版 |
2018/10/06(土) 13:36:23.41ID:o3SQFYgr
>>492
blockは無いし頑なに追加しようとしないけど
lexical scope な言語ではあるだろ
何か勘違いしてるんじゃない?用語の意味わかってる?
0496デフォルトの名無しさん
垢版 |
2018/10/06(土) 13:43:55.83ID:LmyRE988
>>495
・関数の大外のfile scopeの変数を外部から参照させることが出来ない
classにする必要が無くてもclass objectを作ってclass変数とし無ければならない
・関数の内側は平坦なlocal scopeのみ、また外側の変数は参照のみ、更新できない(かった<3)
・block(てきなもの)がnestしてもscopeがnestしない
したがって関数bodyがでかくなると見えなくて良い遠くの変数を隠せない

>>492
で配慮していないと一言で言おうとしたのは
具体的にはこういった欠点
0497デフォルトの名無しさん
垢版 |
2018/10/06(土) 13:59:20.11ID:LmyRE988
>>495
モダンな言語なら必ず備えているコードのlexicalな階層構造と
変数のscopeの階層の明確な対応が出来ているとは
とても言いがたい
0498デフォルトの名無しさん
垢版 |
2018/10/06(土) 14:02:40.61ID:LmyRE988
さて、三連休だ、旅行に行ってくるわ。
あばよ、ノシ
0499デフォルトの名無しさん
垢版 |
2018/10/06(土) 14:04:15.02ID:o3SQFYgr
だから一言blockが無いで良いじゃん
lexical scopeは関係ない
それにpython 3だけで大抵の言語のシェアを上回ってるのに、
未だに2の批判するのも意味分からん
0500デフォルトの名無しさん
垢版 |
2018/10/06(土) 14:05:12.84ID:o3SQFYgr
>>496
>>495
>・関数の大外のfile scopeの変数を外部から参照させることが出来ない

これ意味分からんかったわ
どういうこと?
0501デフォルトの名無しさん
垢版 |
2018/10/06(土) 14:06:48.29ID:c8T9aSvT
>でもまnumpyやtensorflow,kerasなどのFWソースをたまに眺めると
>よくまあここまで練り上げたなと感心するくらい上手にクラスベースOOPをつかって
>ソフトウエアの構造を表現している。
numpy、tensorflowがオブジェクト志向?
そんな気は全くしないんだが、定義が全く違うのかな?
0502デフォルトの名無しさん
垢版 |
2018/10/06(土) 14:08:53.96ID:o3SQFYgr
それと pythonでnonlocal や global を使いたくなるケースは
根本的に設計間違ってるから、クソコード撒き散らす前に設計見直した方が良いよ
0503デフォルトの名無しさん
垢版 |
2018/10/06(土) 14:18:09.40ID:o3SQFYgr
>>501
numpyやtfの中のコードの事だろ
使う側は手続き型で書ける
tfは計算グラフを構築してから実行するから宣言型かもな
0504デフォルトの名無しさん
垢版 |
2018/10/06(土) 14:21:52.83ID:sXtVjY80
>>501
そいつはここで気持ちよくポエりたいだけだから
レス返しても有益な情報は得られないよ
ポエ逃げしたいだけの人種だから
0506デフォルトの名無しさん
垢版 |
2018/10/06(土) 21:20:49.04ID:vpFDdLxA
>>503
まとめると:
・numpy や tf は C/C++ で書かれ内部はオブジェクト指向で設計された
・それらライブラリのAPIを Python は手続き的に利用している

つまりスレ的には、「Pythonのオブジェクト指向はクソ(>>181)」であると、
Python信者が認めたわけだ
0507デフォルトの名無しさん
垢版 |
2018/10/06(土) 21:28:26.10ID:c8T9aSvT
numpyの中身は知らんがtensorflowのどこがオブジェクト指向?
ホントにコード読んでんのかよ。。
なんか胡散臭い奴しかいねーな。。
0508デフォルトの名無しさん
垢版 |
2018/10/06(土) 21:38:32.17ID:9xvvgu9Y
>>506
数式を表現するのにオブジェクト指向なんていらん
行列演算したいだけなのにオブジェクト指向なんて強制されたらクソだわ

あ、数式使わないドカタの反論は不要なのでよろしく
ドカタには分からん世界があるんだよ
0509デフォルトの名無しさん
垢版 |
2018/10/06(土) 22:10:42.51ID:vpFDdLxA
>>508
Python信者からも賛同意見を頂けるとは嬉しい限り

・次世代言語12 Go Rust Swift Kotlin TypeScript
 http://mevius.2ch.net/test/read.cgi/tech/1530664695/963/
 >> 失礼な!!Python は FORTRAN/COBOL/BASIC に代表される
 >> 伝統的な手続き型言語の正当な後継スクリプト言語、
 >> 次世代の純粋手続き型言語です
 >>
 >> 関数型?オブジェクト指向?
 >> そんなのは飾りです、偉い人にはそれが分からんのですよ(必死
0510デフォルトの名無しさん
垢版 |
2018/10/06(土) 22:21:37.35ID:84qwAd3v
節子、それ便所の…
0511デフォルトの名無しさん
垢版 |
2018/10/06(土) 23:25:06.73ID:wNGV+/Yb
>>480さんへ
479です
自分は関数型に関しては完全に素人なのでなかなかに難しいです
単純に受けたイメージだとなんか凄くモノリシックに大きくなってしまいそう見えてしまう
関数型って何時もどういう風に制御するのか解らないなぁという感じで
基本的に難しい物なので自分には理解できないという感じなんだろうと思いつつ
今回は状態を通して何か掴めるかな?
と思いましたがそんなに甘くない感じですね
何にしても回答どうもです
関数型ってオブジェクト指向プログラミングシステムより更に難しいそうなのでオブジェクト指向より使える人が増えないような予感がします・・・
0512デフォルトの名無しさん
垢版 |
2018/10/07(日) 01:21:33.80ID:Nojuqsx1
>>502
そもそも nonlocal やら global などという
スコープ宣言に限定した予約語が存在するのは
Python が(歴史上、おそらくは)唯一の存在である、
という事実を忘れてやいませんか?

言い換えると、スコープに関して Python2 以前の
新規リリースの時点から「根本的に設計を間違えていた」のがPythonなわけ
で、根本的解決を採用せず、行き当たりばったりに
nonlocal やら golobal といった泥縄式対策を採用したのがPython3
0513デフォルトの名無しさん
垢版 |
2018/10/07(日) 01:25:43.47ID:iX7g/tHs
ゴローバルってなんかカッコええやん。
ゴローさん風味が出ててさ。
0514デフォルトの名無しさん
垢版 |
2018/10/07(日) 02:05:51.72ID:dWI643/y
nonlocalってセンスがウケるなw
いっそのことnonglobalも用意したらどうかwwww
0515デフォルトの名無しさん
垢版 |
2018/10/07(日) 14:29:17.30ID:+Rd5+blg
オブジェクト指向のスレでなんで延々と特定言語の言語実装の話してんの?
バカなの?
0516デフォルトの名無しさん
垢版 |
2018/10/07(日) 18:24:53.01ID:FMwg69WX
OOPの結果としては
クラスライブラリとかは文句なしに使いやすいと思うんだけどね
String, Map, List, Set, Threadなんかは十分使いやすいよね?
その点を否定するやつはさすがにおらんやろ?
0517デフォルトの名無しさん
垢版 |
2018/10/07(日) 18:26:20.74ID:qTxqyvp+
やっぱりクラスライブラリは使いやすいよね
文字列をポインタで操作してたCの時代に戻りたくない
0518デフォルトの名無しさん
垢版 |
2018/10/07(日) 18:37:23.80ID:FMwg69WX
そうなんよね
その点で見ればOOP大成功に見える

ただ、自前でクラスやクラスライブラリを書けつったときに
とたんにゴミの山になりかねないという
0520デフォルトの名無しさん
垢版 |
2018/10/07(日) 19:18:00.94ID:zvJnD+aL
>>516
使いやすいが、そこまで一般的なインターフェイスにするまで
いろんなソフトウェアの歴史があってこそなわけだ。
ユーザー定義でそのレベルのものを用意しようとすると途端に何も進まないか
クソインターフェイスをひたすら強要される現場となる。
0521デフォルトの名無しさん
垢版 |
2018/10/07(日) 19:37:46.92ID:FoRhSX54
クラス単体はオブジェクト指向だけど結局それを使うところでは手続き型にしてしまう。
0522デフォルトの名無しさん
垢版 |
2018/10/07(日) 22:20:34.82ID:mIq+f5AO
ならC++のメソッドをすべてスタティックで書けばいい
そうすればメンバ変数も不要
スタティックのメソッドは当然メンバ変数にはアクセスできない

手続き型なら、入力の構造体と出力の構造体を関数を別で渡す程度で済むハズ
オブジェクトの状態を常に外側で管理する必要があることになる

MS-WindowsのAPIは
ウィンドウハンドラをひとつのオブジェクトとみなして
ウィンドウハンドラを経由して操作や設定を行ってる

ウィンドウハンドラも一つのオブジェクトで入力も出力もできるシロモノになってるからな
0523デフォルトの名無しさん
垢版 |
2018/10/07(日) 22:25:31.13ID:mIq+f5AO
UNIXクローンのシステム関数にもwriteやreadがある
readやwriteはファイルディスクリプタを経由して
なにかしらに読んだり書いたりする関数だからな

つまりファイルディスクリプタをオブジェクトとみなして
読んだり書いたりしてるとみなしてると考えて差し支えない

コレはC++のようなオブジェクト指向言語で継承して実現できる内容と同じとみなせる
0524デフォルトの名無しさん
垢版 |
2018/10/07(日) 22:36:06.11ID:B8+uQuvb
オッカムの剃刀の逆を地で行ってるなw
オブジェクト指向の何がダメか腑に落ちた気がするよ。ありがとう。
0526デフォルトの名無しさん
垢版 |
2018/10/07(日) 22:48:32.68ID:9pTh9QRI
>>511
モノリシックに大きくなってしまうという印象は杞憂。
むしろ関数呼び出を一行ずつ言い切りみたいにつらねた宣言的書き方に近づく
リスト = 関数 リスト;
リスト = 関数 関数 リスト;
...
見たいな感じ。
状態は、本当に必要なもの以外は自然に登場してこなくなりその分複雑さを低減できる感じ。
どうしても状態管理が必要な処理は、
副作用の排除された純粋な言語の場合モナドみたいな物を持ち出さなければならないかもしれないが
副作用も許容している言語では、手続き的書き方をして状態を管理する形になると思われ、
どうしても必要な状態管理の煩雑さを関数型パラダイムで根本解決できるとはオレ的にはちょっと考えにくい。
難易度に関して言えば確かに学習コストは若干かかるけど、
いまはJavaやC++にもStreamやfoldなど関数型的なプログラミングのための機能が大急ぎで(かなりあせっている感じ)
取り入れられつつあるのであんまり肩肘張らないで、
ttps://qiita.com/stkdev/items/5c021d4e5d54d56b927c
https://ubiteku.oinker.me/2017/05/08/purpose-of-functional-programming/
といった導入的な情報などを参考にm日々の設計・開発の
局所的なコーディング範囲でもいいから使えるとことから使っていけば技術的な視野が広がるんじゃないかと思う。
ちなみに俺はそのサイトとは何の関係もないし、functionalマンセーではない
0527デフォルトの名無しさん
垢版 |
2018/10/07(日) 22:51:20.95ID:9RTjDYv/
ミドルウェアは天才が書くから天才の好む言語で書く
クライアントコードはアホが書くからアホでも分かる手続き型で書く
開発者の能力に応じて分業可能にした功績はある
だいたい天才とアホが同じ言語使ってたのが頭おかしい発想だった
0529デフォルトの名無しさん
垢版 |
2018/10/07(日) 22:52:57.06ID:9pTh9QRI
そ、そうなのか…
なんか熱でもあるんじゃね?
0530デフォルトの名無しさん
垢版 |
2018/10/07(日) 23:03:08.28ID:zvJnD+aL
いやレイヤーや粒度によって向き不向きな言語、パラダイムがあるってだけだろ。
天才とかアホとか関係ねーわ。
まあそういう判断しかできない奴は例外なくアホだろうけれど。
0531デフォルトの名無しさん
垢版 |
2018/10/07(日) 23:07:07.43ID:9RTjDYv/
まあ例外なくアホとかいう恥ずかしい書き込みをするような奴は例外なく知的障害者だろうけど。例外なく、なw
0532521
垢版 |
2018/10/07(日) 23:12:36.26ID:4NXYL+If
staticに使い道なんてあったんだ・・・
0533デフォルトの名無しさん
垢版 |
2018/10/07(日) 23:20:21.45ID:9pTh9QRI
>>516
それらlibraryレイヤははよく練り上げられてまぁ使いやすいと思うよ。
でもよく考えてみてよ、納品を決められ短期間に仕様の策定からQAまでこなさなければならない
アプリケーションソフトウエア開発とそういった長年同じような機能のライブラリが繰り返し作り
直されてきたものは同一に論じることは無理でしょ。
それにレイヤが全然違うじゃない。
下から見れば数百個程度の機械語>言語の文法レベル>アルゴリズムのライブラリレベル
>それらを組み合わせ具体的なあるぴにための処理を折りませたアプリレイヤ>…
レイヤによって全然特性が違うんだよ。適した表現手段は当然違うと俺は思う。
つまりアルゴリズムのライブラリレベルに適した表現手段が必ずしもその上位にある
複雑な応用レベルの表現には適しているとは言いがたいのではないかということ。(ここ伝わりにくいと思う)
これは今でも俺も日々とても悩まされている問題。でもまそれはしzでんげんしょうみたいなものでしょうがないいんだよ。
誰も悪くないし。
本当に問題は、オブジェクト指向の名の下に非科学的非合理的で変な表現手段が流布し
(一部の人間が意図的に拡散させ)ソフトウエア開発の技術的水神をを後退させ混乱させてしまったこと。
俺はこの一点を問題視しているんだよ。

また飲みながらのポエムで悪いな。
0534デフォルトの名無しさん
垢版 |
2018/10/07(日) 23:22:20.26ID:9pTh9QRI
>>533 誤記多いなスマソ
しzでんげんしょう → 自然現象
技術的水神 → 技術的水準
0536デフォルトの名無しさん
垢版 |
2018/10/07(日) 23:28:24.29ID:9pTh9QRI
>>535
そんなことよりポエムでもいいからなんか内容を書けよ
なんかむかついたのかw
0538デフォルトの名無しさん
垢版 |
2018/10/07(日) 23:31:09.36ID:9pTh9QRI
OOPの幻想を追いながらゴミの山量産してて頂戴
0539デフォルトの名無しさん
垢版 |
2018/10/07(日) 23:44:00.68ID:mIq+f5AO
https://ideone.com/PErfVu
コレがオブジェクト指向なコーディング
0540デフォルトの名無しさん
垢版 |
2018/10/07(日) 23:52:58.21ID:GYr8Tket
だからねえ、凡人プログラマがいきがってOOを語るなっつーの

それなりに名が売れてる人以外、講釈垂れ禁止にしたいよね
0542デフォルトの名無しさん
垢版 |
2018/10/07(日) 23:58:46.68ID:9pTh9QRI
そしたら日本にいないぞ
>>540>>541 も 論外、対象外だし

おれはそもそもOOの講釈をたれたことは無いので自由だ。
0543デフォルトの名無しさん
垢版 |
2018/10/08(月) 00:05:22.29ID:SHTmPUE+
と低学歴知恵遅れの底辺がいってもな
0544デフォルトの名無しさん
垢版 |
2018/10/08(月) 00:08:53.96ID:YlFF3Gbm
日本人がプログラミングで実績残せないのはなぜだろうと思うけど
(まつもとゆきひろとか神レベルを除く)
講釈垂れは、1億円程度の案件でも沸いてくるんだわ
しかもたいていFランとか専門卒の地頭の悪さを自認できない語り部

俺のガンダムはさー、とか言い出す小学生と変わらんのよ
0545デフォルトの名無しさん
垢版 |
2018/10/08(月) 00:09:05.00ID:5FzXpRZO
そういう非論理的揚げ足取り未満のレスが着き始めると
ああ、OOP信者はねた切れなのかあるいは
そもそも何か問題のある人たちだったとつくづく思う
0546デフォルトの名無しさん
垢版 |
2018/10/08(月) 00:10:40.27ID:5FzXpRZO
そう言った人たちにみんなだまされ続けていたと
0547デフォルトの名無しさん
垢版 |
2018/10/08(月) 00:13:06.68ID:5FzXpRZO
>>545>>543 宛ね
念のため
0548デフォルトの名無しさん
垢版 |
2018/10/08(月) 00:13:33.24ID:YlFF3Gbm
細かいところの揚げ足取りで、議論になり得ないのも底辺の特徴ね

なので2ちゃん5ちゃんみたいな底辺8割の落書きでOOのメリットデメリットが議論できるわけがない
数年前はちょっと期待してたけど
0549デフォルトの名無しさん
垢版 |
2018/10/08(月) 00:15:48.02ID:5FzXpRZO
そうだけどそれでも決して悪いことではないと思う。
別に理想の場をもとめて誰もきているわけじゃない
しかしその一方、これもひとつの社会の縮図で
そのなかで自分も生きていくことには変わりは無い
0550デフォルトの名無しさん
垢版 |
2018/10/08(月) 00:18:20.98ID:5FzXpRZO
が、しかしだ。
オブジェクト指向ってのは実はクソだったと思う。
そして講釈をたれて変なオブジェクト指向を吹聴していた奴らはクソだった。
これは変わりない。
0551デフォルトの名無しさん
垢版 |
2018/10/08(月) 00:23:48.49ID:YlFF3Gbm
新しいものを無条件に礼讃するのはヲタの特徴だからしかたがない

問題なのはそれを実業に持ち込むバカと語り部がいることなんだよ

この業界は敷居が低いからヲタの比率が高くなりがちで、困るのは自己顕示欲が大勢な新しモノ知ってるぞヲタ
0553デフォルトの名無しさん
垢版 |
2018/10/08(月) 00:27:52.21ID:5FzXpRZO
日本のIT産業産業全体にいえることじゃん。
いま世界で絶賛ぼろ負け中だけど。
やITに限らない、はば広くぼろ負け中。絶賛衰退中。
OOP現象も同じだと思うんだよ。
純粋な技術的問題じゃないんだよね、社会的問題というか、人の問題というか。
CMMIもISO9000も
0554デフォルトの名無しさん
垢版 |
2018/10/08(月) 00:31:01.24ID:5FzXpRZO
中身のアルレス
よろしくお願いしまーす
0555デフォルトの名無しさん
垢版 |
2018/10/08(月) 00:36:06.65ID:YlFF3Gbm
俺もこの業界に長くいて新三大嫌悪感があるのが、多重請負、ISOとか監査もの、OOやDIの語り部

どれもこれも欧米被れというか、日本人が背伸びして、品質と生産性を落としてるだけだわ

そういえば技術じゃなくて社会的な問題かもね
0556デフォルトの名無しさん
垢版 |
2018/10/08(月) 00:43:44.28ID:5FzXpRZO
腹黒い奴がどう他人を操るかの手法として利用されてきたか側面はあると思う

洩れの周りでの話だけれど、OOPのカプセル化、getter/setter、
継承による(後付の)コード再利用性による開発量削減・コスト低減を社内でうたい始めた奴は
実は自分ではコードは書けず無論設計は出来ず、マネージメントもできず、忖度と口先でしのいできて
くいっぱぐれるまえにJavaの流行を察知して社内OOP論者になり、布教に励み
それが下火になるとCMMI,IPISOの流行にのってQA論者に衣替えした
0557デフォルトの名無しさん
垢版 |
2018/10/08(月) 00:47:41.87ID:5FzXpRZO
それにさんざだまされてうっかりJava信者になって
いまも問題点に気がつかず変なコード書いてる、あるいは部下や外注さんに強要して
迷惑がられている奴ら多数
これを暗黒時代と言わずしてなんというのだろうか
0559デフォルトの名無しさん
垢版 |
2018/10/08(月) 00:52:04.16ID:5FzXpRZO
んなこたどうでもいい。
結論
オブジェクト指向はクソだった
都市伝説みたいな迷信だった。
沢山の人がだまされた
以上。
0561デフォルトの名無しさん
垢版 |
2018/10/08(月) 00:58:34.19ID:5FzXpRZO
つぎに
関数型はクソだった
って言うスレが建てば一過言あんだけれどもな…
0562デフォルトの名無しさん
垢版 |
2018/10/08(月) 01:00:35.78ID:Z0JUGcFO
OOPに批判的な奴は最初から一定数いたよな
ちょろい奴を操る手法もまあ腹黒いが、批判を無力化する手法の方がもっと腹黒い
0563デフォルトの名無しさん
垢版 |
2018/10/08(月) 01:02:55.95ID:YlFF3Gbm
俺の会社では語り部は淘汰されたけど、糞コードは負の遺産として急には捨てられなくて困ってる

ロジックをトレースしづらいだけの継承とか、呼び出し順が分かりにくいだけのテンプレートメソッドとか、背伸びしまくりの知ったかぶりOO
0564デフォルトの名無しさん
垢版 |
2018/10/08(月) 01:10:27.58ID:5FzXpRZO
OOPって、それじゃあ全然ダメだったかというとそうでもなくて
頑張ればそれを使って(向いてないレイヤ・アプリでも)何とかソフトウエアを構成できたんだよ。
それはgotoを乱用してもがんばれば何とかソフトウエアを構成できたのと実は大差ないことだと
俺は思っているんだけれど。

それが厄介ごとの元。
上手くいかなかったときはOOPの理解が足りないからだとか、
低学歴には無理wとか批判されて、
そう、自分ではまともなコードををかけない奴に批判される
一体OOPは何のための手法なんだろうか
0566デフォルトの名無しさん
垢版 |
2018/10/08(月) 01:11:52.30ID:5FzXpRZO
いや名誉のために言っておくと俺は低学歴ではないw
0567デフォルトの名無しさん
垢版 |
2018/10/08(月) 01:12:22.52ID:SHTmPUE+
オブジェクト指向は低学歴にはムリ
それはあってる

オマエも含めてな
■ このスレッドは過去ログ倉庫に格納されています

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