X



オブジェクト指向はオワコン
レス数が950を超えています。1000を超えると書き込みができなくなります。
0924デフォルトの名無しさん
垢版 |
2024/03/01(金) 16:38:06.02ID:gwVYOw6C
>>905
バカの一つ覚え
0926デフォルトの名無しさん
垢版 |
2024/03/01(金) 20:56:33.23ID:KQ1HmSrc
継承には感謝しかないです
0929デフォルトの名無しさん
垢版 |
2024/03/02(土) 07:16:17.19ID:7IvxOyHp
クラスとかメソッド集合としての機能だけあればいい。
その代わりに外延性と集合演算をサポートしてくれ。そうすりゃ継承みたいなクソツールは要らなくなる。
0930デフォルトの名無しさん
垢版 |
2024/03/02(土) 11:56:05.36ID:0RQhliLl
クラスとか継承とかに不満持つのは不思議なんだが、他人の作ったコードやライブラリをうまく流用出来ずに文句言ってるのか?
自分で作る分には言語の機能にあっても使わなきゃいいだけだろうに
他の人が理解できないからだ、ってのならその「他の人」に言え
0932デフォルトの名無しさん
垢版 |
2024/03/02(土) 13:55:18.96ID:ILWRlrIw
>>930
他の人になんて言えば良い?
0933デフォルトの名無しさん
垢版 |
2024/03/02(土) 13:56:06.21ID:pYjRDwip
>>930
クラス継承については全員が問題視している
Javaの生みの親ですらJavaを作り直せるならクラスを除外すると明言している
そして現実にモダンなプログラミング言語
Go、Rust、Zig、Nim、Julia、Elixirなど全てがクラスを除外している

