ノート:オブジェクト指向プログラミング
オブジェクトとインスタンスオブジェクト、クラスオブジェクトの区別
[編集]オブジェクトのうち、クラスから生成されたオブジェクトをインスタンスオブジェクトと言い、クラス自体を示すオブジェクトをクラスオブジェクトと言います。[1][2][3] 全般的に"オブジェクト == インスタンス"と捉え言葉が区別されていないように見えます。また、プロトタイプベースに対し、主体的にインスタンスベースという言葉が使われていますが、プロトタイプベースはインスタンスオブジェクトとクラスオブジェクトの区別が無い言語です。(Smalltalkの反省を生かしている)誤用に近いインスタンスベースという言葉を主として用いるのは不適切ではないでしょうか。という事で、全面的にインスタンスオブジェクトとクラスオブジェクトをはっきり区別した形に修正しようと考えていますが、いかがでしょうか。 --Anonymouse jp(会話) 2013年1月31日 (木) 12:38 (UTC)
無題
[編集]API等による実装について。「オブジェクト指向プログラミング」とはあるもののSmalltalk以外のライブラリ等による実装によるオブジェクト指向プログラミングに関する項目が見受けられないのですが?例えば醜いとは言え、Windows APIのWindow関連の機能(WNDCLASS、SendMessage等)はメッセージングを主体としたオブジェクト指向にある程度基づいています。また、LISPもどちらかと言えばライブラリ上の実装です。 「オブジェクト指向言語」の記事ではないのですからやはりそちらの方面の項目も考えていくべきではないでしょうか?
--222.0.144.21 2008年11月19日 (水) 19:57 (UTC)
- よろしいのではないでしょうか、ぜひ書いてください。各項目にオブジェクト指向言語以外での表現について書く形でかけそうな気がします。オブジェクト指向言語が内部的に機能を実装している方法の理解を深めることにもなるかもしれません。 --神戸隆行 2008年11月20日 (木) 12:04 (UTC)
ポリモルフィックデータ型について書こうとした勢いで、継承について書こうと思って始めたんですが、オブジェクト指向プログラミングは大きなトピックだけに中々そこまで行けません。
神戸隆行 2005年1月24日 (月) 01:42 (UTC)
集約がこのページに統合され、「オブジェクト指向言語の仕組み」の項に追加されましたが、不適切に思えたので、
コメントアウトしました。理由は、集約は「オブジェクト指向言語の仕組み」では無いからです。
もし、集約をここに乗せるならば、オブジェクトの関連についての項を新設した後、 その中に他のオブジェクト関連について記述せねばなりませんが、 オブジェクトの関連についてはOOPだけでなく、OOAD でも必要とされる語ですので、 このページから独立させたほうが良いと考えますが、どうでしょうか。--Mi-neko 2006年5月26日 (金) 08:46 (UTC)
各項目が詳細過ぎないでしょうか。クラスの説明で 主記憶のアドレスがそのまま用いられるといった、クラスという概念の実現方法の部分にも踏み込んでいるようですが、オブジェクト指向プログラミングにおいてのクラスの説明として見れば、それは言語の実装にお任せします、ぐらいの 拘束していない箇所だと思います。実装方法は知識ですが オブジェクト指向プログラミングを調べる上では 読まなくちゃいけないような内容でもないと思いますし、さわりと深い部分で、章を分けたらどうでしょう。兎山帰郎 2006年10月28日 (土) 10:21 (UTC)
- 「オブジェクト指向プログラミング」というより「オブジェクト指向言語」に記事の内容の重点がおかれていたので、それも踏まえて 記事の見出しから考えて両者のバランスを考えて段落の順番の再構成と「オブジェクト指向プログラミング」に関する記述の追加をしています。神戸さんの仰るとおり大きいトピックですので 単純に一度に全部は書けないという理由から 書きかけが多くなってしまいます。兎山帰郎 2006年11月3日 (金) 03:30 (UTC)
- 「カプセル化」と「抽象具体の階層」で大きく分けるといいかと思うんですが なかなかまとまりません。兎山帰郎 2006年11月6日 (月) 21:26 (UTC)
- 自分向けメモ。「カプセル化」の中で「オブジェクト」について大項目にしてでも定義を済ませておかないと、文が堂々巡りするような気がする。兎山帰郎 2006年11月7日 (火) 16:40 (UTC)
- 「カプセル化」と「抽象具体の階層」で大きく分けるといいかと思うんですが なかなかまとまりません。兎山帰郎 2006年11月6日 (月) 21:26 (UTC)
プログラミングもエンジニアリングですからあまり技術的な内容を避けてしまうと観念的になりすぎてしまうと思います。それに百科事典は入門書ではないですからあまり記述の水準を引き下げたり冗長な例を挙げるのもどうかと思いますが…。それに理論的な記述をバサバサ削りすぎて非常に視野の狭い、理論的な見通しが悪い記事なっているように思います。あとオブジェクト指向とは関係ない冗漫な記述も目に付きます。--神戸隆行 2007年3月7日 (水) 21:37 (UTC)
…というか、兎山記述はオブジェクト指向プログラミングという技術的な事柄を解説するものではなく、オブジェクト指向プログラミング習得のための入門というかお勉強ノートになってしまっているような…。もしかして兎山さん自身がオブジェクト指向プログラミング学習中だったりします?--神戸隆行 2007年3月7日 (水) 21:48 (UTC)
オブジェクトについての野球の例は分かりにくいし、その後に来るもっと現実的な例が隠れてしまうので、削除したほうがいいのでは?--bleis-tift 2007年3月11日 (日) 06:50 (UTC)
- 削除してWikibooksのほうに移すという手もありますね。--hsz 2007年3月11日 (日) 08:20 (UTC)
兎山帰郎さんが書いていた内容はWikibooksのほう書けばいいのではと思いました。Wikibooksの情報技術あたりにリンクを作ってb:オブジェクト指向プログラミングというページを作るのはどうでしょうか? --hsz 2007年3月11日 (日) 08:20 (UTC)
特徴の説明項目から、ダイナミックバインディングを除去される向きがあるようですが、 オブジェクト指向プログラミングの誕生時から存在し現在も継承している言語があるにも係らず除去してしまうのは不適切であると考えます。--YoshioMurai 2009年11月6日 (金) 01:40 (UTC)
ポリモフィズム(多態性、多相性) -- 型付きの言語
[編集]型付きの言語となってるが 明確な型がないVariant型 のある ← 遅くなるんで使うなという意見もあるし バグの温床にもなるから使うなという意見もあるがそれとこれは違う話
vbではoopで組めないことになってしまうんで
違う 汎用・多様性が普通だと思うんだが
同様に
インヘリタンス(継承) -- クラスベースの言語 ポリモフィズム(多態性、多相性) -- 型付きの言語 ダイナミックバインディング(動的束縛) -- 動的型付言語
言語にとらわれないように言語は消した --以上の署名の無いコメントは、124.103.43.140(会話/Whois IPv4 ・ IPv6)さんが 2016年10月20日 (木) 10:49 (UTC) に投稿したものです。
プロトタイプベースはメタオブジェクトを基盤としているかどうか
[編集]一連のつもりやもり氏の記述には、「プロトタイプベースはメタオブジェクトを基盤としている」という主張(出典がないため)がみられますが、クラスとインスタンスが共にオブジェクトとして表現されている(クラスの場合はクラスメタオブジェクトとして)ことと、プロトタイプベースのすべてがインスタンスであることの類似性をもって、プロトタイプベースはメタオブジェクトを基盤としている、とはいえないと思います。
類似の主張はほぼ見当らないので、反例を出すこと自体が難しいのですが、プロトタイプベースの源流であるSELFの論文中[1]には、'Elimination of meta-regress.'という段落があるように、プロトタイプベースでは、むしろメタオブジェクトのような捉え方はしないとする(クラス-インスタンス関係の無限後退とは無縁としている)方が自然と思われます。 --G000001(会話) 2021年3月13日 (土) 20:14 (UTC)
これまでの編集内容で指摘されている事項と議論
[編集]独自研究が含まれているおそれがあります。
[編集](2018年2月)よりページに付記
出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。
[編集](2019年2月)よりページに付記
出典がない独自研究であると思われる記述が大量に追加され、また全ての出典が消失してしまっています。
[編集](2021年2月)Wikipedia:コメント依頼/つもりやもりでの指摘
オフラインに保存していた過去の版と思われるテキストでのページ全体の巻き戻しと、それによる差分の消失
[編集](2021年4月13日 (火) 16:07 G000001)による指摘
もうLISPに触れる記事は書きませんという宣言
[編集](2021年4月14日 (水) 05:07 つもりやもり)
- Wikipediaの編集方針に則っていればどのような編集も問題ないと考えます --G000001(会話) 2021年4月14日 (水) 13:39 (UTC)
明らかに意地悪目的が分かって悲しい編集が行なわれた
[編集](2021年4月14日 (水) 05:07 つもりやもり)による指摘
- Wikipediaの編集方針で表現するとどのような事象に該当しますでしょうか。Wikipediaのルールを尊重することが大事だと考えます --G000001(会話) 2021年4月14日 (水) 13:39 (UTC)
例:
Wikipedia:検証可能性、Wikipedia:独自研究は載せないに該当する悲しい編集が行なわれた
等々
大量削除、大量コメントアウト、やっつけ項目列挙による記事破壊が行なわれた
[編集](2021年4月14日 (水) 05:07 つもりやもり)による指摘
- 編集コメントに
Wikipedia:検証可能性 の観点から 版番72361351 の時点の'OOP言語一覧'を元に出典なしの文章の追加により肥大化した部分をコメント化し、リンクの一覧形式としました。適宜項目を検証しコメント化を解除してください。
と記載しましたが、問題が指摘されているテキストの分量が多いので、編集の効率を考えコメント化しました。文章に出典を明記する際に記事を戻せるようにコメント化していますので、情報は失なわれていません(更新の差分も少なくなっています)
これまでも指摘されているように、Wikipediaの基準では、Wikipedia:検証可能性、Wikipedia:独自研究は載せないを尊重しない編集が「記事破壊」とみなされるので各人により度々の指摘がなされていると考えます。--G000001(会話) 2021年4月14日 (水) 13:39 (UTC)
代表言語を列記する必要性
[編集]クラスベースのOOP言語はC++、Java、C#、....などが代表格である
等々、ある概念を説明するのに、大量の具体言語名の列記は不必要だと思います。 これら列記されたものが代表的かどうかの判定も、出典が明記されていない場合、恣意的になりますし、概念をの説明のみで十分と思われます --G000001(会話) 2021年4月17日 (土) 12:38 (UTC)
大量の出典なしの記述をどう処置するのが適切か
[編集]Wikipedia:独自研究は載せないによると、検証が不可能な場合、誤りかどうかは別として、削除/排除の対象になる、とされています。 小規模のものであれば、要出典等を付記していけば、改善が見込まれると思いますが、記述が大量な場合、どのように処置を進めていくのが良いのでしょうか。 --G000001(会話) 2021年4月14日 (水) 13:39 (UTC)
- 削除してしまう
- 一旦記述をコメントアウトし、検証したものから復帰させる
- 問題の記述すべてに「要出典」等を付記する
- 関数型言語については、同じ投稿者による連続した編集だったため差し戻しで対処しました。方針に沿った変更とそうでないものが混在している場合、削除してしまうのが効率がよいと考えます。 --Fumiexcel (会話|履歴|メール) 2021年4月16日 (金) 01:57 (UTC)
- なるほど、過去の履歴から現状より方針にそった記述を探し、置き換え(削除)してみたいと思います --G000001(会話) 2021年4月21日 (水) 16:42 (UTC)
〜ではないことを検証し記述すること
[編集]オブジェクト指向プログラミングでは、RubyやPythonがプロトタイプベースであるという記述が度々行われてきました。 これは独自研究による区分だと思いますが、結論が独自であるため問自体が存在せず、肯定はもとより、否定する場合も適切な二次資料等を引用することも難しい消極的事実の証明となっています。 このような場合は、どのように処置するのが適切でしょうか。--G000001(会話) 2021年4月14日 (水) 13:39 (UTC)
オブジェクト指向はアラン・ケイが提唱したものだとは思いますが、オブジェクト指向プログラミングも多様化しており、アラン・ケイ個人のオブジェクト指向思想を識るだけでは、この50年を総括することはできなくなっていると思います。 またプログラミング技法の解説ページであるので、技法についての解説を中心とすべきかと思います。 アラン・ケイのオブジェクト指向だけがオブジェクト指向プログラミングではないのでバランスの良い記述が必要かと思います。 出典なく文脈も曖昧なアラン・ケイの発言引用をページ内にちりばめる等の飾りは削除が良いかと思いました。--G000001(会話) 2021年4月21日 (水) 16:42 (UTC)
- 関連しますが、Smalltalkとアラン・ケイ思想についての記述は、本ページで長々と記述するよりも、詳しくはSmalltalkページで記述するのが適切かと思います(既にそのような記述もあります)がどうでしょう--G000001(会話) 2021年10月23日 (土) 15:22 (UTC)
英語版翻訳をベースに本ページを再出発させることの提案
[編集]出典なし&独自研究の記述が多いことが問題視されていますが、独自研究の箇所を削除したり検証するのも困難です。 問題となっている箇所も大体のところは英語版を骨格として、出典なしの記述で肉付けしていることが多いようですので、英語版の翻訳に置き換えて再出発を図るという方向性はどうでしょうか。--G000001(会話) 2021年10月17日 (日) 00:34 (UTC)
- 私としてはそれでもよいと思います。
- やや脱線&すでにご存知かもしれませんが、「RnTknn」氏にはコメント依頼が出されています。 --RnTkm(会話) 2021年10月18日 (月) 10:44 (UTC)
- コメント&情報ありがとうございます。なるほど……。今後どのように収束するかはわかりませんが、ちょっとずつ英語版への追従を進めつつ様子をみようかなと思います。--G000001(会話) 2021年10月18日 (月) 17:59 (UTC)
構造化プログラミング/抽象データ型/アクター等、周辺技術として良く触れられる事項についての記述
[編集]オブジェクト指向プログラミングの周辺技術として紹介するに留め、長々と本ページで詳細を紹介するのは控えた方が良いかと思いますが、どうでしょう。--G000001(会話) 2021年10月23日 (土) 15:18 (UTC)
ページ全体を翻訳記事ベースとして再出発させました
[編集]未出典/独自研究、履歴非継承が疑われる内容をen:Object-oriented programming oldid=1055370410 をベースにした翻訳で置き換え、翻訳中途テンプレートを付加しました。
英語版の記事にも要出典な箇所もあり、そのまま翻訳して掲載するわけにもいかない箇所がありますが、徐々に内容を埋めていければと思います。
もちろん本項目が翻訳で構成される必要はありません。大量の要出典記事で、大分荒れてしまったので、止むを得ずの対処になります。--G000001(会話) 2021年11月21日 (日) 13:09 (UTC)
本ページにおける多重ソックパペットアカウントによる荒らしについて
[編集]本ページでは、2019年あたりから多重ソックパペットアカウントによる荒らしが複数回発生しています。 過去のノートにもあるように、英語版をもとに再出発を図りましたが、多重ソックパペットアカウントに対処するには、複数の編集者が認識を合せた上でも時間と労力が非常にかかるため、復帰と破壊のいたちごっこになるかと思われます。
本ページに編集合戦のようなことが発生し、過去の編集動向が確認したくなった場合には下記が参考になるかと思います。
また、差し戻し等の場合には、Wikipedia:スリー・リバート・ルール等も勘案する必要があるかと思われます。
参考: