概要
完全に新しく設計された言語。基本的にはかなりやりやすい。
現在の感想:Win上ではC#2.0には負けると思います。速度的にもWinではC#の方が早くなると思われ。またWin以外ではD言語は無価値。Cでやってしまう。
しかししばらくおいかけはします。いつちゃんと多バイトが快適に利用できるようになるでしょうか。あきらかに作成者はアルファベットしか利用した事ないのが明らかすぎる。。
2005.03.06:現状では失敗した言語という結論です。ただあと2年後には状況は変化しているかもしれません。
URL
GDC - D Programming Language for GCC
http://www.kmonos.net/alang/d/
インストール
バイナリインストール
gdcmac - GNU D Compiler for Mac OS X
上記サイトにインストーラがあります。
ソースからコンパイル
ちょっと大変かも。
http://www.algonet.se/~afb/d/Makefile
このMakefileを利用すれば楽
http://home.earthlink.net/~dvdfrdmn/d/
http://developer.apple.com/documentation/DeveloperTools/gcc-3.3/gcc/Source-Code.html
コンパイル手順は以下などが参考になります。
freebsdクロスコンパイル - sakurai
Apple拡張のGCCの場合パッチあてたら build_gccを変更してmake install でコンパイルインストール。
手でパッチあてられないならコンパイルはあきらめる事。それができない知識レベルだといろいろ危険です。Appleのrtl.hは10個所ほど違いがあるので注意。
build_gccの変更・
ENABLE_LANGUAGES="c++,c,objc,objc++,ada,f77,d" PREFIX=/usr/local/gdc-devel
素のGCCでコンパイルしてみた。Apple拡張がはってないのですが、利用は可能。こっちの方が楽かも。
tar -zxvf gcc-3.3.3.tar.gz mkdir gdc-devel cd gdc-devel # ここで手でパッチあててみた ../gcc-3.3.3/configure --prefix=/usr/local/gdc-devel --program-prefix=osx --enable-threads=posix --enable-languages=c,c++,f77,objc,ada,java,d make
iBookでコンパイルしたらファンが激しく動作してちょっとびっくり。その前にちょといろいろ作業していたせいで熱くなっていたせいな感じ
次に phobos をコンパイルします。
cd ../gcc-3.3.3/gcc/d/phobos/ ./prepcygwin.sh cd ../../gdc-devel ../gcc-3.3.3/gcc/d/phobos/configure --prefix=/usr/local/gdc-devel
以下がでる
configure: error: libtool configure failed configure: error: /bin/sh './configure' failed for boehm-gc
本当は根本から修正すれば良いのだが、とりあえずconfigureからboehm-gcをはずした。MakeFileを直接いじった
最初Re: Bus error compiling Phobos on Mac OS Xこれと同じような現象で死んだ。根源の原因はまったく違ったけど。。
設定
利用方法
今の所の雑感
C++より遥かにやりやすい。趣味ベースではC++やる価値はまったくない。趣味でやるならDかC#とかJavaとかで良い。
ライブラリの増加とマルチプラットフォーム性がなんとかなれば利用者が増加するかも。あとはちゃんとしたGUIライブラリが必要かも。
1.0が出るまでとりあえず待ちかな。。今のままだとバグバグだったり仕様変更が多すぎておいかける気が低下します。
あとエラーメッセージですがGNAT並にしてほしいな(不可能なんだけど、近似はしてほしい)
NewsGroup
http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D
http://www.digitalmars.com/drn-bin/wwwnews?D.gnu
参考サイト
is02@tokushima-u - D言語(いまんとこLinux)
SDL Knowledge Base - MacOSX+SDL+D言語でのアプリケーションコンパイル法
http://home.comcast.net/~benhinkle/concurrent-doc/
Code Reading/TSUMIKI Fighters - PukiWiki