アカウント名:
パスワード:
taro-nishinoの日記: Linus氏のC++に対する最近の否定的見解 http://srad.jp/~taro-nishino/journal/509450/ [srad.jp]
Linus氏のC++否定論は、C++というよりも、オブジェクト思考言語全般に当てはまります。読まずに批判・評価する人は、まず読みましょう。例えば、Linus氏はこういうことを言っています。
「良いコード設計は、いかにデータが移動するか、いかにデータを秩序立てるか、いかにデータを見つけ、他のデータと関連付けるか、について考えが次々と思い浮かぶ。だが、OO言語は、オブジェクトが重要であり、オブジェクトに関連付けられた
>"オブジェクトインターフェイス"を隠蔽これは何を言いたいのかさっぱりわからん。インターフェイスは隠蔽すべきでないし、むしろ積極的に明確にするのが普通。隠蔽すべきは、実装などの詳細部分。
言ってることが逆だよね。OOはオブジェクトそのものが重要ではなく、インターフェースやオブジェクト同士の関係が重要となっている。OO (正確にはADT)より前は、データの中身やその表現方法などが重要だった。というか、インターフェースなどの上位層とその層を明確に分離できてなかった。
並列プログラミング時代に重要なのはデッドロックを防ぐためのロッキングルール(AB-BAデッドロックを防ぐためのロック階層)を正しく保つことにあります。オブジェクト指向の問題は、振る舞いの隠蔽によってロッキングルールの守られているかが見えにくくなっていくことにあります。
とても良くわかる解説ありがとう。そういう手続き的な何かをOO的な何かに入れ込んで保証しまおうとすると偉い大変でむちゃくちゃになるというのはわかる。それをOOの人は適切に判断できないということかな。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike
Linus氏の見解の日本語訳 (スコア:0)
taro-nishinoの日記: Linus氏のC++に対する最近の否定的見解
http://srad.jp/~taro-nishino/journal/509450/ [srad.jp]
Linus氏のC++否定論は、C++というよりも、オブジェクト思考言語全般に当てはまります。読まずに批判・評価する人は、まず読みましょう。
例えば、Linus氏はこういうことを言っています。
「良いコード設計は、いかにデータが移動するか、いかにデータを秩序立てるか、いかにデータを見つけ、他のデータと関連付けるか、について考えが次々と思い浮かぶ。
だが、OO言語は、オブジェクトが重要であり、オブジェクトに関連付けられた
Re: (スコア:0)
>"オブジェクトインターフェイス"を隠蔽
これは何を言いたいのかさっぱりわからん。
インターフェイスは隠蔽すべきでないし、むしろ積極的に明確にするのが普通。隠蔽すべきは、実装などの詳細部分。
Re: (スコア:0)
言ってることが逆だよね。
OOはオブジェクトそのものが重要ではなく、インターフェースやオブジェクト同士の関係が重要となっている。
OO (正確にはADT)より前は、データの中身やその表現方法などが重要だった。というか、インターフェースなどの上位層とその層を明確に分離できてなかった。
Re: (スコア:0)
並列プログラミング時代に重要なのはデッドロックを防ぐためのロッキングルール(AB-BAデッドロックを防ぐためのロック階層)を正しく保つことにあります。
オブジェクト指向の問題は、振る舞いの隠蔽によってロッキングルールの守られているかが見えにくくなっていくことにあります。
Re:Linus氏の見解の日本語訳 (スコア:0)
とても良くわかる解説ありがとう。
そういう手続き的な何かをOO的な何かに入れ込んで保証しまおうとすると
偉い大変でむちゃくちゃになるというのはわかる。
それをOOの人は適切に判断できないということかな。