最近はやりのプログラミング言語「D」で遊んでみる。
開発環境の構築は一瞬だし、コンパイルも一瞬、Cのライブラリが自由に呼び出せるし、そのまま実行バイナリが出来上がるのはひたすら便利。ライブラリが少なかったりバグバグだったりするのは、まあ仕方ない。Cのライブラリは自由に使えるのだから、C言語の代替品としては十分すぎる(文字列の結合が「~」だったりするのが、ちょっち嫌だけど)。
個人的には、JavaのInner Classが無いのが不満。でも、純粋なObject指向言語ではなく、便利なBetter C++として関数OK、ポインタOKのD言語ならばむしろdelegateだけの方が自然という気もする。ここら辺はC#とは事情が異なるわけで、必ずしも問題とはいえまい。
ちょっと世間的に熱が冷めてきているという噂なので、どうしようかと思っているけど、実行環境がないと動かないというJavaとかPerlとかRubyとかの不満が解消されるので(←自分で使う分にはいいのだが、他人に使わせる場合に大変なのだ)しばらく使ってみるつもり。



ちょっと使ってみて気付いたこと。

  • wcharとかdcharとか要らんから廃止してくれ。入出力時にコンバートすりゃいいだけじゃん。
  • std.socketstreamのreadLineとかwriteLineにゴミが入るのは仕様?
  • 基本ライブラリに一貫性が無さすぎて泣けてくる(Cっぽいのと、Object指向っぽいのが混ざってる)。特殊用途のライブラリはCのを使うからいいとしても、数値とか文字列のレベルでそれだと結構難儀。浮動小数点を文字列化するにはどうしたらいいんだ?