« 家路。 | トップページ | LGPL。 »

2008年6月25日 (水)

D言語について。

最近、D言語を知りました。

言語仕様に共感する部分が少なくなく、IDE(統合開発環境)も有志によって整備されています。

本格的なフォームデザイナと、C言語からのコンバータがあれば、すぐにでもTurboC++から移行するのですが・・・。1年早くに知っていれば・・・。

私は、「ただのWin32アプリ」が作りたいだけなのです。

(080601 00:00 追加)

意を決して、D言語で「Hello,World!」を表示させてみた・・・。

良い機会ですので、現在試作中のDBエンジンを大きく設計変更して再構成しようと思いました。先は長いですが・・・。

これからもC言語は、仕事で依頼されて使う時はあると思いますが、個人的なプログラミングはD言語で行こうと思います(^^)b。

DMDコンパイラのバージョンは1.xx、IDEはPoseidonを据えました。

DOS版のTURBO PASCALから使い始めたBorland系の開発環境とも、これでお別れです・・・。

(080606 21:30 追加)

少しずつ、Cで書いた既存ソースを移植しています。元ソースを貼り付け、コンパイルが通るように修正して動作確認、という手順を関数ごとに行っています。

基本的にはBASIC-PASCAL系を長く好んでいましたので、専門的にみるとあまり凝ったプログラムではないと思いますが、それでも、配列操作の手法としてポインタを利用することもあり、移植にあたってその挙動を心配していたところですが、結果「cast」という語句を入れたり、変数型名をDの言語仕様に合わせるくらいで、そのまま動作するようです。

(080614 12:00 追加)

配列のスライシング、文字列の「.dup」メゾッドといった独特の機能を使い始めました。特に後者は、私がC言語をやっていなかったら理解に苦しむ仕様だったと思います。

(080624 23:00 追加)

フォームデザイナとして、Gladeを使ってみました。必然的に、GUIライブラリはgtkDを使うことになりますが、gtkDのコンパイルが通り、Gladeで作ったフォームを表示するところまで分かりました(~~;。

(080625 11:30 追加)

メモ:

gtkDを解凍したディレクトリで「DSSS build」を実行するとコンパイルできる。同じく「DSSS build --doc」を実行すると「src\dsss_docs」以下のディレクトリにリファレンスマニュアルが生成される。

おかげで、Gladeで作成したフォーム内のテキストボックスに文字を流し込むことが出来ました。何とかGUIプログラミングできそうです(^^)b。

(080626 22:30 追加)

ウインドウ内のテキストボックスに、リアルタイムで処理の進行状況を表示させたい時、その更新のために例えばVBAではDoCmd..RepaintObject、DelphiではRefreshメゾッドを使っていますが、gtkDでは相当する機能がないようです。ボタンを押して処理を開始した時、処理が終わるまでUIの再描画は行われないようです。gtkDの基幹ルーチンであるGtkD.main()が属するモジュールに何か用意されているかも知れないと思い至るまでに時間がかかりました・・・。そして、該当するリファレンスマニュアルに答えがありました・・・。

    while (GtkD.eventsPending ()) {GtkD.mainIteration ();}

(080708 09:30 追加)

現在、IDEは使わず、「サクラエディタ」のタブ切り替えモードで使っています。[F5]でリビルドできるようにしてあります。単一フォルダで完結するプロジェクトであれば、これで充分だと思います(^^)b。

(080714 00:00 追加)

既存ソースの char型を ubyte型に書き換えました。今まで動作に問題はなかったのですが、言語仕様で明確に区分されていますので、その意向に沿った形です。その結果、コンパイルした実行ファイルの大きさが変わりましたが、速度は変化ないようです。

(080717 20:30 追加)

IDEをEntice Designer、GUIライブラリをDFLにしてみました。一長一短という印象です。ただ、環境のインストールからフォームデザイン、コーディング、実行までの手順は、こちらの方が取っ付きやすいと思います。

(080719 13:30 追加)

DFLは配布条件も緩いようです。D言語を使ってWindowsアプリを作る環境としては、私には必要十分だと思います。欲を言えば、Entice Designerでイベントハンドラの入り口まで自動生成してくれたら、ほとんどDelphiやC++builder感覚になるのですが・・・。

|

« 家路。 | トップページ | LGPL。 »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/128666/21279976

この記事へのトラックバック一覧です: D言語について。:

« 家路。 | トップページ | LGPL。 »