> When it gets interesting is when different objects of different types interact, and have locking rules etc. And at that point, trying to encapsulate some "object interface" is absolutely the wrong thing, because it's not about a single object any more.
Linus氏の見解の日本語訳 (スコア:0)
taro-nishinoの日記: Linus氏のC++に対する最近の否定的見解
http://srad.jp/~taro-nishino/journal/509450/ [srad.jp]
Linus氏のC++否定論は、C++というよりも、オブジェクト思考言語全般に当てはまります。読まずに批判・評価する人は、まず読みましょう。
例えば、Linus氏はこういうことを言っています。
「良いコード設計は、いかにデータが移動するか、いかにデータを秩序立てるか、いかにデータを見つけ、他のデータと関連付けるか、について考えが次々と思い浮かぶ。
だが、OO言語は、オブジェクトが重要であり、オブジェクトに関連付けられた
Re:Linus氏の見解の日本語訳 (スコア:0)
>"オブジェクトインターフェイス"を隠蔽
これは何を言いたいのかさっぱりわからん。
インターフェイスは隠蔽すべきでないし、むしろ積極的に明確にするのが普通。隠蔽すべきは、実装などの詳細部分。
Re:Linus氏の見解の日本語訳 (スコア:2)
> インターフェイスは隠蔽すべきでないし、
Linus の言っている "オブジェクトインターフェイス" というのは
オブジェクト指向プログラミング言語なるものが
オブジェクトなるものを扱うためのメモリ管理機構等に
対するインターフェースのことでしょ。
で、"隠蔽" というのはオブジェクト指向プログラミング言語では、
こういった管理機構が暗黙のうちに機能するように言語仕様が
設計されていることをいってんだろうと思う。
Re: (スコア:0)
言ってることが逆だよね。
OOはオブジェクトそのものが重要ではなく、インターフェースやオブジェクト同士の関係が重要となっている。
OO (正確にはADT)より前は、データの中身やその表現方法などが重要だった。というか、インターフェースなどの上位層とその層を明確に分離できてなかった。
Re:Linus氏の見解の日本語訳 (スコア:1)
リファクタリングの話のときにもあったけど、
Cだと
をオブジェクト志向だと、
にするのが気に入らないってことでしょ。コンパイラにとってはともかく、カプセル化することによって、わかったようなわからないような感じになる。
Re: (スコア:0)
並列プログラミング時代に重要なのはデッドロックを防ぐためのロッキングルール(AB-BAデッドロックを防ぐためのロック階層)を正しく保つことにあります。
オブジェクト指向の問題は、振る舞いの隠蔽によってロッキングルールの守られているかが見えにくくなっていくことにあります。
Re: (スコア:0)
とても良くわかる解説ありがとう。
そういう手続き的な何かをOO的な何かに入れ込んで保証しまおうとすると
偉い大変でむちゃくちゃになるというのはわかる。
それをOOの人は適切に判断できないということかな。
Re: (スコア:0)
つ鏡
Re: (スコア:0)
そりゃ、西野さんの言う通り、(Linusさんと比べるなら特に)ここで書き込みしてる人なんて雑魚もいいとこでしょう。あなたも、私も。
その雑魚レベルの人間が、「私見では、ここまででまともなコメントは(私自身のを除けば)これ一つしかありません」なんて「さも一流家のように振舞」ってるのは言っちゃ悪いけど滑稽ですよ…。
Re: (スコア:0)
Linusさんレベルの実績がある人と話をしたいなら、スラドみたいな場所を覗くのはやめましょうよ。
特にACは実績以前に匿名ですから、経験や熟慮に欠けるコメントをしても個人の能力を責められることはないですからね。
結果的に、ごく少数の見識あるAC以外はスルーするしかない。
親コメ [developers.srad.jp]は、興味深く拝見させて頂きましたが、システムプログラミングの経験、C/C++の実務経験がないと理解が難しい内容ですね。そういう経験のある人は少数でしょうし、ざっと見た感じ(Linusさんは丁寧に説明しているものの)どうしてそういう主張になるのか分からず困惑するようなコメントが大半で
Re: (スコア:0)
人々を罵倒するLinusさんの攻撃性に憧れて自己同一化しちゃって、
あたかも自分が人々をやっつけられているような気になってるから、
(英語を読むことで一線を画し見下したはずの)凡百の日本人が
Linusさんに日本語で意見を言ってるのを見ると許せないわけでしょ。
Re: (スコア:0)
私は雑魚ですがlinusの発言の原文をすべて読みましたので、読んでいない雑魚以下の人たちを侮蔑することができます
Re: (スコア:0)
何も考えずに尻馬に乗るしかできない奴が、未熟かもしれないが自分で考えてるやつを侮蔑・・・?
自分で考えてない奴が「まとも」ってそれはねーわ。
Re: (スコア:0)
あなたたちがカスみたいな人間なのはあなたたち自身の問題であって、誰に指摘されるのかは関係ありません
なぜ読まずに考えるのですか
読まずに考えてまともな結論が出ると思っているのですか
原文を読む能力がないのを恥じて、それゆえ読む必要がないと思いたいのですか
それのどちらが愚かなことかすらわからなくなっているのですか
Re: (スコア:0)
この記事ではlinusは目新しいことを言っているわけではないので、主張の内容よりも「実績のある人間の知見」が価値になります
ですから批判するのならちゃんと読んで文脈を理解してその上でおこなわないといけませんし(批判が間違っていても的外れでなければよい)、
そうしないで勝手なことを言うから雑魚以下呼ばわりされるのです
Re: (スコア:0)
Linus氏のような巨人が何故このようなフォーラムに乗込んで、氏から見れば雑魚を相手にするのか
Linus氏の読めない日本語でこういうことを書くのは卑怯なんじゃなかったの?
しかしこの人、英語のフォーラムを読んだ程度のことに随分と選民意識を持ったもんだなあ。普通に読むよ、そのくらい。
Re: (スコア:0)
同意です。技術的議論に感情論を持ち出したり、浅はかな知識を持ち出す人が多すぎです。
並列プログラミングは未だに一般化していないということでしょうかねぇ。
Re: (スコア:0)
技術レベルは様々な場で適当に声を上げたら、そりゃ適当な応答を返す人が大勢いるでしょうよ。
全員がその道のエキスパートなんてことはない。
並列プログラミングなんて分かっているけど、感情論でコメントする人の相手をなんてしているから、
議論に値しないレベルのまま失速する羽目になる。そんな議論に割って入るのは不毛です。
このスレッドにIDの書き込みが少ないのは、そういうことだと思います。
Re: (スコア:0)
> When it gets interesting is when different objects of
different types interact, and have locking rules etc. And
at that point, trying to encapsulate some "object interface"
is absolutely the wrong thing, because it's not about a
single object any more.
「オブジェクトインターフェイス」"を"ではなく、"に""へ""で"隠蔽といったところでしょう