...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

コンパイルが通ったらちゃんと動くという理想

プログラミング言語の設計者の変わらぬ夢は、プログラムのコンパイルに通ったらそれは動く、ということです。もちろん、「動くプログラム」の定義は十分納得できるものでなければなりません。例えば、プログラムが決して "stuck" しない — 計算機科学では厳密な意味を持つ単語ですが、おおまかにはプログラムが一般保護違反を起こさないこと (環境非依存な形で定義された"次の実行ステップ"が無いという意味で stuck と言います) — という保証は欲しいところでしょう。そのような性質を持つ言語は「健全」であると呼ばれます。

SafeDとかSubsetとかの単語が出てくるからもっと別の内容を予想していたが,ここにはDの設計理念(のいくつか)が記されているようだ.
中でも興味深かったのは,上の引用部分.
コンパイルが通ったらちゃんと動くというのは確かに多くの(特に初心者)プログラマにとって理想であろう.
これを保証するためにはコンパイル時に明記しなければならない情報が多くなるのは当然だ.
Dが型にとてつもなく厳しいのはこのあたりからくるんだな.
そして,その厳しさを和らげる意味でも,Dはジェネリックなコードの記述に強い言語でなければならないというわけだ.