>Javaのユーザグループミーティングに出席した際、
>James Gosling(Javaの生みの親)がメインの講演者として招かれていました。
>すばらしいQ&Aセッションの途中に、こんな質問が出ました。
>「もう一度最初からJavaを作り直すとしたら、どこを変更したいですか?」
>答えは「クラスを除外するでしょうね」というものでした。
>彼が説明したのは、本当の問題はクラス自体ではなく実装継承(extendsの関係)なのだということでした。
>インターフェースによる継承(implementsの関係)のほうが望ましいのです。
>できる限り実装継承は避けたほうがよいでしょう。
0934デフォルトの名無しさん
垢版 |
2024/03/02(土) 13:58:52.73ID:ILWRlrIw
ねえ!他の人になんて言えばいいの!?
0936デフォルトの名無しさん
垢版 |
2024/03/02(土) 14:43:33.20ID:ILWRlrIw
。°(´∩ω∩`)°。
0938デフォルトの名無しさん
垢版 |
2024/03/02(土) 15:01:00.73ID:OiLnCmP5
>>933
バカの一つ覚え乙
0939デフォルトの名無しさん
垢版 |
2024/03/02(土) 15:26:08.25ID:5qddeDE5
>>937
丁寧な説明あって助かったありがとう
実装継承は問題があるためクラス継承を使うのは辞めた方がよさそうね
そうするとクラス自体が不要なので今どきの言語にはクラスが無いわけなのね
0940デフォルトの名無しさん
垢版 |
2024/03/02(土) 17:53:44.47ID:JmA8+V/x
継承すると結合度が高くなり、基底クラスがいじりにくくなるから
implements で名前だけ基底クラスで宣言した方がよい
という経験則なわけね
0941デフォルトの名無しさん
垢版 |
2024/03/02(土) 18:23:50.25ID:C5B9iefL
>>940
違うよ
基底クラスは一切使わずにインターフェース等を使う
インターフェース等を備えていない言語ではやむをえないため抽象クラスで代替する
0942デフォルトの名無しさん
垢版 |
2024/03/02(土) 21:21:19.79ID:6JiP4UcJ
15年ぐらい前はstaticおじさんが馬鹿にされてたけど今じゃオブジェクト指向がオワコン呼ばわりかぁ

Lisp使おう()
0944デフォルトの名無しさん
垢版 |
2024/03/03(日) 12:51:43.47ID:s0HRTEoD
オブジェクト指向に毒されてるpowershwll,python,ruby等も終わりかな
F#に興味出てきたな
0945デフォルトの名無しさん
垢版 |
2024/03/03(日) 13:22:58.46ID:4PUy8wCJ
あたりまえにオブジェクト指向使ってる現代でオブジェクト指向がオワコンって言うのはプログラム作らない人
ここの板のローカルルールくらい見ましょうね
0946デフォルトの名無しさん
垢版 |
2024/03/03(日) 13:49:21.97ID:HJzrw6yi
やたらとオブシコしてたのからの回帰ってならわかる そういう意味なんだろうなと思う
0947デフォルトの名無しさん
垢版 |
2024/03/03(日) 14:11:44.50ID:0VvwZNDM
>>940
何でそんなこと言うん?
0949デフォルトの名無しさん
垢版 |
2024/03/03(日) 17:33:19.72ID:7AiWdEnV
オブジェクト指向を実践してない人ほど継承はダメだといっておられる
現実をまったく見ていない理論でしかないわけです
0950デフォルトの名無しさん
垢版 |
2024/03/03(日) 17:33:33.79ID:m+AYakYE
40年前に構造化プログラミング(いまあたりまえのプログラムをブロックモジュールに分ける概念)についてけなかった人とかも
理解しないまま「構造化プログラミングはオワコン!これからはオブジェクト指向!」ってそもそも構造化プログラミングの
発展系がオブジェクト指向だってわからずこのアホウみたいにウキャウキャしてたのかしら
0952デフォルトの名無しさん
垢版 |
2024/03/03(日) 18:26:34.56ID:zJ/qFUNe
>>951
Pythonは文脈によって意味が変わる多重継承ね!

随意筋 不随意筋
  ↖ ↗
  チンポ
0953デフォルトの名無しさん
垢版 |
2024/03/03(日) 20:11:50.76ID:InukkrXD
ついていけない人間がたくさん出てしまうパラダイムは多くの人間が使えないので自明にオワコン
0955デフォルトの名無しさん
垢版 |
2024/03/03(日) 21:35:56.29ID:9XAeTkis
>>933
Cの生みの親が作ったGoはともかく、Rustにクラスがなかったのはマジびびった。

Haskell覚えたときに、オブジェクト指向プログラミングの再利用性に疑問持って、
(実際にはしないけど)C++でクラス使わずテンプレートだけ使った方が再利用しやすいんじゃ…?とか思った。

そして最近、「スッキリわかるC言語」立ち読みしたら、C言語に(テンプレートとは違ってマクロっぽいが)ジェネリックっぽい機能が取り入れられてるみたい。
(使えないコンパイラがまだ多いのでLinuxのカーネル開発では禁止されてるみたいだけど)

あと、デザインパターンも、関数型言語で普通にしてる事がいくつか書いてて、オブジェクト指向言語だと意識しないと出来ないんだと気づいた。
(例:イテレータ、テンプレート・メソッド、シングルトン、アブストラクト・ファクトリ、ストラテジなど)
0956デフォルトの名無しさん
垢版 |
2024/03/03(日) 22:06:17.23ID:mVaeStz7
広い意味のオブジェクト指向は今でも有用であって
クラスを使ったオブジェクト指向が間違っていただけなので
GoやRustなど新しい言語にはクラスが無いけど(クラスを使わない)オブジェクト指向ですよ
0958デフォルトの名無しさん
垢版 |
2024/03/03(日) 22:27:37.47ID:9RvqtVLq
>>957
俺は「ついていけない人間がたくさん出てしまうパラダイム」の話をしているのに、お前は勝手に「俺がついていけない人がたくさんいると思っているパラダイム」の話を始めたな

俺の話を理解できていないのか、理解した上で関係なくお前のしたい話を始めたのか知らんが、それで俺にレスをつけておいて俺にオワコンと言ってくるなんて、なんてガイジなんだ
回線切って首吊って死んでくれよな
0960デフォルトの名無しさん
垢版 |
2024/03/03(日) 23:01:06.99ID:A1Y/Mibd
つまりプロトタイプベースオブジェクト指向のJSは一歩も二歩も先に行ってたってこと?
0961デフォルトの名無しさん
垢版 |
2024/03/03(日) 23:05:08.39ID:slB98rWU
>>958
おまえ生まれてから今までずっと


何言うてんねん
0962デフォルトの名無しさん
垢版 |
2024/03/03(日) 23:24:09.12ID:9XAeTkis
>>960
まあ、JSは手続き型言語の皮をかぶったLispと言われる事もあるので、
そうとも言える。

ただLLだったので大規模開発に向かなかったのかと。

関数型言語と論理型言語は大きなカテゴリーでは宣言型言語になるんだけど、
オブジェクト指向も宣言的なプログラミングは目指してるんだよね。
メソッドチェーンと関数合成は向きが逆なだけで、やってることは同じだし。


Rust初めて見たときはC系統の文法のだけど、だいぶ関数型言語に寄ったなと思った。
しかも組み込み系の雑誌「interface」でだいぶ推してるし…。(お題を解く連載が続いてる)

何事かと。
0963デフォルトの名無しさん
垢版 |
2024/03/04(月) 00:00:46.80ID:ndPj2VnY
>>962
>メソッドチェーンと関数合成は向きが逆なだけで、やってることは同じだし。
関数型のやり方によっては見た目は似せることができてもやってることは全然違う
関数型とオブジェクト指向で根本的に異なる部分
0964デフォルトの名無しさん
垢版 |
2024/03/04(月) 00:42:55.59ID:vyClhVzf
言われてみれば。
同じは言い過ぎだったね。

print関数と関数合成なんて、オブジェクト指向な人から見たらイミフだろうし。
高階関数に関数合成した関数渡すのも、オブジェクト指向じゃ関数オブジェクト(?)にメソッドチェーン渡すなんて、見たことない。(できるかは知らない)
割とよく使うのに。

あと、オブジェクト指向型言語で関数型プログラミング取り入れました!って言って
ラムダ式を強制するのがウザい。

関数型言語はセクションやら、それこそ関数合成使って、なるべくラムダ式を使わない様に進化してるっちゅーねん。
0965デフォルトの名無しさん
垢版 |
2024/03/04(月) 20:55:11.38ID:OBoWisFX
「継承」についてだが、多重継承をサポートしていない言語ならなるべく使わないほうがよい
0966デフォルトの名無しさん
垢版 |
2024/03/05(火) 14:40:45.25ID:8Aciq0Ni
>>930
不満を解消するために行動しているというのは誤解
ある行動をしなかった理由を考えている
なぜ継承しなかったのか
0967デフォルトの名無しさん
垢版 |
2024/03/06(水) 15:26:14.40ID:7MRZ6H51
>>965
逆だね
あえて逆のこと言ったんだね
0968デフォルトの名無しさん
垢版 |
2024/03/06(水) 16:32:28.41ID:QczblYLZ
>>967
Pythonは多重継承だが?
0969デフォルトの名無しさん
垢版 |
2024/03/06(水) 17:05:29.94ID:0Fz1GTqO
銀の弾丸はなく適材適所なだけなのに
なるべく使わないって判断放棄してへん?
0970デフォルトの名無しさん
垢版 |
2024/03/06(水) 17:58:25.40ID:RxG6QCQE
>>968
Pythonの話ちゃうやん
0971デフォルトの名無しさん
垢版 |
2024/03/06(水) 18:04:07.44ID:OsGV2nia
>>968
おまえそのPythonでどんなアプリ作ったの?
>>937のリンク先から引用
>多重継承の問題の1つは、同一のメソッドが1つ以上の親クラスに存在しているときに、言語がどのメソッドを用いているのかが自明ではなく、あいまいだという点です。
これが絶対悪だというのはありえないにせよ、プログラム保守する上でこの問題はよく理解できるはず
0972デフォルトの名無しさん
垢版 |
2024/03/06(水) 18:42:32.08ID:T1kDuEf9
人間に独立した人格が有るように、チンポにも独立したチン格が有る
これは親クラスと子クラスの継承関係である
チン格とはつまり「愚息」であり、自分にも他人にも成り得る
これがオブジェクトの多態性と表現される
オシッコするときのチンポは随意筋、勃起するときのチンポは不随意筋
このように時と場合によって真逆の性質を併せ持つことができる

随意筋 不随意筋
  ↖ ↗
  チンポ

自然言語処理において語の意味は文脈によって変わるので、Pythonのような多重継承が不可欠ね!
0973デフォルトの名無しさん
垢版 |
2024/03/06(水) 20:32:09.54ID:RxG6QCQE
>>972
継承関係無いやん
レスを投稿する

レス数が950を超えています。1000を超えると書き込みができなくなります。

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