今現在のDの環境と自分のDの環境について。
仕様
まず、仕様についてはまだ完全に決まっているというワケではありません。巷ではv1.000がリリースされたからこれで安心してD言語を扱えると言われていますが、とんでもない。基本的にdmd*1のバージョンがある一定の値に定まったからと言って仕様が定まるということは無いでしょう。しかし、D言語が多大に影響を受けている言語はC++/Javaなので、大体の骨組みは完成してると言って良いでしょう。
文字コード
Dは基本的にUnicode(UTF-8/16/32)しか扱ってくれません。なので、Shift_JISやEUCなどが扱いにくいです。それゆえphobos*2でもShift_JISやEUCが扱いにくなっています。しかし、yaneuraoさんとその他の人達がtoMBSz*3を書いてくれたので、なんとか扱えるレベルになっています。しかし、本来であればStringなどでRaw-codeは隠蔽すべきです。
開発環境
開発環境には二種類の環境があります。ひとつはIDE、もうひとつは他のIDE用のプラグインやエディターのプラグインです。
IDEは過去にいくつか開発されましたが、その殆どが開発終了になってしまいました。その中の一つにElephant IDEというのがあったのですが、それがその他の開発環境を圧倒していました。それも開発終了になったのですが、今は、その後続のIDEとしてPoseidonが開発されています*4。
プラグインについては作成するのが簡単なため、いくつかあります。もっとも多いのがEclipse用のプラグインです。これもいくつかが開発されていましたが、いくつかが開発終了になっています。今現在でも開発されているのが、Descentというプラグインです。その他にもVS用のプラグインVSpluginDがあります。
Emacsな人達は自分用のd-modeを書いているでしょうが、私はEmacs系をつい最近始めたばかりなので、殆どEmacs Lispが分からない状況に居ます。なので、ben.hinkleさんが公開なさっているd-modeを使っています。
ライブラリ
プログラミング言語というのは、ライブラリさえ揃っていればどんな言語でも殆どなんでもできてしまうのがすごい所です。D言語でも同じようなことが言えるのですが、バージョンアップによって仕様が変わったり、機能が追加されたり、まだコンパイラのバグが直ってなかったり、仕様バグと呼ばれるバグがあったりで、昨日動いていたライブラリが今日ではまったく動かなくなる。予想GUYの反応を示す。というのは日常茶飯事とは言わないまでも、いろいろとメンドウな事を引き起こします。しかし、主要なライブラリ開発者達はD言語をいち早くメジャーな言語にしたいので、即刻修正に図ります*5。
それで、以下では主にD言語使いが使っているであろうとD言語初心者が予想するライブラリを連ねてみたいと思います。
まず、ネットワークプログラミングを楽にするMango。Mangoは今も開発中ですが、後にaresと統合してTangoになったようです。2chのD言語スレの702氏によると、
702 Name: デフォルトの名無しさん [sage] Date: 2007/01/29(月) 01:20:10 ID: Be:
http://pc10.2ch.net/test/read.cgi/tech/1165621441/
ares と mango が統合して tango とかになるんじゃなかったっけ?
ということらしいです。
aresとは、Second phobosと書いてある通り、phobosに置き換わる標準ライブラリとして開発が始められました。それらが後、統合されTangoとなっています。Tangoは多分、殆どのD言語使いに使われているThird phobosです。それにちゃんとIReader/IWriterというインターフェースがあり、文字コードが隠蔽されています。
aresやTangoは標準ライブラリですので、Win32API等のAPIを隠蔽してくれるGUIライブラリが必要です。それにはDFLがあります。さらにDFLとTangoを融合させたDWF+Tangoというのもあります。DFL+Tangoについてはg:dprogramming:id:haru-sさんがものごぉぉっつ詳しいです。Rebuildというツールを使えば良いらしいですが、詳しくは知りません。
ツール
Bud(Build)や、DSSSなどがあります。詳しくは我等が指導者、k.inabaさんの次の記事が詳しいです。D言語各論が待ち遠しいです。
[わなD] 開発環境