1 名前:デフォルトの名無しさん mailto:sage [2023/08/26(土) 22:00:53.85 ID:H4l7y46b.net] 最近の言語には採用されないことが増えている
767 名前:セ [] [ここ壊れてます]
768 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 00:16:21.62 ID:X/KtyNlm.net] ついでに言っておくとRustのDeref/DerefMutも実装継承の一種なんだけどこっちはFBCPは発生しない
769 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 02:14:43.30 ID:fgSFyL+S.net] >>746 Rustには基底クラスが存在しないため FBCPも含めて実装継承に関する問題は発生しないよ
770 名前:デフォルトの名無しさん [2024/01/24(水) 12:30:29.92 ID:JqKAHMdE.net] 影響力ゼロの人がどれだけオワコンオワコン繰り返しても全く影響無い。
771 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 13:30:09.74 ID:1XOdKji/.net] それなら人の力ではなく天変地異の影響を主に想定したほうがいい
772 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 16:22:26.10 ID:XaeHtqc/.net] 妻がダイエットのために乗馬を始めたんだけど一ヶ月で10キロ痩せたよ 馬がね
773 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 12:58:37.96 ID:mbfTQf92.net] has a関係は被害者と加害者が別人で、責任の連鎖がある 鎖を切って悪い影響を0にする変更はしやすい is aは影響力を不変にする 責任の連鎖をなくして自分自身の責任とする
774 名前:デフォルトの名無しさん [2024/01/27(土) 19:38:08.87 ID:w8m8MtP7.net] 241 伝説の名無しさん sage 2020/10/13(火) 15:00:15.08 「胸がドキドキする」というのはいわば生理現象であり、抑えることはほぼ不可能だ。 月末のクレジットカードの支払額に、想像以上に可愛かったデリヘル嬢のおマンコにと胸を 突かれるのは悪いことではない。 翻って「チンポがシコシコする」というのは能動的な衝動であり、極めて不埒な責任転嫁である。 シコシコはチンポが勝手にやったことであり、決してチンポの持ち主の意向ではないという、どこぞの 政治家の「秘書が勝手にやったこと」のような言い逃れがしばしば聞かれ、あまつさえそれがまかり 通ってきたことは周知の事実である。 チンポからシコシコを奪取し、各人の掌に戻る日は果たしてやってくるのだろうか……。
775 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 22:55:15.08 ID:QdyqwSfC.net] 責任という概念自体に違和感を表明する者がよくいるが 馬クラスと動物クラスには責任の擦り合いや利害対立がなさそうなところが共感されるんじゃないか
776 名前:デフォルトの名無しさん [2024/01/27(土) 22:55:50.75 ID:BuZgAgXz.net] 令和になっても継承批判は聞きたくないね 手垢ついてるとかいうレベルじゃないぞ OOPには価値がない OOPのメリットとやらは無意味だ というふうな大きい批判が聞きたい
777 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 22:56:54.43 ID:BuZgAgXz.net] あ、>>756 は別に特定のレスにむけたレスじゃなくて ざっくりとした意見ね
778 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 23:08:28.46 ID:9xE1RMNT.net] オブジェクト指向は継承という一つの要素が終わっただけだしなあ 未だ現役すぎる
779 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 00:58:58.58 ID:stV8Z8Wq.net] 何らかの違和感の解消がオブジェクト指向のメリットだとするなら 元から違和感などなかった奴にとって無価値である
780 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 03:30:55.01 ID:z8UBzo+x.net] 5chになにを期待してんだかな
781 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 14:48:42.54 ID:EVWA08mD.net] >>756 概念的にはインターフェイスとコンポジションに発展的解消したから、オブジェクト指向はオワコンだろ。
782 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 14:56:56.93 ID:z8UBzo+x.net] インターフェイスもコンポジションも人間が簡易に理解するためのものだろ なめてんのか
783 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 15:18:10.03 ID:gBYyPSdU.net] >>761 それオブジェクトの継承が別の概念に変わっただけでカプセル化とポリモーフィズムは健在じゃん… もっとおもしろいこと言ってくれ…
784 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 16:44:30.08 ID:nAHL+G+L.net] オブジェクト指向プログラミングのコアコンセプトは「データと操作をまとめて一つの型として扱うこと」これだけ オブジェクト指向プログラミングではなくオブジェクト指向言語といった場合は ブーチの定義が普及したせいでカプセル化、ポリモーフィズム(基本はサブタイプポリモーフィズム)、継承の3点セットを基準にすることが多いが 言語機能としての継承はオブジェクト指向プログラミングに必須のものではないし ポリモーフィズムもオブジェクト指向言語特有のものではないので両方ともコアコンセプトではない
785 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 17:24:51.96 ID:EVWA08mD.net] >>763 オブジェクトのカプセル化はインターフェイスとデータを密結合するけど、インターフェイスによるカプセル化はデータと密結合しない。 オブジェクトのポリモーフィズムはオブジェクト同士が(継承関係とかで)密結合するけど、インターフェイスは継承関係とかの密接な関係を結ぶこと無しに(理想的には)ダックタイピングで多態できる。 まあ、そこまでのダックタイピングをサポートするインターフェイスとか知らんけど。 c++のコンセプトがそのまま型になったらいいんだけどなぁ。
786 名前:デフォルトの名無しさん [2024/01/28(日) 17:54:19.13 ID:uVCrPT47.net] オブジェクトという言葉と同じでカプセル化という言葉は人によって意味が違うので困る
787 名前:デフォルトの名無しさん [2024/01/28(日) 19:52:00.86 ID:cMZBK/kO.net] 70 名無しヒーリング 2021/04/26(月) 09:45:57.57 ID:jZDy/LpM 先生、実際にシコシコするのは
788 名前:`ンポでなく俺の右手だと思います。 ✖チンポがシコシコする ○ 俺の右手がチンポをシコシコする 71 名無しヒーリング 2021/04/26(月) 09:56:38.18 ID:jZDy/LpM あと、「胸がドキドキする」と「チンポをシコシコする」は比較対象になりません。 「胸がドキドキする」は「チンポがヒリヒリする」のように状態・感覚を擬音語で現しているのであって、 「チンポをシコシコする」は「胸をモミモミする」の様に人間や動物が対象に対して何かを行う行為の表現だと思います。 [] [ここ壊れてます]
789 名前:デフォルトの名無しさん mailto:sage [2024/01/29(月) 09:05:57.54 ID:MhZcn14S.net] くだらない比喩でいつまやってんだ?
790 名前:デフォルトの名無しさん [2024/01/29(月) 15:05:39.33 ID:oNy2vKqL.net] >>767 だからシコシコは男性器を擦る擬音で勃起のことではない 君は女性かな? それともシコシコが勃起を表す地方が日本のどこかにあるのか どっちにしろいくらがんばってもメジャーなコピペになれないのは大多数の人に表現がピンとこないのが原因だと思うよ
791 名前:デフォルトの名無しさん [2024/02/01(木) 21:11:10.96 ID:RS6y7MOu.net] PHPでアブストラクトやりまくってる これやってればいい ここまで来るのに2年かかったわ
792 名前:デフォルトの名無しさん mailto:sage [2024/02/04(日) 19:38:06.66 ID:/UMw8Y/Y.net] 再利用しようにもパーツに分解できない大きなプログラムのスパゲッティ化を防ぐために ひと塊のルーチンを“関数”として入り口出口を決めましょうがカリー化まで続く一方の流れで その塊をどうやって集団として機能に固めたり制御するのかを考えるのがオブジェクト指向 そういう上位レベルでの制御やメンテナンスの汎用的な考えから出てきた概念を 小さいレベルでのプログラムAの脚を車輪に付け替えるにはとか プログラムAの塊を継承してプログラムBにするのが“オブジェクト指向”なんだよ!って 鬼子でしかないC++最初に来ちゃったせいで現代に至るまで あれがオブジェクト指向だと思い込んでるおじいちゃんがですね…
793 名前:デフォルトの名無しさん [2024/02/04(日) 20:30:59.20 ID:owhn6I10.net] おじいちゃん構文丸出しでおじいちゃん批判ww しかも中身が間違いだらけとかwww
794 名前:デフォルトの名無しさん mailto:sage [2024/02/04(日) 21:58:45.40 ID:nqsMiwRK.net] インターフェース楽しいな~ 継承無しでコーディングできる~
795 名前:デフォルトの名無しさん mailto:sage [2024/02/04(日) 23:05:40.25 ID:iyTJzl7x.net] 塊って言いたいだけ
796 名前:デフォルトの名無しさん [2024/02/04(日) 23:11:46.13 ID:SuDI4pWX.net] >ひと塊のルーチンを“関数”として入り口出口を決めましょう これ現役引退してるような世代の方ですよね?
797 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 10:19:20.77 ID:z455Qu8w.net] 役割で固めるってのを忘れてる
798 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 11:38:56.86 ID:iuJxPrpx.net] 横断的関心事の意味が分からんと常々思っていたけど 役割で固めるのをやめるという意味なのかね 固めようと思ったことがない奴にとっては無意味なことだ
799 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 12:31:22.93 ID:29NJAnme.net] 横断的にシコシコする役割の塊がオブシコである
800 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 17:30:42.79 ID:UM+1T8m6.net] オブジェクト指向はモジュラリティを高めるために考え出されたものだが「どの抽象化階層のモジュラリティを高めるものなのか」という大前提を理解していないと何を見てもオブジェクト指向だと感じるようになる
801 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 23:45:04.18 ID:29NJAnme.net] そりゃオブシコするぐらいだからモジャラリティは高いだろ
802 名前:デフォルトの名無しさん [2024/02/07(水) 14:59:43.29 ID:LJRNIYaK.net] 1. 簡単な言葉を使う 頭が良い人は、複雑なことや専門知識も「簡単な言葉」で説明することができます。 この能力は、深い理解があるからできること。相手が理解しやすいように情報を整理して伝えることは思いやりでもあります。 https://news.yahoo.co.jp/expert/articles/9bb7a62121796847a941127e3d5040008fedd464 クリントン大統領にどんな強大な権限が有っても、自らのチンポがしこしこしてしまうのは止められない! class チンポ extends クリントン{ super.不適切な関係; } クリントンの再定義、クリントンの拡張された人格ということだ!
803 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 12:31:45.94 ID:1UgkqCq+.net] 世界一オブジェクト指向に忠実なメインクラスできたで class Main(): def do(): pass m=Main() m.do()
804 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 15:11:48.80 ID:g/oXQBQp.net] オブジェクト指向はオワコン 継承はよくない文化
805 名前:デフォルトの名無しさん [2024/02/13(火) 17:38:57.37 ID:TeIoV+iR.net] Template Methodパターン便利ですよ
806 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 18:33:53.66 ID:vbRTXFPD.net] has a関係は抽象度の低いクラスを参照することはマナー違反ではない is a関係は自分よりも抽象度低いクラスを継承したらマナー違反だよな
807 名前:デフォルトの名無しさん [2024/02/13(火) 19:00:08.50 ID:mLNp/E4P.net] 継承を理解してれば問題無い 理解していないけどら問題無く使える道具は存在しない つまり須く低レベルということ
808 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 19:17:02.49 ID:022XTqy3.net] >>786 俺は使えるから問題ないんだが部下や上司に無能がいると困る 全ての言語で機能ごと消去するべき
809 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 19:19:14.84 ID:cHpLMfgk.net] C/C++でいいところを無能のためにRustでわざわざメモリ管理を強制的に縛るのと一緒やね
810 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 19:54:20.90 ID:XGO25OBO.net] オブジェクト指向って>>1 みたいな頭の悪い人でもプログラミングできるようにするためにあるんだよ 難しいのは>>1 みたいな馬鹿が>>1 みたいな馬鹿のためにオブジェクト指向に則ってプログラミングする行為であり、>>1 みたいな馬鹿がオブジェクト指向で設計されたコードを扱うのは難しくない オブジェクト指向がオワコンな訳が無い
811 名前:デフォルトの名無しさん [2024/02/13(火) 20:27:17.94 ID:mLNp/E4P.net] >>787 無能がいる限り何の解決にもなってない リスクが下がったと勘違いしてるだけ
812 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 20:32:56.11 ID:VRA/nuAd.net] >>788 Rustを使えない無能がC/C++を使って穴を生み出し続けている現実を見ようぜ
813 名前:デフォルトの名無しさん [2024/02/13(火) 21:20:27.36 ID:mLNp/E4P.net] >>791 その無能がrust使ったところでろくなものは生み出せない 包丁で怪我する人がいるから包丁は悪、と言ってるのと同じ。 別に主張するのは自由だがそれで包丁が消滅することはない
814 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 03:16:18.02 ID:7f34VUqx.net] 頭の悪い人がプログラミングできるためってたまに見るけど疑わしいわ 頭の悪い人がちゃんと設計して、多態性を活用してるのを見たことがない ただメモリの自動解放とかライブラリに頼ってるだけで、 そういう利便性はオブジェクト指向とあんまり関係なくね?
815 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 06:53:24.91 ID:1rro2+lE.net] 知らないのか?今は転職ブームのせいで文系出身の頭悪いプログラマが大量発生してる そいつらのせいで言語が変わらなくては生けない時代になった
816 名前:デフォルトの名無しさん [2024/02/14(水) 08:07:28.98 ID:M2AyybwD.net] 言語が変わっても頭悪かったらどうにもならないよw
817 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 08:40:34.28 ID:y6T/tEC4.net] >>795 多少はマシになるやろ
818 名前:デフォルトの名無しさん [2024/02/14(水) 10:07:41.88 ID:M2AyybwD.net] >>796 無能じゃコンパイル通せないから動かせない つまり逆に悪くなってる
819 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 10:15:13.33 ID:Z6/Yikm0.net] >>797 無能が進捗管理で炙り出されるから全然マシ
820 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 10:46:51.26 ID:4THDuETy.net] >>797 本番段階でバグが出るよりマシ
821 名前:デフォルトの名無しさん [2024/02/14(水) 11:08:35.63 ID:t8DY/Tt9.net] コンパイル通すのが難しいと無能はコンパイル通ったからOKという感覚になるので一長一短 何事も良い面悪い面があるのに無能は片面だけしか見ない
822 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 11:22:35.02 ID:1xW2DpZI.net] >>800 最低限コンパイラの通れば多少見れるコードになってるので、有能がコードをレビューしやすい
823 名前:デフォルトの名無しさん [2024/02/14(水) 12:27:44.94 ID:M2AyybwD.net] >>798 それは言語の役割じゃない 全然マシでもなんでもなくて草
824 名前:デフォルトの名無しさん [2024/02/14(水) 12:31:09.06 ID:M2AyybwD.net] >>799 どっちでも一緒 納品できないのに「本番でバグが出るよりは良い」と言い張るのはアタオカ
825 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 13:02:59.82 ID:qQWVhIbb.net] 現実は納期というものがあるから効率重視でCC++使って適当に作れたほうがありがたいんだよなあ バグなんてある程度は知らんぷりしていい わざわざRustを使って完璧を求めるのは無駄
826 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 13:03:09.87 ID:OE64F1T2.net] 長所も短所も両方知っている知識人を理想とするのは 商売とはあまり関係ない理想だ 商売を重視しないのであれば長所も短所もわりとどうでもいい
827 名前:デフォルトの名無しさん [2024/02/14(水) 13:18:52.38 ID:U1pcKTg+.net] >>801 コンパイルを通しやすいかどうかとコードが見やすくなるかどうかに正の相関関係は無い 加えてコンパイルを通しにくくなればなるほどコンパイルを通すための手助けが当然必要になる 「身の丈に合った言語を」 by 萩豚
828 名前:デフォルトの名無しさん [2024/02/14(水) 13:20:42.45 ID:eD+V22zq.net] Rust習得できない馬鹿が書いたC++コードの保守、やりたくなさすぎる
829 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 13:57:57.05 ID:Z6/Yikm0.net] >>803 本番でバグとか酷い炎上案件。 クライアントにとっては悪夢ですなぁ。 納期遅れのほうがまだ見える分マシ。
830 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 13:59:03.81 ID:AmCG1+WQ.net] >>806 コンパイルできる人材を確保できるかどうかは中途採用ガチャしまくればいける コンパイルできねえやつは捨てる、それだけだ
831 名前:デフォルトの名無しさん [2024/02/14(水) 14:56:27.36 ID:8lIAACZZ.net] >>807 だれがあなたを頼るの?
832 名前:デフォルトの名無しさん [2024/02/14(水) 15:03:18.56 ID:8lIAACZZ.net] >>808 都合良く「納品はできる」妄想を前提として話を進められるならどうとでもなる 結局無能でもどうにかなるなんて全く現実的ではない、rust信者の詐欺的妄言なのでどっちでも一緒
833 名前:デフォルトの名無しさん [2024/02/14(水) 16:53:53.91 ID:ry67cZRi.net] >>809 技術者をまともに育成する術も評価する術も持たずガチャするしか脳の無い無能企業には有能なやつほど寄り付かない そうなると渋いと評判の某ガチャUR排出確率並み(0.3%)になるから100回回しても有能1人雇える確率は3割にも満たない 運良く雇えてたとしても数年以内に転職して抜ける確率は逆に8割以上 身の丈に合わない選択は破滅への近道
834 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 17:49:37.27 ID:kwXXlBt4.net] どこまでオブジェクト設計するべきかが良くわからん 例えばトランプゲームを作ろ
835 名前:うとした時のカードについて 数字込みの絵柄と表示用の画像くらいしか必要ないと思うけど わざわざCardクラスCardDeckクラスとかを用意する必要があるの?とか [] [ここ壊れてます]
836 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 18:11:12.61 ID:J37aOx7P.net] Deckが内包するデータはCardの配列のみだとしても シャッフルやドローなんかの操作を配列として外から行うより Deckとして備えてる方がシンプルに保てそう
837 名前:デフォルトの名無しさん [2024/02/14(水) 18:32:43.17 ID:xYPMwtK4.net] >>813 クラス以外のユーザー定義型がないならオブジェクト指向よりの作り方でなくてもCardクラスやCardDeckクラスくらいは作るんじゃない? それらにメソッドを生やしてゲームルールを実装していくのか それともそれらをデータとして扱う関数を別のところに書くことでゲームルールを実装していくのか それぞれ良い点悪い点があるので一度両方で作ってみるといいと思う
838 名前:デフォルトの名無しさん [2024/02/14(水) 18:36:07.49 ID:xYPMwtK4.net] >>814 DeckモジュールとかGameモジュールにドローやシャッフルなどのDeckを操作する処理をまとめておくってのでも別に不都合ないよね?
839 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 18:44:53.20 ID:OE64F1T2.net] enumがオブジェクトではない言語では迷うが すべてがオブジェクトだったらenum Cardでいいのでは
840 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 19:19:39.63 ID:g/tbjQoZ.net] スートが切り札(トランプ)に変わるようなゲームでは 判定で「こいつはいまトランプだから」で例外処理するのか カード側で「いまトランプです」したらいいのかの設計の話だわな
841 名前:デフォルトの名無しさん mailto:sage [2024/02/15(木) 12:39:33.69 ID:q4O0G3u8.net] >>793 >ライブラリに頼ってるだけで そのライブラリに頼ってるだけを実現できるのがオブジェクト指向の功績だと思ってる 昔のWin32APIみたいなライブラリとインスタンス生成してからインスタンス.メソッド形式で利用するライブラリと比較したらライブラリの扱いに対するお手軽&簡単度合いがぜんぜん違う
842 名前:デフォルトの名無しさん mailto:sage [2024/02/15(木) 19:49:13.54 ID:b088ZsVf.net] いやwin32apiだろうがapiそのものがすでに「オブジェクト指向」だから 手軽とか簡単とかはオブジェクト指向とっくに通り越してそのように改良された結果ってだけ このスレ見てると「オブジェクト指向」が特別なナニカだと思ってる人も多くてアランケイも困惑するよw
843 名前:デフォルトの名無しさん [2024/02/15(木) 20:05:57.93 ID:Zy70aZMD.net] 「オブジェクト指向」が特別なナニカじゃないのであれば、「オブジェクト指向プログラミング言語」は「プログラミング言語」でよくなってしまう これまで「オブジェクト指向プログラミング言語」という言葉を使った人間はとんでもないガイジということになる
844 名前:デフォルトの名無しさん [2024/02/15(木) 23:20:24.51 ID:ibzEiIzs.net] 20年前のあれは何だった?どいつもこいつもオブジェクトだーと喚いてたくせに。屑どもが
845 名前:デフォルトの名無しさん [2024/02/16(金) 00:12:23.56 ID:L7DYjGhm.net] ここまでくると糖質っぽいな オブジェクト指向はオワコンと言い続けて何年経過してんだよw
846 名前:デフォルトの名無しさん mailto:sage [2024/02/16(金) 06:40:28.27 ID:HTdB8AjD.net] オワコンにオワコンと言ってなにが悪い
847 名前:デフォルトの名無しさん mailto:sage [2024/02/16(金) 08:47:18.11 ID:hfFr1EkU.net] オブシコオhル けど、脳汁が出るのは、なんでもアリなC++なんだよなあ
848 名前:デフォルトの名無しさん [2024/02/16(金) 08:49:55.02 ID:TCjahJiL.net] これこれ オウムみたいな感じ はなから議論をする気が無い オワコンオワコン繰り返して気持ちよくなるだけ
849 名前:デフォルトの名無しさん mailto:sage [2024/02/16(金) 17:46:12.70 ID:/xV361+6.net] 非論理的=気持ちよくなる 専門用語を回避する現象?
850 名前:デフォルトの名無しさん mailto:sage [2024/02/16(金) 23:46:53.13 ID:7B7dg9RO.net] 自分がオブジェクト指向で挫折したから あんなの一時の流行りでしかない!って喚いて溜飲を下げようとしてるけど そもそも理解しないで挫折してるから「あんなの」が永久に 90年代のC++の時の“自動車の車輪を付け替える”からアップデートしない
851 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 01:14:52.71 ID:sBa/KHO/.net] アップデートという目標は分かったが現時点では違う目標を持つ者にとって ふつうに考えると目標を達成するためには目標を変更しないのが合理的 問題は、どうすれば永久に合理的であり続けるのをやめられるか
852 名前:デフォルトの名無しさん [2024/02/17(土) 11:49:08.21 ID:f/G7Vx68.net] オブシコで挫折してない人なんていません!!
853 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 12:25:59.71 ID:hmS5aeTe.net] 俺がいる 中途半端ってぶっちゃけ怖いよね >>826 議論っていうか、使えと言われた言語・ライブラリ(SDK)使うんだからね結局 好き・嫌い、とかって雑談してりゃいいんだよ 俺は、継承を使いこなせるいい漢になりたいぜ
854 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 13:09:34.49 ID:SNH81JMI.net] オブジェクト指向だろうがオブジェクト指向言語だろうが語りたいのならマ板でやれ 雑談どころかここで議論とか正気かよ。議論してもプログラム技術の役に立たないくらいわかるよな
855 名前:デフォルトの名無しさん [2024/02/17(土) 13:51:00.19 ID:f/G7Vx68.net] >>831 はっきり言う、お前はオブシコのことを何もわかってない >>832 お前もだ オブシコは挫折してからが始まりだ
856 名前:デフォルトの名無しさん [2024/02/17(土) 13:53:44.82 ID:f/G7Vx68.net] intではなくてMoneyだ Moneyを継承してYenを作れ stringではなくてAddressだ Addressを継承してPrefectureを作れ 本物のオブジェクト指向を経験しろ ぜったい挫折するから
857 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 14:31:27.57 ID:JQbQK4DF.net] >intではなくてMoneyだ 当たり前 >Moneyを継承してYenを作れ 意味不明 オブジェクト指向で作るならYenはMoneyの一属性 >stringではなくてAddressだ 当たり前 >Addressを継承してPrefectureを作れ 意味不明 オブジェクト指向だから挫折したのではなく間違ったオブジェクト指向を学ぼうとしたから挫折したんだな
858 名前:デフォルトの名無しさん [2024/02/17(土) 16:18:56.35 ID:f/G7Vx68.net] ↑ オブシコ厨ってこんなシロートばかりなんですよ
859 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 17:52:41.44 ID:chUgujl0.net] >>832 ムに置いときゃ、ムに資するネタがまじるけどね 俺は後から来たけど
860 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 17:56:31.13 ID:oJgej1EK.net] >>835 MoneyにbaseCurrency問い合わせると“Yen”って返すように作るよなぁオブジェクトなんだから
861 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 19:30:44.83 ID:2JOYf9WZ.net] >>832 迷惑だからマに技術ネタ誘導すんな。
862 名前:デフォルトの名無しさん [2024/02/17(土) 23:59:55.91 ID:RsjvkJW8.net] >>824 本当にオワコン化したものは話題にすらならんよ 今どきポケベルはオワコンなんてスレ建てる奴なんていないだろ? つまり、そういうこと
863 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 02:06:18.29 ID:jMiNlzvA.net] ポケベルを話題にした自分自身を否定するより オブジェクト指向にファイティングポーズする方がよっぽどポジティブじゃないか
864 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 06:52:31.86 ID:AGcN1oEW.net] APIやライブラリを一切使わず、自分自身で「処理をしてオブジェクトを返す部分」も作らずにどんなプログラムが作れるんだよ 現代でプログラム書いてるやつは意識しなくても使うしか無い手法じゃないか 使わずにHelloWorldすら書くのは超難しい
865 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 07:05:06.57 ID:BTJ6Zkap.net] システムコールだけでHello Worldやるの無茶大変だった思い出
866 名前:デフォルトの名無しさん [2024/02/18(日) 10:14:36.02 ID:5IBLHZNo.net] API使ってればオブジェクト指向とか頭になんか湧いてるだろ
867 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 10:16:24.04 ID:BTJ6Zkap.net] >>844 そんなこと言われてなくね?
868 名前:デフォルトの名無しさん [2024/02/18(日) 11:06:51.79 ID:18G3CSzu.net] 「APIそのものがオブジェクト指向」だと主張してるやつはいるね>>820
869 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 12:13:41.03 ID:RIbrKfRB.net] とりあえず1000行くらいベタ打ちでプログラム書いて 書いたのをリファクタリングついでにクラス分けして またダーッと書いてって繰り返せばいいよね?
870 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 12:17:44.83 ID:NoFg1fuK.net] >>847 今世紀に出てきた様々なプログラミング言語はほとんどがクラスをサポートしていない クラスは役に立たず害が大きいとの共通認識があるため
871 名前:デフォルトの名無しさん [2024/02/18(日) 13:06:18.47 ID:2M17hFnk.net] >>848 バカの一つ覚え
872 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 14:18:51.57 ID:jMiNlzvA.net] APIは今でも関数とグローバル変数 stdinとかstdoutとか グローバル変数が一番最初にオワコン化し、オブジェクト指向は二番目以降と想定された
873 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 16:50:37.61 ID:g+lvGDPK.net] オブシコで書かれたAPIとかライブラリってのならある。ってなら書いた COMとかね 原理的には、ラッパがあれば、避けることはできる
874 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 19:30:26.46 ID:K/iFT05J.net] これで動くOSあるなら分からんでもない OS.boot()
875 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 20:19:38.98 ID:FiBYienL.net] 低レベルはまた違うでしょ ってだけではなんなので、ちょっとだけ手を動かしたよ https://github.com/tianocore/edk2/tree/master/MdeModulePkg/Library/UefiBootManagerLib
876 名前:デフォルトの名無しさん [2024/02/19(月) 01:20:09.81 ID:nPOSkLxV.net] >>848 事実認識ができてない JavaScript、C#、Python、Ruby、C++、Java、Kotlin クラス扱える言語はいくらでもあるし、そもそもクラスや継承を使えない=オブジェクト指向じゃないって訳では無い クラスはお前みたいな馬鹿には使いこなせないからクラス以外でオブジェクト指向な書ける方法が模索されたんだよw
877 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 01:36:14.67 ID:1O4I6mF/.net] どの言語かに関係なく クラス継承でプログラミングするやつはバカしかいない
878 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 02:23:23.32 ID:T5tehfX7.net] 特定のルートクラスに縛られる継承はだいぶむかしにオブジェクト指向のあまり良くない実装として 仕様を残しながら使わない方がベターになってるわな 使うクラスをオブジェクトとして別個にクラスに組み込むコンポジションの方が主流 「継承というのがオブジェクト指向!」とかいつの時代のおじいちゃんだよ
879 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 02:37:07.20 ID:TafNbO5j.net] ↑2000年代で止まってるオッサン
880 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 07:21:21.34 ID:94Ygw4Cz.net] あの当時の人なら一度は、オレオレプロジェクトで継承を使いすぎた経験ってあると思うのね
881 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 08:07:57.52 ID:GOMVHdKw.net] 継承しまくって訳わからん事になるなら新しいクラスにした方がいいと思うけどなあ File -◯◯FileBase --◯◯FileStructure ---◯◯FileModel ----◯◯FileInstance みたいなのよりFile2を定義し直した方が遥かにマシ
882 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 08:13:47.31 ID:Y0uHI/e6.net] ファイル名なんかもそうだが File_20240219 のようなユニークIDつけておくといくら被っても困らない
883 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 09:09:06.20 ID:94Ygw4Cz.net] 重複(安易なコピペ)コードはちょっとでもいけませんってきつく言われて、 それを避けるように継承をテキトーに使いすぎた記憶はあるんだよね is-a 原則を守って、責任者が正しく設計しましょう
884 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 09:20:08.17 ID:94Ygw4Cz.net] 似たようなコードが出るなら、サブルーチンにすりゃよかったんだけどね あの頃は名前空間をあんまり使いこなせてなくて、なんでもクラスに押し込みゃいいと思ってた
885 名前:デフォルトの名無しさん [2024/02/19(月) 09:26:15.27 ID:5htgrxhu.net] >>855 と、継承すら理解できない素人が申しております
886 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 10:20:44.59 ID:stH4FHBR.net] Rustが重複コードは二度と書かないってポリシーだっけ 最初の一歩踏み出すのにとんでもなく時間かかりそう
887 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 10:25:51.91 ID:Xye0EN8a.net] 何をもって重複コードとみなすのかなぁ たまたま別の機能で同じコードになったとかは まとめると後で痛い目に遭うよな?
888 名前:デフォルトの名無しさん [2024/02/19(月) 10:35:06.92 ID:62DfF/9H.net] >>864 Rustは書かなきゃいけないボイラープレートが多いから重複コードも多い コピペ継承とマクロ継承がよく使われてる
889 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 10:54:32.58 ID:VWZKMKLS.net] c++ コンセプトをそのまま変数のインターフェイスに使えればなぁ、と思う事はある。
890 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 11:18:30.32 ID:W0+AhDGC.net] >>864 Rustも他の言語と同様に重複コードがあれば関数として切り出すだけだよ その時に異なる型に対してもトレイト境界により安全にジェネリック化がしやすく多用されてるね >>866 Rustは継承ではなく合成と移譲をするためその宣言は増えるけどそれらを重複コードとみなすのはありえないよ
891 名前:デフォルトの名無しさん [2024/02/19(月) 18:18:36.14 ID:NzCkUvZW.net] >>868 どういう構造で作られているかは重複コードとみなすかどうかには一切関係ない 変更をロックステップで適用しなければいけないのならどういうものであれそれらは重複コード
892 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 00:04:11.84 ID:LUfJNkJd.net] スマポみたいな機能の重複回避には昔は継承を使った 今はジェネリクスを使う 昔の方法ではスタックのint型とヒープのInt型を統一できない
893 名前:デフォルトの名無しさん [2024/02/20(火) 02:06:05.00 ID:u4Uobn3a.net] すべての型に対して全て同じ実装でよければジェネリクスで良いが一部の型でカスタマイズが必要になるといろんな障害が出てくる
894 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 05:49:02.76 ID:/gOXQNrB.net] >>871 それは普通によく起こることだが全く問題ない その型ごとの差異の機能を合成するだけで対応できる もちろんジェネリクスのままでよい
895 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 06:10:00.38 ID:jusHGvnd.net] インタプリタならそれでいいんだけどね。。(個人の感想です
896 名前:デフォルトの名無しさん [2024/02/20(火) 10:28:59.91 ID:EDso4HRp.net] 一部の型でカスタマイズが必要な場合にジェネリクスを使おうとすると将来を見通したカスタマイズポイントを最初に確定しておく必要があって多くの場合現実的ではない 要はOCPを満たせないので変更に対して弱く保守性の低いプログラムになる 加えてRustではcoherenceの制限だったりspecializationやHKTが未サポートだったりで使える状況がかなり限定されている
897 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 10:53:42.40 ID:C9p4KSn1.net] >>873 Rustでも>>872 の「その型ごとの差異の機能を合成するだけでジェネリクスのまま対応」できるよ Rustは必要な機能のトレイト境界を指定することでコンパイル時点で静的にジェネリクスでも安全に呼び出すことが保証されるよ 呼び出し方法は静的ディスパッチによる単相化またはvtable利用の動的ディスパッチどちらも選択できるよ
898 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 10:57:44.32 ID:cggt5bnJ.net] そもそもRustが大規模開発にゃ向いて無い件
899 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 11:08:20.16 ID:C9p4KSn1.net] >>876 大規模開発もできるように作られたRustについて真逆のウソはよくないよ 既に大規模開発で採用しているGoogle Microsoft Amazonといった大手IT企業たちが 共同でRust Foundationを設立して資金を出して安定した環境でさらなる開発が進められているよ
900 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 11:10:21.09 ID:z4RtXIEV.net] それってまだ到達して無いって事じゃね?
901 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 12:20:44.40 ID:ShtLDmLT.net] 既にクラウドやCDNなどネットインフラは次々とRust製へ変わった ソース >【クラウド世界トップシェアAWS】 >https://japan.zdnet.com/article/35183866/ >Rustで構築されたAWSサービスの例としては、 >コンテナーアプリ用のサーバーレスプラットフォーム「Lamba」を支える「Firecracker」、 >「Amazоn Simple Storage Service(S3)」、 >「Аmazоn Elastic Compute Cloud(EC2)」、 >コンテンツ配信ネットワーク「Аmazоn CloudFront」、 >LinuxベースのコンテナーOS「Bottlerocket」などがある。 >【CDN世界トップシェアClоudflare】 >https://www.publickey1.jp/blog/22/cloudflarenginxrusthttppingoracdncpu31.html >CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、 >同社自身がRust製のHTTPプロキシである「Pingora」を開発し利 用していることを明らかにしました。
902 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 13:22:34.01 ID:LUfJNkJd.net] 大規模開発以外はオワコンゆえに構造化プログラミングはオワコン というのがオブジェクト指向の原点なのでオワコン論法を今更やめられない
903 名前:デフォルトの名無しさん [2024/02/20(火) 13:26:48.23 ID:oBR9eIxF.net] >>877 そのどれもが大規模開発じゃ無いぞ 使われてるがチームは数名だぞ
904 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 13:36:25.43 ID:AU1Zrlfs.net] 数名で各ネットインフラをRustで開発できるなら今後はRustでいいな
905 名前:デフォルトの名無しさん [2024/02/20(火) 16:28:18.46 ID:ZAWp74Ua.net] 「うちは大規模開発でやってる」という発言が出ないで、他人の情報に反応してそういう結論に切り替えるってことは つまり自分らでは使ってないってことかいな
906 名前:デフォルトの名無しさん [2024/02/20(火) 16:45:43.34 ID:rm//dl54.net] できるできる詐欺が横行してるな
907 名前:デフォルトの名無しさん [2024/02/20(火) 18:35:02.11 ID:pzacWR0B.net] 大規模開発は人数揃えるのが何より大切だからな COBOLかJava以外ありえない
908 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 20:51:51.45 ID:lRk+yPyb.net] 全部できるよ
909 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 14:43:22.45 ID:Z35fBDP9.net] MVCで入力処理ってどこにおくべき? AIとかに聞くとCに置けって言ってくるけど 移植(ライブラリ変更等)時に描画系入力系を まとめてVに置いておくと楽だと思うんだけど
910 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 14:46:34.08 ID:QZ7TjEE8.net] いまだにMVCとかやってるから海外のアプリに勝てないんだよな
911 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 15:34:28.90 ID:C622TR9G.net] M: 変数 V: public関数 C: private関数
912 名前:デフォルトの名無しさん [2024/02/21(水) 16:02:41.28 ID:IVa7P8gb.net] >>887 MVCといってもクライアントサイドのMVCとサーバーサイドのMVCで考え方が違う また入力処理と言っても人によって指すものが違うので具体的にどういう処理を入力処理とみなしているか書かないとわからない さらに移植とライブラリ変更は一般的に違うものなので想定状況が伝わらない
913 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 17:11:10.76 ID:RdIBo6ag.net] M: member V: virtual C: constexpr // 空目
914 名前:デフォルトの名無しさん [2024/02/21(水) 18:43:28.52 ID:1mshJDzd.net] Mutable Virtual C++
915 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 20:19:29.17 ID:ryHNx0AS.net] 用語や形にこだわるより先に仕様通り動くもの作れ。くだらないこだわりで何も始められないのはただのアホ
916 名前:デフォルトの名無しさん [2024/02/21(水) 21:53:18.35 ID:gKvdV+n9.net] 唐突なストローマン論法で草 雑魚味が濃すぎる
917 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 21:58:52.64 ID:1UKYnLzP.net] >>887 元々は移植性のためにモデルはそのまんま環境と切り離した処理そのものを ヴューは人間の目に触れる画面レイアウト周り、そしてコントローラーは それらを繋ぐインターフェイスとして実装という考え方なので ゲームをPC、コンシュマー、モバイルと移植します画面周りはVです 操作されるゲームの中身はMです、つなぐ部分はCです …ん?マウスと十字キーとタッチパネル対応はどこまでがCだ?ってなるけど AIに聞けばテンプレどおりそら「Cに分けなさい」言われるわな
918 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 22:04:57.80 ID:Ufq19E/Q.net] ゲームとビジネスアプリとでは違って来るよな ゲームなら🎮や⌨はCだが、ビジネスアプリでは単にVの付属物だったりする
919 名前:デフォルトの名無しさん [2024/02/21(水) 22:11:27.33 ID:UHHgkSfj.net] うそやん マウス対応やタッチパネル対応はViewやぞ AIに聞いてもそう答えるぞ
920 名前:デフォルトの名無しさん [2024/02/21(水) 23:59:03.36 ID:anjrCapC.net] 「入力」の抽象度の違い ビューに依存した入力とそこから一段階抽象度が上がったビューに依存しない入力がある それを認識できてればどこに含めるか迷わない
921 名前:デフォルトの名無しさん [2024/02/23(金) 11:08:19.40 ID:SaGFiexu.net] https://twitter.com/mayappy0627/status/1725074809883898273 M a y a ♡🏳⚧ヽ(๑╹◡╹)v🏳🌈 @mayappy0627 「シスヘテロ男性が女湯に入りたい目的で嘘をついて診断書を取得し性別適合手術を受ける可能性がある」 という言説がいまだに流れている様だが 女湯入ってオカズ目に焼き付けてもチン◯ないからシコれませんのでね。つまり男性的快楽は得られないという結末の一つさえ想定できないんでしょうかね? 午後5:54 · 2023年11月16日 · (deleted an unsolicited ad)
922 名前:デフォルトの名無しさん mailto:sage [2024/02/23(金) 11:14:17.40 ID:GPv4EW4D.net] きんたま切り落とした時点で男性ホルモンは著しく減衰して性欲は無くなるよ🥲
923 名前:デフォルトの名無しさん mailto:sage [2024/02/23(金) 11:34:54.51 ID:QK/ZoJ33.net] class Man(Human): ... def do_chinko(): if (chinko is None): return None return finish() ...
924 名前:デフォルトの名無しさん [2024/02/28(水) 21:12:31.15 ID:igsDoIyP.net] >女湯入ってオカズ目に焼き付けてもチン◯ないからシコれませんのでね 人間に独立した人格が有るように、チンポにも独立したチン格が有る これは親クラスと子クラスの継承関係である チン格とはつまり「愚息」であり、自分にも他人にも成り得る これがオブジェクトの多態性と表現される オシッコするときのチンポは随意筋、勃起するときのチンポは不随意筋 このように時と場合によって真逆の性質を併せ持つことができる 随意筋 不随意筋 ↖ ↗ チンポ 自然言語処理において語の意味は文脈によって変わるので、Pythonのような多重継承が不可欠ね!
925 名前:デフォルトの名無しさん mailto:sage [2024/02/28(水) 21:59:59.89 ID:N6In+Wna.net] 機能するかどうかだけが問題で、欲求があるかどうかはあんまり関係無いよな
926 名前:デフォルトの名無しさん [2024/02/29(木) 17:11:51.40 ID:lYDtPhZw.net] オブジェクト指向では、オブジェクトの「機能」を意識することが大切ね! >>903 >機能するかどうかだけが問題で オブジェクト指向(OOP) は、データとそれに関連するメソッドを 「クラス」という単位でまとめて管理する開発手法です。 このアプローチにより、開発者は複雑な機能も再利用可能なモジュールとして効率的に構築できます。例えば、 新しい機能を開発する際、既存のクラスから必要なデータを取得し、必要に応じて新しい機能を追加することが可能です。 https://zenn.dev/cloud_ace/articles/29748ac0537c7f
927 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 17:34:03.72 ID:l9BYiy+8.net] モダンなプログラミング言語 Go、Rust、Zig、Nim、Julia、Elixirなどは クラスおよびその継承を言語仕様から排除しておりクラスは存在しない 各々の言語は全く異なる方針を採っている言語だがクラス排除だけは全てが同じ方針である クラスとその継承は悪手であるとプログラミング言語界では結論が出ている
928 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 18:33:41.13 ID:j2QgmuXb.net] むしろ、何段も継承されてわけわからん事になるのが嫌われてるだけなので swiftなんかはfinalつけてサブサブクラス禁止できるようにしてるな
929 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 18:44:02.92 ID:SAazNRBP.net] こんなスレで御託長文書くのはプログラム作れない人
930 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 18:55:21.40 ID:8i6X/khC.net] 悪手と言われると、極めたくなるんだよなあ
931 名前:デフォルトの名無しさん [2024/02/29(木) 21:12:27.90 ID:zvBPwraZ.net] >>905 クラスと呼ばれるものがないだけで メソッドを生やせる構造体も継承も Elixir以外のすべての言語に存在する 君が無知なだけ
932 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 21:41:50.06 ID:PlWfF7KT.net] クラスが存在しないことが最重要だからクラスを採用しない言語が増えてるんだよ クラスは間違った手法『具象型から具象型への継承』となる禁忌のクラス継承を伴うからね オブジェクト指向に必要なカプセル化は構造体などでもちろん可能だから オブジェクト指向にはクラスは不要だよ そしてインターフェイスや型クラスなどによる正しい手法『抽象型から具象型への継承』が代わりにあればよい モダンな各プログラミング言語はそれらの方針をとっている だからクラスが採用されてないんだよ クラスは悪
933 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 22:35:54.39 ID:8i6X/khC.net] 継承に親兄弟を殺された人がいるようだが 世界は残酷なのだ
934 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 22:42:52.64 ID:PlWfF7KT.net] 悪い→『具象型から具象型への継承』←クラス 良い→『抽象型から具象型への継承』←インターフェース・型クラスなど
935 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 22:58:22.40 ID:eayaXhXN.net] 要は個人開発レベル小規模webサイトレベルなら継承の類不要?つうかDIだけでは駄目なん?
936 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 23:10:15.09 ID:M4AFeBSO.net] 規模にかかわらず同じ 抽象型からの継承は問題ない クラス継承はダメ
937 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 08:38:11.92 ID:FDcCyCi3.net] >>914 「抽象型の仕様が安定している限り」な。 抽象型の改変が入ったらインパクトが大きい。
938 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 08:59:14.79 ID:PeOPXftI.net] そこでダックタイピング(の併用)だな うん、継承一本ってのは、人類には早かった
939 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 09:08:35.51 ID:JrOItvM9.net] クラス継承は具象型からの継承なので多重継承の問題が発生する悪い方法だが 抽象型からの継承は多数あっても合成となり良い方法 >>915 抽象型は各機能毎に細かく多数用意されて合成して使うためそのような問題が起きない 抽象型の改変とは機能を変えることになるため別の抽象型として並行して扱える
940 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 10:31:31.13 ID:Lv7uqw7J.net] >>917 なら設計の初期に細かく多数の抽象型を決めなきゃいけない、ということになるわな。 未来を予測できる天才でもなければ厳しいな。
941 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 10:32
] [ここ壊れてます]
942 名前::36.36 ID:YMlxHHtw.net mailto: まあ、たいていのクラス設計は 製造終盤になると跡形も無いんだがな [] [ここ壊れてます]
943 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 10:56:06.21 ID:67BTULI7.net] >>918 クラスはピラミッド型の階層構造となり改変で他へ影響が大きく出る問題があり クラスは具象型なのでそれ自体がメンバ変数(フィールド変数)を持ち途中階層のクラスも持つため改変が非常に大変もしくは崩壊となりがち 抽象型でメンバ変数(フィールド変数)を持たないインタフェイスや型クラスではその問題が起きない それら抽象型による各機能の合成をとるため改変する場合も他機能への影響が限定的となり問題を分離することができる
944 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 12:34:53.51 ID:JFzuIw6k.net] 人間が理解しやすくなればなんでもいいシコ
945 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 12:45:52.70 ID:FDcCyCi3.net] >>920 メンバ変数の無い抽象型であっても、分離できるのは実装部分でしかなくて、「機能ではなく型の種類&名前で縛られる」という設計の初期の困難さは回避できていないよ。 まぁ、インターフェイスとかトレイル(Rustの偽物は論外)とかでもモジュール境界とモジュール間連携の問題は解決できていないからなぁ。何かいいアイディア無い?
946 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 12:51:44.04 ID:9l2p08EB.net] IDEのリファクタリング機能があれば何でもいいよ
947 名前:デフォルトの名無しさん [2024/03/01(金) 16:38:06.02 ID:gwVYOw6C.net] >>905 バカの一つ覚え
948 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 17:27:04.12 ID:PeOPXftI.net] それが>>911 の人、何人かいるっぽい
949 名前:デフォルトの名無しさん [2024/03/01(金) 20:56:33.23 ID:KQ1HmSrc.net] 継承には感謝しかないです
950 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 21:29:01.44 ID:NM6ffmiH.net] クラス継承さえ使わなければ 継承は便利だからね
951 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 22:31:08.80 ID:qr8UCngy.net] メソッドだけ継承できればいいよ
952 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 07:16:17.19 ID:7IvxOyHp.net] クラスとかメソッド集合としての機能だけあればいい。 その代わりに外延性と集合演算をサポートしてくれ。そうすりゃ継承みたいなクソツールは要らなくなる。
953 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 11:56:05.36 ID:0RQhliLl.net] クラスとか継承とかに不満持つのは不思議なんだが、他人の作ったコードやライブラリをうまく流用出来ずに文句言ってるのか? 自分で作る分には言語の機能にあっても使わなきゃいいだけだろうに 他の人が理解できないからだ、ってのならその「他の人」に言え
954 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 12:17:52.47 ID:+4BUdsxu.net] 人間が理解しやすくしなよ
955 名前:デフォルトの名無しさん [2024/03/02(土) 13:55:18.96 ID:ILWRlrIw.net] >>930 他の人になんて言えば良い?
956 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 13:56:06.21 ID:pYjRDwip.net] >>930 クラス継承については全員が問題視している Javaの生みの親ですらJavaを作り直せるならクラスを除外すると明言している そして現実にモダンなプログラミング言語 Go、Rust、Zig、Nim、Julia、Elixirなど全てがクラスを除外している >Javaのユーザグループミーティングに出席した際、 >James Gosling(Javaの生みの親)がメインの講演者として招かれていました。 >すばらしいQ&Aセッションの途中に、こんな質問が出ました。 >「もう一度最初からJavaを作り直すとしたら、どこを変更したいですか?」 >答えは「クラスを除外するでしょうね」というものでした。 >彼が説明したのは、本当の問題はクラス自体ではなく実装継承(extendsの関係)なのだということでした。 >インターフェースによる継承(implementsの関係)のほうが望ましいのです。 >できる限り実装継承は避けたほうがよいでしょう。
957 名前:デフォルトの名無しさん [2024/03/02(土) 13:58:52.73 ID:ILWRlrIw.net] ねえ!他の人になんて言えばいいの!?
958 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 14:38:32.67 ID:an2Rf2WF.net] 「俺は継承に親を殺された。絶対赦さない。絶対にだ
959 名前:」 [] [ここ壊れてます]
960 名前:デフォルトの名無しさん [2024/03/02(土) 14:43:33.20 ID:ILWRlrIw.net] 。°(´∩ω∩`)°。
961 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 14:47:09.39 ID:iW0xTm2n.net] >>933 どこからの引用なのかちゃんと書こうよ https://postd.cc/is-go-object-oriented/
962 名前:デフォルトの名無しさん [2024/03/02(土) 15:01:00.73 ID:OiLnCmP5.net] >>933 バカの一つ覚え乙
963 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 15:26:08.25 ID:5qddeDE5.net] >>937 丁寧な説明あって助かったありがとう 実装継承は問題があるためクラス継承を使うのは辞めた方がよさそうね そうするとクラス自体が不要なので今どきの言語にはクラスが無いわけなのね
964 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 17:53:44.47 ID:JmA8+V/x.net] 継承すると結合度が高くなり、基底クラスがいじりにくくなるから implements で名前だけ基底クラスで宣言した方がよい という経験則なわけね
965 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 18:23:50.25 ID:C5B9iefL.net] >>940 違うよ 基底クラスは一切使わずにインターフェース等を使う インターフェース等を備えていない言語ではやむをえないため抽象クラスで代替する
966 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 21:21:19.79 ID:6JiP4UcJ.net] 15年ぐらい前はstaticおじさんが馬鹿にされてたけど今じゃオブジェクト指向がオワコン呼ばわりかぁ Lisp使おう()
967 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 00:19:19.60 ID:Ic67hcFY.net] 処理系も書かずに使おう(笑)
968 名前:デフォルトの名無しさん [2024/03/03(日) 12:51:43.47 ID:s0HRTEoD.net] オブジェクト指向に毒されてるpowershwll,python,ruby等も終わりかな F#に興味出てきたな
969 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 13:22:58.46 ID:4PUy8wCJ.net] あたりまえにオブジェクト指向使ってる現代でオブジェクト指向がオワコンって言うのはプログラム作らない人 ここの板のローカルルールくらい見ましょうね
970 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 13:49:21.97 ID:HJzrw6yi.net] やたらとオブシコしてたのからの回帰ってならわかる そういう意味なんだろうなと思う
971 名前:デフォルトの名無しさん [2024/03/03(日) 14:11:44.50 ID:0VvwZNDM.net] >>940 何でそんなこと言うん?
972 名前:デフォルトの名無しさん [2024/03/03(日) 17:32:00.15 ID:7AiWdEnV.net] https://twitter.com/i/status/1763848620204544172 オブジェクト指向にも同じことが言えます (deleted an unsolicited ad)
973 名前:デフォルトの名無しさん [2024/03/03(日) 17:33:19.72 ID:7AiWdEnV.net] オブジェクト指向を実践してない人ほど継承はダメだといっておられる 現実をまったく見ていない理論でしかないわけです
974 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 17:33:33.79 ID:m+AYakYE.net] 40年前に構造化プログラミング(いまあたりまえのプログラムをブロックモジュールに分ける概念)についてけなかった人とかも 理解しないまま「構造化プログラミングはオワコン!これからはオブジェクト指向!」ってそもそも構造化プログラミングの 発展系がオブジェクト指向だってわからずこのアホウみたいにウキャウキャしてたのかしら
975 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 18:10:26.26 ID:nBM3NOHP.net] >>949 正しく理解しようよ ダメなのはクラス継承 抽象型の継承はOK オブジェクト指向もOK
976 名前:デフォルトの名無しさん [2024/03/03(日) 18:26:34.56 ID:zJ/qFUNe.net] >>951 Pythonは文脈によって意味が変わる多重継承ね! 随意筋 不随意筋 ↖ ↗ チンポ
977 名前:デフォルトの名無しさん [2024/03/03(日) 20:11:50.76 ID:InukkrXD.net] ついていけない人間がたくさん出てしまうパラダイムは多くの人間が使えないので自明にオワコン
978 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 21:12:52.05 ID:vlko3Vgi.net] >>950 ありそうな話だなあ
979 名前:デフォルトの名無しさん [2024/03/03(日) 21:35:56.29 ID:9XAeTkis.net] >>933 Cの生みの親が作ったGoはともかく、Rustにクラスがなかったのはマジびびった。 Haskell覚えたときに、オブジェクト指向プログラミングの再利用性に疑問持って、 (実際にはしないけど)C++でクラス使わずテンプレートだけ使った方が再利用しやすいんじゃ…?とか思った。 そして最近、「スッキリわかるC言語」立ち読みしたら、C言語に(テンプレートとは違ってマクロっぽいが)ジェネリックっぽい機能が取り入れられてるみたい。 (使えないコンパイラがまだ多いのでLinuxのカーネル開発では禁止されてるみたいだけど) あと、デザインパターンも、関数型言語で普通にしてる事がいくつか書いてて、オブジェクト指向言語だと意識しないと出来ないんだと気づいた。 (例:イテレータ、テンプレート・メソッド、シングルトン、アブストラクト・ファクトリ、ストラテジなど)
980 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 22:06:17.23 ID:mVaeStz7.net] 広い意味のオブジェクト指向は今でも有用であって クラスを使ったオブジェクト指向が間違っていただけなので GoやRustなど新しい言語にはクラスが無いけど(クラスを使わない)オブジェクト指向ですよ
981 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 22:11:46.53 ID:JkCR2ZDo.net] >>953 おまえがオワコンなだけ。お前自身がついていけなくても、ついていけない人がたくさんいると思っていても 実際には多くの人がすでに実行してる。今やその辺の小学生でも https://www.nhk.or.jp/school/sougou/programming/
982 名前:デフォルトの名無しさん [2024/03/03(日) 22:27:37.47 ID:9RvqtVLq.net] >>957 俺は「ついていけない人間がたくさん出てしまうパラダイム」の話をしているのに、お前は勝手に「俺がついていけない人がたくさんいると思っているパラダイム」の話を始めたな 俺の話を理解できていないのか、理解した上で関係なくお前のしたい話を始めたのか知らんが、それで俺にレスをつけておいて俺にオワコンと言ってくるなんて、なんてガイジなんだ 回線切って首吊って死んでくれよな
983 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 22:50:31.38 ID:uAsMCupP.net] お前らさあ。。 次スレどうする?
984 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 23:01:06.99 ID:A1Y/Mibd.net] つまりプロトタイプベースオブジェクト指向のJSは一歩も二歩も先に行ってたってこと?
985 名前:デフォルトの名無しさん [2024/03/03(日) 23:05:08.39 ID:slB98rWU.net] >>958 おまえ生まれてから今までずっと 何言うてんねん
986 名前:デフォルトの名無しさん [2024/03/03(日) 23:24:09.12 ID:9XAeTkis.net] >>960 まあ、JSは手続き型言語の皮をかぶったLispと言われる事もあるので、 そうとも言える。 ただLLだったので大規模開発に向かなかったのかと。 関数型言語と論理型言語は大きなカテゴリーでは宣言型言語になるんだけど、 オブジェクト指向も宣言的なプログラミングは目指してるんだよね。 メソッドチェーンと関数合成は向きが逆なだけで、やってることは同じだし。 Rust初めて見たときはC系統の文法のだけど、だいぶ関数型言語に寄ったなと思った。 しかも組み込み系の雑誌「interface」でだいぶ推してるし…。(お題を解く連載が続いてる) 何事かと。
987 名前:デフォルトの名無しさん mailto:sage [2024/03/04(月) 00:00:46.80 ID:ndPj2VnY.net] >>962 >メソッドチェーンと関数合成は向きが逆なだけで、やってることは同じだし。 関数型のやり方によっては見た目は似せることができてもやってることは全然違う 関数型とオブジェクト指向で根本的に異なる部分
988 名前:デフォルトの名無しさん [2024/03/04(月) 00:42:55.59 ID:vyClhVzf.net] 言われてみれば。 同じは言い過ぎだったね。 print関数と関数合成なんて、オブジェクト指向な人から見たらイミフだろうし。 高階関数に関数合成した関数渡すのも、オブジェクト指向じゃ関数オブジェクト(?)にメソッドチェーン渡すなんて、見たことない。(できるかは知らない) 割とよく使うのに。 あと、オブジェクト指向型言語で関数型プログラミング取り入れました!って言って ラムダ式を強制するのがウザい。 関数型言語はセクションやら、それこそ関数合成使って、なるべくラムダ式を使わない様に進化してるっちゅーねん。
989 名前:デフォルトの名無しさん [2024/03/04(月) 20:55:11.38 ID:OBoWisFX.net] 「継承」についてだが、多重継承をサポートしていない言語ならなるべく使わないほうがよい
990 名前:デフォルトの名無しさん mailto:sage [2024/03/05(火) 14:40:45.25 ID:8Aciq0Ni.net] >>930 不満を解消するために行動しているというのは誤解 ある行動をしなかった理由を考えている なぜ継承しなかったのか
991 名前:デフォルトの名無しさん [2024/03/06(水) 15:26:14.40 ID:7MRZ6H51.net] >>965 逆だね あえて逆のこと言ったんだね
992 名前:デフォルトの名無しさん [2024/03/06(水) 16:32:28.41 ID:QczblYLZ.net] >>967 Pythonは多重継承だが?
993 名前:デフォルトの名無しさん mailto:sage [2024/03/06(水) 17:05:29.94 ID:0Fz1GTqO.net] 銀の弾丸はなく適材適所なだけなのに なるべく使わないって判断放棄してへん?
994 名前:デフォルトの名無しさん [2024/03/06(水) 17:58:25.40 ID:RxG6QCQE.net] >>968 Pythonの話ちゃうやん
995 名前:デフォルトの名無しさん mailto:sage [2024/03/06(水) 18:04:07.44 ID:OsGV2nia.net] >>968 おまえそのPythonでどんなアプリ作ったの? >>937 のリンク先から引用 >多重継承の問題の1つは、同一のメソッドが1つ以上の親クラスに存在しているときに、言語がどのメソッドを用いているのかが自明ではなく、あいまいだという点です。 これが絶対悪だというのはありえないにせよ、プログラム保守する上でこの問題はよく理解できるはず
996 名前:デフォルトの名無しさん [2024/03/06(水) 18:42:32.08 ID:T1kDuEf9.net] 人間に独立した人格が有るように、チンポにも独立したチン格が有る これは親クラスと子クラスの継承関係である チン格とはつまり「愚息」であり、自分にも他人にも成り得る これがオブジェクトの多態性と表現される オシッコするときのチンポは随意筋、勃起するときのチンポは不随意筋 このように時と場合によって真逆の性質を併せ持つことができる 随意筋 不随意筋 ↖ ↗ チンポ 自然言語処理において語の意味は文脈によって変わるので、Pythonのような多重継承が不可欠ね!
997 名前:デフォルトの名無しさん [2024/03/06(水) 20:32:09.54 ID:RxG6QCQE.net] >>972 継承関係無いやん
998 名前:デフォルトの名無しさん [2024/03/10(日) 16:41:48.65 ID:VoY5srQP.net] https://twitter.com/frozensholder/status/1766678736836149638 四十肩 @frozensholder 男はチンボで物を考え女は子宮でモノを考える。それが世界の理。 (deleted an unsolicited ad)
999 名前:デフォルトの名無しさん [2024/06/12(水) 21:54:40.54 ID:2UzQR7Po.net] オブジェクト指向を学ばなかった話 https://qiita.com/adaiimps/items/e04ae03371435aeffe87
1000 名前:デフォルトの名無しさん [2024/06/13(木) 11:22:06.13 ID:fHN6F3J2.net] >>970 の理屈だと Rust の trait もアウトだな
1001 名前:デフォルトの名無しさん [2024/06/13(木) 11:22:46.95 ID:fHN6F3J2.net] アンカ間違えた >>971 です
1002 名前:デフォルトの名無しさん mailto:sage [2024/06/13(木) 14:45:53.11 ID:gxf+efas.net] メソッドの名前はまあ許せるが変数名の重複がアウトなんだよ どっちもアウトという極端なネガティブ思考はもう聞き飽きた
1003 名前:デフォルトの名無しさん mailto:sage [2024/06/13(木) 14:47:27.54 ID:lNMgjwmg.net] >>976 RustやGoなどモダンな言語にはクラスはありませんから クラス継承の問題もありません
1004 名前:デフォルトの名無しさん mailto:sage [2024/06/13(木) 22:17:03.25 ID:RzblDdiK.net] https://i.imgur.com/oWLfqqZ.jpg もうすぐ終了です
1005 名前:デフォルトの名無しさん mailto:sage [2024/06/14(金) 09:40:27.76 ID:5ngAi6Ey.net] もうすぐ終了です https://i.imgur.com/QiiT0Fx.jpg
1006 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 11:12:01.01 ID:EEfTRUen.net] 家族・友人に紹介で更に×5000円 https://i.imgur.com/iBtMtnJ.jpg
1007 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 12:58:11.00 ID:lECmuUtZ.net] 5000円ゲットに加えて家族・友人に紹介で更に×5000円! https://i.imgur.com/OVgPyJY.jpg
1008 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 15:08:08.53 ID:GQubfVD8.net] 即時3000円+2500円貰えます https://i.imgur.com/zIUDvjy.jpg
1009 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 15:45:17.28 ID:5YPEUVSI.net] スパムが梅に来てやがる ちょっと違うけどちょっと似たスレ探した 次ここ埋めよう オブジェクト指向は愚かな考え。この世は計算式 ★3©2ch.net mevius.5ch.net/test/read.cgi/tech/1451927425/
1010 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 16:37:40.69 ID:vKjwZw7A.net] 振り返ればCOMが一番成功してた事実 やはりこれからもコンポーネント指向だな
1011 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 23:46:33.68 ID:cxiEzNVX.net] IUnknownは偉大 いまでも傑作のひとつだと思う
1012 名前:デフォルトの名無しさん [2024/06/17(月) 16:32:57.38 ID:prlYSpwu.net] うんこナウ
1013 名前:デフォルトの名無しさん [2024/06/17(月) 17:48:17.60 ID:Hy1KBFGr.net] 関数自体を関数に引数としてどう渡すかって話だよ。
1014 名前:デフォルトの名無しさん mailto:sage [2024/06/23(日) 13:05:53.08 ID:T9hZbeKo.net] 今だけです https://i.imgur.com/fJ2Q9aF.jpg
1015 名前:デフォルトの名無しさん mailto:sage [2024/06/23(日) 18:55:40.89 ID:HhVSQR1B.net] 終了までお早めに https://i.imgur.com/aIqXmDB.jpg
1016 名前:デフォルトの名無しさん [2024/06/25(火) 13:43:55.89 ID:ZtCD4zFU.net] ランサムωωω
1017 名前:デフォルトの名無しさん [2024/06/28(金) 16:44:13.15 ID:/Ex5ZKSC.net] うめますか?
1018 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 17:46:32.19 ID:DfHx9zhO.net] 次スレまだ?
1019 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 18:06:50.53 ID:tE6002zU.net] 次スレできなかったら >>985
1020 名前:デフォルトの名無しさん [2024/06/28(金) 19:59:08.35 ID:TzaR5aOj.net] 糸冬
1021 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 22:00:12.74 ID:7Ebl2CLD.net] 板違いの雑談したがるアホの気持ちが理解できない プログラム能力が小学生未満なのにム板で語りたがるアホども
1022 名前:デフォルトの名無しさん mailto:sage [2024/06/29(土) 11:12:00.17 ID:yISeF17a.net] 板違いの雑談したがるアホの気持ちが理解できない 自治能力が小学生未満なのにム板で語りたがるアホども
1023 名前:デフォルトの名無しさん mailto:sage [2024/06/29(土) 13:56:06.77 ID:44tg2Mvq.net] 999
1024 名前:デフォルトの名無しさん mailto:sage [2024/06/29(土) 17:14:14.15 ID:n5ixZO2u.net] 終了しました
1025 名前:1001 [Over 1000 Thread ID:Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 307日 19時間 13分 21秒
1026 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています