オブジェクト指向プログラミングがなんたるかを理解した
■ このスレッドは過去ログ倉庫に格納されています
普通にプログラミングしてるとグローバル変数等でミスが起きやすいから
グローバルな状態のものを持たないようにして全体をクラスで管理し
グローバルな状態のものをオブジェクトに状態を持たせることで処理する >>2
すまん
素人の人にここで教えたら膨大な文章になる 何十年か前にやたら言われたなぁ
オブジェクト指向プログラミング 20年ぐらい前に流行ってたよ
perlの本買ったけどちんぷんかんぷんで止めた 要はグローバルステートを持たないんだよね
そのためのもの IT業界って昔からやってる事を新しい単語を作って斬新な事をやってるかに思わせてるだけだからね 納期までに仕様満たしてデバッグ完了したフリして書類揃えて提出するのがプログラミング >>10
20年前のPerlってオブジェクト指向じゃなかっただろ 最新のオブジェクト指向プログラミング状況は
GoやRustなどの注目最新言語における共通事項
つまりクラスの廃止がベストチョイス >>21
そうだよ
最初の生成など以外はオブジェクトにメソッドを投げる形になる
様々なメソッドチェーンも快適かつ分かりやすくプログラミングできる プログラミングスレになると見逃さず出てきてRUSTがRUSTがって書く奴
統一教会にお布施し続けた人間と似たニオイがする 手続型プログラミングしかできない人はなんちゃってプログラマーだ そうか
グローバルステートを持たないようにクラスという箱を複数作ってその中で変数を使えということか >>26
クラスの本質は継承にある
そしてそのクラスの継承が善から悪へと評価が180度変わった
結果として新世代言語のGoやRustはクラスも継承も無くした >>27
マジっすか
じゃあ今までのプログラミング言語はどうプログラムしていくの? >>29
もしかしてRustのtraitとか知らないの?
ジェネリクスとも相性良いしclass撤廃しても利便性が上がっているでしょう オブジェクト指向とは言わないんだと思うよ
オブジェクト指向からアイデアを拝借した別の何か >>31
オブジェクト指向とは
・オブジェクト同士がメッセージをやり取りすることで成り立つ (具体的には例えばオブジェクトに対するメソッド関数呼び出し等)
・オブジェクトが受け取るメッセージやその処理方法は各オブジェクトもしくはそのオブジェクトの型毎に定義される
・オブジェクト同士は互いにその内部の処理方法や内部構造を知る必要がなく受け付けるメッセージだけが公開されている
GoやRustなどのclassを持たない最近のプログラミング言語も明らかにオブジェクト指向を満たしているよ バカでズボラな人間にもプログラム書けるようにした仕様がオブジェクト指向 >>34
愚かだな
明らかに別のもの
モジュール化はオブジェクトを必要とせず、公開された単なる関数呼び出しさえあればよい
オブジェクト指向では必ずオブジェクトに対してメッセージを投げる 継承ないからオブジェクト指向とは言わない
という意見は少なからずあるわな 継承出来ようが出来まいがオブジェクトが作れるのであればオブジェクト指向 >>36
それは偏狭者の意見だな
クラスの継承が必須ならそれは継承クラス指向だろ
さらに現代では継承の問題点デメリットが取り上げられている時代
クラスや継承なんか無くてもGoやRustなど新たに使われる言語がオブジェクト指向で十二分に実用的なことを示した
さらに継承より高い利便性を備えるなどしている 正確に言うとオブジェクト指向を理解して設計しないと意味がない アホが設計するとだいたい炎上する 「俺の新しい道具はこんなに凄い!!」って宣伝はいいから
実際何を作る事が出来たんだ? GoogleやMSが採用したんだぞ!ってのもいいから
自分はそれで何作って会社なりに貢献したの? >>41
>>42
おまえら自分がキチガイだと認識できてる?
オブジェクト指向ごときでそんなことを求めるのは頭がおかしいぞ $ wget 'https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.19.1.tar.xz'
$ tar xJf linux-5.19.1.tar.xz
$ find linux-5.19.1 -name *.c -o -name *.h | wc -l
54499
$ find linux-5.19.1 -name *.rs | wc -l
0
あれ?!前は少しはあったような? >>43
ハッキリ言うがキチガイはオマエだよ
プログラムスレに片っ端からJSだのRustだの書いて強引に勧めまくってスレ乗っ取って
それで仕事で何製造したの書けない
言語なんて道具なんだよ実際にソフトウェアを作って意味がある
言語の凄さだけ説明し続けても何の意味も無い 品質がバラバラの何十人が同じ方向性でプログラム組むにはクラスも継承もいる
天才がスクラッチで作るならGOやRustでいいんだろ
争うことじゃない >>35,39,43
「愚か」だの「偏狭者」だの「キチガイ」だの
まず人を蔑む言葉が一行目にあるのがこの人の特徴
前にも忠告したが未だに変わらない >>46
勧めたのはJCな
青臭いJSを勧めるようなロリコンじゃねーよ 品質がバラバラの何十人が同じ方向性でプログラム組むには継承が害悪だって分かったって話 >>51
いやそういう場合だけに限らず
クラス継承自体が害悪
そのためにクラスや継承を持たず代わりの別の機構を持つ新たな言語たちが勃興してきたという話 >>42
おまえが何をやろうが誰も興味ない
GoogleとMicrosoftが採用したならば広範囲に影響が出てくるので興味を持つ人たちも多いだろう >>47
スクラッチって小学校で教えてるやつじゃん そりゃ小学生にみんなと同じことやれと言ってもできないからな >>51,52
継承が害悪か?
その「継承の害悪」をRustが解決した最小コードを示してみてよ 害悪というか
多重継承の様々な弊害の話だろ?
まあ害悪か 多重継承しないと系統樹のようなツリー構造となるものにしか適用できない欠陥を持っていることが敗因
そして多重継承すると様々な矛盾が露呈 継承いいじゃん
OSだってファイルとフォルダで構成されているんだし
コンピューターってのはそういうもんだ フォルダって親フォルダを継承してるわけじゃないだろw OOB全盛期のERPやらCRMやらビジネス-オブジェクト実装したものって
理想実現願望が使い勝手を殺して軒並み使えない,のばっかし
あれがなきゃIBMも訴えられないで済んだんじゃね 現実世界に沿ってモデル化し継承すれば矛盾は生じない
馬鹿は己の脳内の矛盾だらけの妄想をモデル化するから破綻が露呈する >>64
例えば?
そんなに矛盾はないと思うけどね そもそも適切なモデル化が難しいからどこのプログラムもバグは減らないね 観察したまま余計な推論を加えずに記述すれば良いよ
よく見えなかったものが見えてくることもあるだろうけど
そいうときはコードを足せば良いだけ
余計な推論が入っていないことが大事 コードを足す必要が出たらリファクタリングしないとバグの温床になるよ >>1
GoFのデザインパターンを一通り実装してみるとよく分かるよ ■ このスレッドは過去ログ倉庫に格納されています