D言語
出典: フリー百科事典『ウィキペディア(Wikipedia)』
パラダイム: | マルチパラダイム |
---|---|
登場時期: | 1999年 |
開発者: | Walter Bright |
最新リリース: | 1.011 / 2007年4月11日 |
型付け: | 強い静的型付け |
主な処理系: | DMD, GDC |
影響を受けた言語: | C, C++, C#, Java, |
ウェブサイト: | www.digitalmars.com |
D言語(ディーげんご)はC言語の後継を目指したプログラミング言語のひとつ。
Digital Mars社のWalter Brightによって作られたマルチパラダイムプログラミング言語であり、オブジェクト指向プログラミングも可能である。
C言語の後継としてはC++が有名であるがその複雑さも随一である。Javaは複雑さを適度に押さえ、豊富な標準ライブラリを持つが、仮想マシンを必要とするためパフォーマンスを求める場合には敬遠される。かといってC言語では低レベルすぎるといった、それぞれの言語の使いづらさに対して現実主義的な回答を模索した言語といえる。
2007年1月3日(現地時間1月2日)にようやくDMD(Digital Mars社製のD言語コンパイラ)のバージョン1.0がリリースされた比較的新しい言語であるため、近年発達してきた概念や機能が多く取り込まれている。
具体的には、例外処理やテンプレートなどへの対応がなされているほか、正規表現やスレッド、ソケットなども標準ライブラリに含まれている。また事前・事後条件のチェックや不変条件のチェック、debug識別子の導入などプログラムのデバッグ・保守にたいして重点的にサポートしている点もこの言語の特徴である。
目次 |
[編集] 特徴
- 実用的に作られている(goto、インラインアセンブラ、Cとのバイナリ(ABI)互換)
- ネイティブコードを出力する非常に高速なコンパイル
- 機能強化された配列(動的サイズ変更、スライシング、連想配列、組み込みの文字列)
- ガベージコレクション
- プロトタイプ宣言、プリプロセッサの撤廃
- 契約による設計(契約プログラミング、DBC)、例外処理、スコープガード
- 暗黙の型推論
- 改良されたテンプレート構文、テンプレートミックスイン、可変個引数、タプル
- ネストされた関数
- 遅延評価
- 全クラスがObjectから派生
- 文字列をコードとしてミックスイン (1.005)
- 任意のファイルのインポート (1.006)
- 関数のコンパイル時の実行 (1.006)
- 比較演算子が同じ優先順位 (1.007)
など
[編集] 開発ツール
デバッガはCやC++と同じobjectフォーマットを使用するためCやC++用に書かれたものが使える。既存の開発ツールについては以下のページが詳しい。
http://www.prowiki.org/wiki4d/wiki.cgi?EditorSupport
[編集] 歴史
- 1999年12月にWalter Brightが考案。
- 2007年1月にバージョン1.0リリース。
[編集] 関連項目
- ABA Games - D言語を使用したゲーム開発で有名
- BulletML
[編集] 外部リンク
[編集] リファレンス
- D Programming Language(D言語リファレンス)
- プログラミング言語 D(上記リソースの日本語訳)
- D言語研究
[編集] リソース
- わかったつもりになるD言語(通称わなD。D memoの2007年版)
- C/C++に疲れた人のD言語
- D memo
- D言語の四方山話
- D言語入門
- Dめも
- D language site
- D言語研究室
- D言語でDirect3D9を使う
[編集] その他
- Walter Bright's Homepage
- GDC - D Programming Language for GCC - GCC版Dコンパイラ(最近x64に対応した)
[編集] ライブラリ
- Tango - D言語の標準ライブラリphobosに置き換わるであろうライブラリ
- DFL - D言語の主要なGUIライブラリ
- DFL and Tango - 上記のDFLとTangoを組み合わせたライブラリ
- ゲームヘル2000 - ゲーム製作用ライブラリ「dHell」
- ゲームヘル2000 - dHell2 - dHellの続編