- 31 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 00:04:45 ]
- C++がオブジェクト指向的でないコードが量産される背景には、
interface 概念がはっきりした形で存在しないために(Java C# 等には明白な形で存在する)、 実はそれはRTTI+仮想多重継承で同様の機能が実現できるにも関わらず 使いこなせないケースが多いように見受けるな。 オブジェクト指向を推進するにも関わらず、多重継承を嫌うという事態になっている人を多々見かける。 その結果、オブジェクトをインターフェイス、つまり共通の仕様を通してアクセスするという概念が希薄。 それでも、共通でなければ不便である事は分かっているようで、無理やりな共通化をして、 結果クラスの継承ツリーが歪なコードを量産してしまう、ただの知識不足なのでもったいないんだが・・・ また、メッセージパッシング式の動作を書けないのは、ガベージコレクタが無いのが原因だろうな。 この方式は、ちゃんとインスタンス管理ができていないと、まともにコードできない。 C++のインスタンス管理は面倒くさいので、おろそかになりがちな人が多い。 ところが、おろそかであるにも関わらず、本人はその自覚が無いケースも多い、 むしろインスタンス管理がしっかりできていると信じて疑わない人は多々あり。 これは、例外に関わるバグにも発展するのでしっかり勉強して欲しいのだが、 自覚症状無しというケースに当たると辛い。
|

|