D言語

出典: へっぽこ実験ウィキ『八百科事典(アンサイクロペディア)』

ユーモア欠落症患者のために、ウィキペディアの専門家気取りたちが「D言語」の項目を執筆しています。

D言語(でぃーげんご)は、C言語の後継を目指して開発された言語である。デジタルマーズ社のウォルター・ブライトによって作られた。プログラミング言語界のアンゴルモアの大王とも言える存在である。

目次

[編集] 名前の由来

元々プログラミング言語の命名はBCPL(Basic Combined Programming Language)に基づいてBasic、C言語、Pascal、L言語と順番に続いてきた[1]。当初この言語はL言語の後継を狙って「Mars」と名づけていた。しかしPascal以降の言語の評判が芳しくなく、またもともとAPL (A Programming Language)の存在を無視するBCPLに納得していなかったウォルター氏はこの言語を「D言語」に改名した[2]。なおDelphiはプログラミング言語界の黒歴史に当たるためカウントされていない[3]

[編集] 概要

開発が始められたのは1999年のことである。開発の方向性として実用性を重視するよりもむしろ、当時世に出ていた様々な言語を理解・分解・再構築し一つにまとめ「ぼくのかんがえたさいきょうのげんご」を作ることを優先した。そのため、現在でも1000以上のバグが放置・遺棄されている。ウォルター氏はD 2.0リリース後、機能とバグの等価交換の原則を打ち破るために、呪泉郷に落ちて機械の体になってしまった物理学・錬金術の権威エルリック兄弟と共に完全なる賢者の石を探しにサイラーグへと旅に出ることを予定している[4]

C言語の後継らしく、C言語よりも機能豊富でオブジェクト指向プログラミングや関数型プログラミングも可能でありながら、C++よりも単純化されていて簡単であり、ネイティブコードをはき出せるのでJavaよりも動作が早い。Pythonよりも自由なコード規則で書くことができ、C#と違って大本のフロントエンドがフリーなライセンスで公開されており、Visual Basicと違ってポトペタでないのでプログラマの最低レベルは高い。また、開発者の人徳からかRubyと違って開発者のウォルター氏は皆に慕われている。もちろんDelphiと違って開発環境でお金を取られることもないという夢のような言語であり、現在はAdaよりも普及している。もし開発が始まった当時に正式リリースできていれば、火星(デジタルマーズ)によって幸福の名の下に支配されていて、超新星爆発による巨大な電磁波と放射線のうねりも防げていたであろう。リリースしなかった原因について、ウォルター氏は「1999年7月に起こるとされていた恐怖の大王が訪れなかったことで、気の緩みが生じていた」と語っている。結局その後地球は世界中の人たちの協力によって再建されるのだが、それはまた別の話。昔の皆さんありがとう、地球は元気です。私もなんとか元気です。

[編集] 音楽と言語

音楽とC言語を元にした言語の間には意外な関係がしられている。言語名が音階になっているのである。

言語名 振動数(Hz)
C 260.7
C++ ド♯(♭) 273.6
C# ド♯ 278.4
D 293.3

なお、重嬰ハ(ド♯♯)と関係のある言語は発見されていないが、Cωがそれではないかという指摘がある。

[編集] 現在

この遅すぎたアンゴルモアの大王は復権のために現在も他の言語からのいいとこ取りを続け、肥大化の一途をたどっている。開発者ですらも仕様を把握しきれない状況になるのも時間の問題であろう。いや、すでにひとりの手には余っているのかもしれない。バージョン2の開発が始まってはいるが、順調にいって2015年頃に寝ぼけ眼をこすりながらやってくるくらいだろうか。いずれにしてもまた遅すぎた何かに例えられるのは確実なところであろう。

[編集] プログラムソースの例

ここではHello Worldを出力するプログラムを例示する。 D言語ではmain関数がスタートポイントである。Javaと違ってスタートポイントのためにわざわざクラスを作る必要はない。

import std.stdio;

void main()
{
    writeln!(Object) = new class {
        typeof(super.toString()) toString() {
            return "Hello, world!";
        }
    };
}

ちなみにCでは

char main[] = "`j X$@P[PYPPPPX4.4 PZUX, P^XH,=)F(P_X3F()8)8@)8@@)8)8@PYX@@@@CQBaGHello, world!\n";

となる (コードは兼雑記より引用)。

Hello Worldは入門書の最初のページに書かれているごくごく簡単なプログラムであるが、C言語の初学者が早速挫折しそうな難しいソースに比べ、D言語は取っつきやすい洗練されたソースになっている。


[編集] 出典

  1. C言語の起源をめぐって
  2. FAQ - プログラミング言語 D 2.0: - なぜ D という名前なのですか?
  3. 米BorlandがDelphiなどIDE事業を売却、アプリライフサイクル管理分野に注力
  4. 今後の方向性 - プログラミング言語 D 2.0:
この記事は第一回拡張王コンテストに参加しました。