D言語っていうのがあることを知った.
linux.comに,CやC++のパフォーマンスとRubyやPythonのような生産性がある言語を持つことが可能かという出だしで始まる記事でD言語が紹介されいる.
C++の後継であるDigital Mars D言語(正式な名前はMars Programming Language.).リリースは1年前.Zortech C++とDigital Mars C/C++ compilerの作者であるWalter Brightが作ったとのこと.
D言語を開発した理由は,C++が複雑すぎで実装にコストがかかること.C++の重要な機能を損なうことなく大幅に単純化を図ったのがD言語.ふむふむ.
Digital Mars Dのサイトを見ると,サンプルプログラムがありますが,C++というよりは,Javaに似ています.include が import に置き換わっている!コードを見るとforeachが使えて,Perlっぽい.(私はRubyはちょっと知っているけど,Pythonは知りません.)関数やクラス,構造体はネストして定義できる.Javaとの違いは,JavaはJavaVMが実装されているプラットフォームであればどこでも動くが,Dはそうではない.プラットフォームネイティブな効率のよいアプリケーションを書くための設計されていること.
でも,本当にこれで生産性が上がるのか?見てみると,正規表現が普通に?使えます.メモリ管理も簡単になっています.ヒープではなくてスタックにインスタンスのメモリをアロケートすることもできるそうです(scopeストレージクラス.)
他の言語にあってDにないものがhttp://www.digitalmars.com/d/comparison.htmlに整理されています.オブジェクトのマルチインヘリタンスができない(まぁ,めったに使いませんが).動的なクラスのロードができない(たまに使うけどまぁなくてもいいかな),マクロテキストプリプロセッサ(ないんだぁ).
優れているのは,Cの関数をコールできるので,Cのインタフェースを持っているGUIライブラリであれば使えること.
D言語は本当にパフォーマンスが高いのかどうかですが...