アカウント名:
パスワード:
昔、オブジェクト指向プログラミングの項目を編集したところ「技術的な内容は分かりにくい。」と全消去の上、迂遠な例え話だらけでオブジェクト指向の説明をしようとする「ボクのオブジェクト指向勉強ノート」みたいな内容にされた時はさすがにガックリきたけどねw
編集合戦になってもなんだと思ってノートで「技術的な項目に技術的な記述なしというわけにもいかんでしょう?」というような反論して数週間放置しておいたらさすがに他の編集者からも勉強ノートの著者に「WikiBooksへ行きなさい」というコメントがついて、リバートされてたけどね。
ウィキペディアはそもそも専門知識の記述に適した場ではありません。あれは初学者による学習ノート共有としてしか機能しないシステムです。
深い専門知識を、専門外の人々に判りやすく提示するには、しばしば深い洞察やひらめきによる「新しい体系の提示」が必要となります。しかしそのような高度な知的作業はウィキペディア上では「信頼の置けない独自研究」と見なされ排除される仕組みになっています。
専門家による査読制のないウィキペディアは、猿にタイプライターを叩かせて百科事典を作る試みにも似ており、過去の百科事典レベルの知的高みに達するのも難しい事でしょう。
オブジェクト指向の中心的な技術の一つであろうポリモルフィズムについてのサーベイ論文:
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に特有
キミは自分に都合の悪い意見は誤爆とみなす人間か。愚かしい
各種の言語の背景にある多態性は、専門教育を受けた学生なら誰でも知っている話だ。
しかし、そのような専門知識のない人間相手に基本説明をすっとばしたままで、オブジェクト指向の説明として、関数型言語における多態性のサーベイ論文を持ち出すのは不適切というものだろう。
齟齬の指摘を受けている事を重々理解しながら、あえて自説を強弁し続けるキミは哀れというしかない。
それでも、空論は一つの意見なので、勝手に引用して、「ある人は〜〜を〜〜とし、〜〜を〜〜と例えている」と書けば、文章となれる。ただ引用するだけで著作権侵害とならずに文章が作れるかどうか、引用のガイドラインが今どうなってるか知らないけど。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike
リアル厨房編集者や糞NEET相手は疲れたよ (スコア:0)
パトラッシュ
ボクのオブジェクト指向勉強ノート (スコア:2, 興味深い)
昔、オブジェクト指向プログラミングの項目を編集したところ「技術的な内容は分かりにくい。」と全消去の上、
迂遠な例え話だらけでオブジェクト指向の説明をしようとする「ボクのオブジェクト指向勉強ノート」みたいな内容にされた時はさすがにガックリきたけどねw
編集合戦になってもなんだと思ってノートで「技術的な項目に技術的な記述なしというわけにもいかんでしょう?」というような反論して数週間放置しておいたら
さすがに他の編集者からも勉強ノートの著者に「WikiBooksへ行きなさい」というコメントがついて、リバートされてたけどね。
Re: (スコア:0)
ウィキペディアはそもそも専門知識の記述に適した場ではありません。
あれは初学者による学習ノート共有としてしか機能しないシステムです。
深い専門知識を、専門外の人々に判りやすく提示するには、
しばしば深い洞察やひらめきによる「新しい体系の提示」が必要となります。
しかしそのような高度な知的作業はウィキペディア上では
「信頼の置けない独自研究」と見なされ排除される仕組みになっています。
専門家による査読制のないウィキペディアは、
猿にタイプライターを叩かせて百科事典を作る試みにも似ており、
過去の百科事典レベルの知的高みに達するのも難しい事でしょう。
引用 (スコア:1)
新人。プログラマレベルをポケモンで言うと、コラッタぐらい
オブジェクト指向に話を戻すと (スコア: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)
それでも、空論は一つの意見なので、勝手に引用して、「ある人は〜〜を〜〜とし、〜〜を〜〜と例えている」と書けば、文章となれる。
ただ引用するだけで著作権侵害とならずに文章が作れるかどうか、引用のガイドラインが今どうなってるか知らないけど。