続・憂鬱本系オブジェクト指向プログラマの話

https://daiyamamoto.hatenablog.com/entry/2021/01/25/110425

要するに半可通がOOPを理解出来ず,使い方を間違えて逆恨みしてるだけ.*1

https://javablack.hatenablog.com/entry/20210124/1611449197
こっちと大差ない.

2000年代から、新人教育のテキストは変わっていない。継承は積極的に使っていくべきで、オブジェクトは現実世界を模した仮想現実世界をコンピューター内に生み出す技術とされている。

完全に時代遅れの間違ったテキストを使ってるせいだな.それこそ憂鬱本級の悪書だろう.*2

90年代前半でも間違いだ.

しかし、その現実に目をつぶって、わざわざ全部をインターフェイスで分離して、追いかけにくいコードに書き換えた。これこそがオブジェクト指向ですよ、すばらしいでしょう。と。。

ダサい手続き型は残らずこの手で駆逐してやる

オブジェクト指向的にリファクタリングすることが、正義だと思っていた。

これも典型的な失敗パターンね.いったいどの本を参考にしたのだろう.

現場のリテラシーが低いだけとは言い切れない。と思うようになってきていた。

いえ,「あなたの」リテラシーが低いのです.


なんかわざとやってないか.

あまりにも不自然なくらいに失敗パターンのど真ん中を踏み抜きすぎてて,ちょっと不自然すぎる.たんなる釣り記事かな?



なお今現在お勧めするなら,おそらくMetz本.*3

https://gihyo.jp/book/2016/978-4-7741-8361-9/#toc

初心者はこの本の目次を開いて,キーワードだけでも目を通しておくことをお勧めする.

https://b.hatena.ne.jp/entry/s/daiyamamoto.hatenablog.com/entry/2021/01/25/110425

  • id:gengesa こういう主張する人たちってここ数年のトレンドを何も抑えてないから「もはやオブジェクト指向は絶対でも正義でもない」とか意味不明なこと言っちゃうんだよね。もはや常識なので異端審問すら必要なくなっただけ。
  • id:sisya オブジェクト指向が絶対の正義とは思わないが、オブジェクト指向を抑えないで体系的にプログラムを学ばせるのは難しいと思う。夏休みの宿題に朝顔を育てさせるように、大枠を掴む意味で有用な概念だと思うが。

これらに同意.

  • id:toro-chan 2000年初頭にもプログラマしてたけど、宗教じみた熱狂な人も居たかもしれないが、絶対の正義と感じたことはない。間違ってオブジェクト指向を否定する人への対抗として、熱く語ってただけだと思ってる。
  • id:sugawara1991 当時は先鋭的なアイディアだったから宗教的に普及させる必要があったけど、当たりまえになってしまったら向き合い方が自然になる話。アレルギー的な反発も必要なくなってるんだけどそっちだけ残っちゃう人もいるのね



  • id:u_1roh この記事に「お前が分かってないだけ」ていうウエメセなコメントしてる人って、2000年代当時の雰囲気を経験してる人なのかどうか気になる。宗教じみた熱狂が確かにあったと思う。

GoFデザインパターンJavaの登場が90年代中盤.

この人の言ってるのは2000年頃でも既に完全に時代遅れ.80年代でもギリギリかな.*4

2000年前後に憂鬱本みたいな悪書で洗脳された人はいたんだろう.そういう悪書を悪書と見抜くのも,カモノハシ本や Metz本のような良書を見つけてくるのもスキルのうち.それができない限りは,いつまでたっても独り立ちできないから.

  • id:radian19831019 自分も何でもかんでもインターフェースを分離するのがオブジェクト指向だと思ってた時期があった。独学だと偏った情報に触れやすいしね。だけど凝集、疎結合をどこで使うか、設計次第ですよ。

憂鬱本世代かな?*5

もちろん良書では,同時に「継承爆発」や「インターフェースの乱用」のような問題点にも触れられているんだけど,憂鬱本のような悪書ではそこがすっぽ抜けることが多い.

陰謀論でもそうだけど,難しい議論についていけなくて「継承は絶対正義!」「コレからの時代はインターフェース!」「オブジェクト指向はもう古い!次は関数型だ!」のような,単純な意見に陶酔する人たちはいるようだ.*6

しかし現実には「銀の弾丸」や「絶対正義」は存在しない.絶対正義を求める人達の耳には,正しい意見は届かない.


  • id:MtAsuka ここで言ってるのは主にOOPの話のようだけど、オブジェクト指向の神髄は業務の分析から実装までオブジェクト指向の統一された手法で一貫して具体化していけること。そんなに複雑な業務でないならまあ不要だよね。

オブジェクト指向でなぜつくるのか」かな?

こういう風に洗脳される危険を考えると,この本もかなりの有害図書だよね.

*1:とはいえ,憂鬱本のような悪書の犠牲者の場合も多いから.初心者にとっては,アレは本当に有害なのだよ.

*2: 歴史的悪書.

歴史的悪書.大事なことなので二回

*3:Rubyだけど,Matzではないので注意.

*4:80年代だとGoFやインターフェースはバズワードじゃないけれど.

*5:その前には「なんでもかんでも継承して差分プログラミング」みたいな時代もあった.

*6:釣りタイトルとしては使うこともあるんだけど.必要悪みたいなもの.