アスペクト指向という言葉はけっこう昔からあったが、その具現であるDIとか、Springという言葉は、2005年くらいになってから出てきた言葉である。
やや遅れて、Javaが、クラスを動的に呼び出すことを美徳にするようになったあたりで、テストファーストという言葉をJavaのエンジニアがよく言うようになった。
これは、オープンパラダイムにおいて、ウォーターフォールモデルが通用しなくなったことへ対策であるが、どうやら、このときに、テスト対象となるプログラムのモジュール依存度が強いことは、アスペクトが適用しづらいから、DIは積極的に活用すべきである、という議論になったようだ。本当は、ノンコーディングでJ2EEを作れるようにしようというStrutsに由来するものであるような気がするが。
C言語はやはりもう古い。C++もやはり古い。しかし彼らにJavaがいうエレガントな哲学を強要していいのか。それは、C言語の成り立ちを理解し、常にオペレーティングシステムと、新しい非仮想の処理系とともに、時代を歩んできたことを考えると答えは明白であろうかと。
C++がOSSの分野でJavaと歩み寄ろうとしていることはとても興味深い。LAMPやPythonやPhp、だけじゃないんだね。