アカウント名:
パスワード:
昔、オブジェクト指向プログラミングの項目を編集したところ「技術的な内容は分かりにくい。」と全消去の上、迂遠な例え話だらけでオブジェクト指向の説明をしようとする「ボクのオブジェクト指向勉強ノート」みたいな内容にされた時はさすがにガックリきたけどねw
編集合戦になってもなんだと思ってノートで「技術的な項目に技術的な記述なしというわけにもいかんでしょう?」というような反論して数週間放置しておいたらさすがに他の編集者からも勉強ノートの著者に「WikiBooksへ行きなさい」というコメントがついて、リバートされてたけどね。
ウィキペディアはそもそも専門知識の記述に適した場ではありません。あれは初学者による学習ノート共有としてしか機能しないシステムです。
深い専門知識を、専門外の人々に判りやすく提示するには、しばしば深い洞察やひらめきによる「新しい体系の提示」が必要となります。しかしそのような高度な知的作業はウィキペディア上では「信頼の置けない独自研究」と見なされ排除される仕組みになっています。
専門家による査読制のないウィキペディアは、猿にタイプライターを叩かせて百科事典を作る試みにも似ており、過去の百科事典レベルの知的高みに達するのも難しい事でしょう。
いやまぁ、「要出典」つけられるとか「独自研究」を指摘されるならわかるけど、ノートで相談もなしにイキナリ全面的に消去の上「ボクの勉強ノート」が展開されたのがちょっとね。
そもそも私の版だって別に0から私が独自に書いたわけじゃなくて既存の版を整理して項目分割したりして書き足したものだったしね。
オブジェクト指向の中心的な技術の一つであろうポリモルフィズムについてのサーベイ論文:
Cardelli, Luca; Wegner, Peter (1986), “On Understanding Types, Data Abstraction, and Polymorphism”, ACM Computing Surveys 17http://lucacardelli.name/Papers/OnUnderstanding.A4.pdf [lucacardelli.name]
1991-1992年あたりの学生の頃に読んですごく頭の中が整理された。
そもそもポリモルフィズム(多態性)は、オブジェクト指向に特有のシステムではない。あと、そのサーベイ論文は、もともと静的な型付けを特徴とする関数型言語上でオブジェクト指向言語とは違うやり方で多態性を実現するために行われた研究の一環だろJK
オブジェクト指向プログラミングで重要な機能の一つがクラスとその継承なんだからポリモルフィズムの実装の一形態としてのクラスと継承が定義できてればとっかかりとしては十分じゃない?
別のコンセプトとの関連によってコンセプトの定義が明確化されることもよくあるわけで。OOPについて語るのにOOPの中だけで話をしなければならないなんてことはない。
(私の関心事がデータタイプだったりしたのでOOP全体でなくポリモルフィズムとのかかわりしか紹介できないのは不勉強といわれればそれはその通りだけど。)
その後、その論文の著者らはσカリキュラス("A Theory of Objects (Monographs in Computer Science)", Martin Abadi and Luca Cardelli, Springer, 1998;)とかでオブジェクトを中心とした計算のモデル化とかにも関わっているわけで「OOPに定義なんてない」という主張に対しては反例くらいにはになると思うのだけどね。
OOPにはデータ型定義だけでなく、モジュールとデータ隠蔽、並行プログラミングのモニタ等多くの要素(GCを必須要素にあげる人もいたし)が取り込まれているから定義が簡単でないのはそうだろう。その後の発展でデザイン・パターンとかユニット・テストの発展も促したのでそのあたりとも密接な関係にある。そして人気のあった概念だけに多くの媒体で多くのオレ定義が流布されたのも確かだろう。
けども定義なんてないという主張はさすがにムチャかなと。(私がココでビシっと定義を示せればよかったろうけども、そこまでは私では力が足りなかったw 問題になってるのがWikipediaのその項目だけに、そこへリンクを貼ってお茶を濁すわけにも行かないしw)
そこらへんの元ネタは大学の講義でも扱ったしおまいら俗人が少しでも興味を持つように、ずばりその本を匿名掲示板で紹介した事もある。
しかし/.Jのこのスレッドは、その話題とは全く関係がない。
キミがここで支離滅裂な紹介をする必然性は全くないしキミはネットや書籍で他の人から聞いた薀蓄を、その人本人の前で自慢気に語って、恥を晒しているように見える。
身の程をわきまえ、努力を重ね、大学くらいはきちんと出てまともな会話のできるまともな人間に成長して欲しい。
誤爆?
多態OOP特有なんてことを私は言ってっていない。
が、多態の一つとされる継承がオブジェクト指向プログラミングのそれなりに有力な要素であるのは確か。そして継承を他の様々な多態性と関連付けることで見通しは良くなる。
実際、C++では継承以外の総称や型強制、多重定義がすべて存在していてそれを適宜使い分ける必要がある。Javaでも総称が導入されている。オブジェクト指向言語界のPascalのような存在でもあるEiffelでは継承と並んで総称は重要な要素だ。ここまでくれば多態性というバックグラウンドをなしでオブジェクト指向を語ろうとするほうが無謀というものだろう。
関数型言語でも手続き型言語でも代数的な(値の集合と演算の定義域、値域など集合の構造に基づく)アプローチによる型の取り扱いの理論は同じ。そしてだからこそ関数型言語でもOOPを可能にするバックグラウンドとしてあのサーベイ論文の意味がある。
訂正:多態OOP特有→多態がOOPに特有
キミは自分に都合の悪い意見は誤爆とみなす人間か。愚かしい
各種の言語の背景にある多態性は、専門教育を受けた学生なら誰でも知っている話だ。
しかし、そのような専門知識のない人間相手に基本説明をすっとばしたままで、オブジェクト指向の説明として、関数型言語における多態性のサーベイ論文を持ち出すのは不適切というものだろう。
齟齬の指摘を受けている事を重々理解しながら、あえて自説を強弁し続けるキミは哀れというしかない。
それでも、空論は一つの意見なので、勝手に引用して、「ある人は〜〜を〜〜とし、〜〜を〜〜と例えている」と書けば、文章となれる。ただ引用するだけで著作権侵害とならずに文章が作れるかどうか、引用のガイドラインが今どうなってるか知らないけど。
そんな完璧でなければクズというような1/0な極端な結論に行かなくてもいいんじゃないかなと。
別に百科事典の項目は教科書ではないし論文でもないので。(ちなみに教科書を作るプロジェクトはほかにある。「WikiBooksへ行きなさい」のWikiBooksがそれ。そっちは読んでないので成功しているかどうか柱名。)そういう本格的な入門書、教科書へのとっかり、誘導になっていればいいとは思っています。そういう意味ではそこまで高度なものを直接執筆しなくてもそれを参照引用できてその概要が言えていればいいかなとは思うのです。
> 深い専門知識を、専門外の人々に判りやすく提示するには、> しばしば深い洞察やひらめきによる「新しい体系の提示」が必要となります。
いや、それ間違っているから。事実を積み重ねるだけでも十分専門知識を説明できるから。
貴方の意見を見ると、独創的な意見で論理の飛躍を行ったら排除されたという話のようなので、それだけ見るならば、Wikipediaも正しく機能しているように見えるねえ。# 実際は知らんよ。
「あんた」って誰のこと?
それにしても匿名なのによくわかるな。エスパー?
事実を積み重ねるだけでも十分専門知識を説明できるから。
この記事の他のスレッド(話題の流れの事だ)で既に解説した事だが。専門家がアリバイ的にOOを特徴付ける要素を並べて説明する事は充分可能だが経験的にそのようなやり方では、専門知識の不十分な人に理解させるのは難しい。
さりとて#1631412 [srad.jp]で挙がった「引出しを使った構造体の比喩説明」で適切な理解が得られるとは限らない。一般に比喩を使った説明は、比喩と実体の適切な関連付けを行う能力のない読者にとっては、ある種の誤解や混乱を発生させ易い。
だから、例えば Objective-Cの「ソフトウェア部品」やそれを発展させた「コンポーネント指向ソフトウェア」のような判りやすく応用の利くパラダイムを持ち出してその基本原理や実現
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
計算機科学者とは、壊れていないものを修理する人々のことである
リアル厨房編集者や糞NEET相手は疲れたよ (スコア:0)
パトラッシュ
ボクのオブジェクト指向勉強ノート (スコア:2, 興味深い)
昔、オブジェクト指向プログラミングの項目を編集したところ「技術的な内容は分かりにくい。」と全消去の上、
迂遠な例え話だらけでオブジェクト指向の説明をしようとする「ボクのオブジェクト指向勉強ノート」みたいな内容にされた時はさすがにガックリきたけどねw
編集合戦になってもなんだと思ってノートで「技術的な項目に技術的な記述なしというわけにもいかんでしょう?」というような反論して数週間放置しておいたら
さすがに他の編集者からも勉強ノートの著者に「WikiBooksへ行きなさい」というコメントがついて、リバートされてたけどね。
Re:ボクのオブジェクト指向勉強ノート (スコア:0)
ウィキペディアはそもそも専門知識の記述に適した場ではありません。
あれは初学者による学習ノート共有としてしか機能しないシステムです。
深い専門知識を、専門外の人々に判りやすく提示するには、
しばしば深い洞察やひらめきによる「新しい体系の提示」が必要となります。
しかしそのような高度な知的作業はウィキペディア上では
「信頼の置けない独自研究」と見なされ排除される仕組みになっています。
専門家による査読制のないウィキペディアは、
猿にタイプライターを叩かせて百科事典を作る試みにも似ており、
過去の百科事典レベルの知的高みに達するのも難しい事でしょう。
引用 (スコア:1)
新人。プログラマレベルをポケモンで言うと、コラッタぐらい
Re:引用 (スコア:1)
いやまぁ、「要出典」つけられるとか「独自研究」を指摘されるならわかるけど、ノートで相談もなしにイキナリ全面的に消去の上「ボクの勉強ノート」が展開されたのがちょっとね。
そもそも私の版だって別に0から私が独自に書いたわけじゃなくて既存の版を整理して項目分割したりして書き足したものだったしね。
オブジェクト指向に話を戻すと (スコア:0)
定義ないか?(反語) (スコア:1)
オブジェクト指向の中心的な技術の一つであろうポリモルフィズムについてのサーベイ論文:
Cardelli, Luca; Wegner, Peter (1986), “On Understanding Types, Data Abstraction, and Polymorphism”, ACM Computing Surveys 17
http://lucacardelli.name/Papers/OnUnderstanding.A4.pdf [lucacardelli.name]
1991-1992年あたりの学生の頃に読んですごく頭の中が整理された。
何の定義の話をしているのか?(それはOOPの話ですらない) (スコア:0)
そもそもポリモルフィズム(多態性)は、オブジェクト指向に特有のシステムではない。
あと、そのサーベイ論文は、もともと静的な型付けを特徴とする関数型言語上で
オブジェクト指向言語とは違うやり方で多態性を実現するために行われた研究の一環だろJK
Re:何の定義の話をしているのか?(それはOOPの話ですらない) (スコア:1)
オブジェクト指向プログラミングで重要な機能の一つがクラスとその継承なんだからポリモルフィズムの実装の一形態としてのクラスと継承が定義できてればとっかかりとしては十分じゃない?
別のコンセプトとの関連によってコンセプトの定義が明確化されることもよくあるわけで。OOPについて語るのにOOPの中だけで話をしなければならないなんてことはない。
(私の関心事がデータタイプだったりしたのでOOP全体でなくポリモルフィズムとのかかわりしか紹介できないのは不勉強といわれればそれはその通りだけど。)
その後、その論文の著者らはσカリキュラス("A Theory of Objects (Monographs in Computer Science)", Martin Abadi and Luca Cardelli, Springer, 1998;)とかでオブジェクトを中心とした計算のモデル化とかにも関わっているわけで「OOPに定義なんてない」という主張に対しては反例くらいにはになると思うのだけどね。
OOPにはデータ型定義だけでなく、モジュールとデータ隠蔽、並行プログラミングのモニタ等多くの要素(GCを必須要素にあげる人もいたし)が取り込まれているから定義が簡単でないのはそうだろう。その後の発展でデザイン・パターンとかユニット・テストの発展も促したのでそのあたりとも密接な関係にある。そして人気のあった概念だけに多くの媒体で多くのオレ定義が流布されたのも確かだろう。
けども定義なんてないという主張はさすがにムチャかなと。
(私がココでビシっと定義を示せればよかったろうけども、そこまでは私では力が足りなかったw 問題になってるのがWikipediaのその項目だけに、そこへリンクを貼ってお茶を濁すわけにも行かないしw)
Re: (スコア:0)
そこらへんの元ネタは大学の講義でも扱ったし
おまいら俗人が少しでも興味を持つように、
ずばりその本を匿名掲示板で紹介した事もある。
しかし/.Jのこのスレッドは、その話題とは全く関係がない。
キミがここで支離滅裂な紹介をする必然性は全くないし
キミはネットや書籍で他の人から聞いた薀蓄を、
その人本人の前で自慢気に語って、恥を晒しているように見える。
身の程をわきまえ、努力を重ね、大学くらいはきちんと出て
まともな会話のできるまともな人間に成長して欲しい。
Re:何の定義の話をしているのか?(それはOOPの話ですらない) (スコア:1)
誤爆?
Re:何の定義の話をしているのか?(それはOOPの話ですらない) (スコア:1)
多態OOP特有なんてことを私は言ってっていない。
が、多態の一つとされる継承がオブジェクト指向プログラミングのそれなりに有力な要素であるのは確か。そして継承を他の様々な多態性と関連付けることで見通しは良くなる。
実際、C++では継承以外の総称や型強制、多重定義がすべて存在していてそれを適宜使い分ける必要がある。Javaでも総称が導入されている。オブジェクト指向言語界のPascalのような存在でもあるEiffelでは継承と並んで総称は重要な要素だ。ここまでくれば多態性というバックグラウンドをなしでオブジェクト指向を語ろうとするほうが無謀というものだろう。
関数型言語でも手続き型言語でも代数的な(値の集合と演算の定義域、値域など集合の構造に基づく)アプローチによる型の取り扱いの理論は同じ。そしてだからこそ関数型言語でもOOPを可能にするバックグラウンドとしてあのサーベイ論文の意味がある。
訂正 (スコア:1)
訂正:多態OOP特有→多態がOOPに特有
Re: (スコア:0)
キミは自分に都合の悪い意見は誤爆とみなす人間か。愚かしい
OOの一般向け説明に関数型言語の多態性のサーベイ論文を持ち出すから、キミはピントはずれなんだ (スコア:0)
各種の言語の背景にある多態性は、専門教育を受けた学生なら誰でも知っている話だ。
しかし、そのような専門知識のない人間相手に基本説明をすっとばしたままで、
オブジェクト指向の説明として、関数型言語における多態性のサーベイ論文を持ち出すのは
不適切というものだろう。
齟齬の指摘を受けている事を重々理解しながら、あえて自説を強弁し続けるキミは
哀れというしかない。
Re: (スコア:0)
それでも、空論は一つの意見なので、勝手に引用して、「ある人は〜〜を〜〜とし、〜〜を〜〜と例えている」と書けば、文章となれる。
ただ引用するだけで著作権侵害とならずに文章が作れるかどうか、引用のガイドラインが今どうなってるか知らないけど。
Re:ボクのオブジェクト指向勉強ノート (スコア:1)
そんな完璧でなければクズというような1/0な極端な結論に
行かなくてもいいんじゃないかなと。
別に百科事典の項目は教科書ではないし論文でもないので。
(ちなみに教科書を作るプロジェクトはほかにある。「
WikiBooksへ行きなさい」のWikiBooksがそれ。
そっちは読んでないので成功しているかどうか柱名。)
そういう本格的な入門書、教科書へのとっかり、
誘導になっていればいいとは思っています。
そういう意味ではそこまで高度なものを直接執筆しなくても
それを参照引用できてその概要が言えていればいいかなとは思うのです。
Re: (スコア:0)
> 深い専門知識を、専門外の人々に判りやすく提示するには、
> しばしば深い洞察やひらめきによる「新しい体系の提示」が必要となります。
いや、それ間違っているから。
事実を積み重ねるだけでも十分専門知識を説明できるから。
貴方の意見を見ると、独創的な意見で論理の飛躍を行ったら排除されたという話のようなので、
それだけ見るならば、Wikipediaも正しく機能しているように見えるねえ。
# 実際は知らんよ。
またおまいか (スコア:0)
普通の人間には興味ありません? (スコア:1)
「あんた」って誰のこと?
それにしても匿名なのによくわかるな。エスパー?
「新しい体系」=新しいパラダイムの提示の重要性 (スコア:0)
事実を積み重ねるだけでも十分専門知識を説明できるから。
この記事の他のスレッド(話題の流れの事だ)で既に解説した事だが。
専門家がアリバイ的にOOを特徴付ける要素を並べて説明する事は充分可能だが
経験的にそのようなやり方では、専門知識の不十分な人に理解させるのは難しい。
さりとて#1631412 [srad.jp]で挙がった「引出しを使った構造体の比喩説明」で適切な理解が得られるとは限らない。
一般に比喩を使った説明は、比喩と実体の適切な関連付けを行う能力のない読者にとっては、
ある種の誤解や混乱を発生させ易い。
だから、例えば Objective-Cの「ソフトウェア部品」やそれを発展させた
「コンポーネント指向ソフトウェア」のような判りやすく応用の利くパラダイムを持ち出して
その基本原理や実現