D言語とやら

現実逃避に触っています。
触ってみた理由はもうC++は疲れたので(ガベコレとかコンパイル時間とか)、もうちょっと判りやすいものがよかったことと、gccコンパイルしたオブジェクトとリンクできること(実は重要)。
ボクはJava脳なので、それに似ているから書きやすいのも嬉しいかな。
いくつか気になったことを素人なりにメモしておきます。

Unicodeとか

さすが新しい言語だけあって、片っ端からUTF-8で書けば大丈夫のようです。
ですが、標準入出力の環境で指定されたエンコーディング無視がひどい。
std.stream辺りが指定した文字コードの変換(iconvとか)を受け持つべきだと思うのだけど。
このへんはtxで解決。。。標準でやってくれぃ。

Phobosのマニュアルが貧弱(D Runtime Library)

普段Javaをよく書くからJavadocを見ることが多いので、Javadocdoxygenと比べるのが悪いのかもしれないけど、メンバ関数のリストがないとか、見にくくてなりません。クラス名とか関数名とかにはアンダースコアがついてるけど、リンクじゃないし。
ひょっとしてこのドキュメントって自動生成ではないんだろうか。それはそれでtypoがありそうで怖いのだけど。
あと単純にライブラリがしょっぽい。これもJavaと比較してるからだけど。

配列がややこしい

int* p;
データへのポインタ
int[3] s;
静的配列
int[ ] a;
動的配列
int[char[ ] ] x;
連想配列

配列 - プログラミング言語 D (日本語訳)

区別がつかん!!
特に連想配列。なんでCぽい文法にしたんだろう?Mapとかじゃ駄目なんだろうかね?
配列の境界チェックを動的にしているようだけど、その例外のクラスがどこに書いてあるんだか判らない。

そんなところ。