最近、D語を勉強しています。私はいつもランタイムについて少し混乱してきました。
それについて収集できる情報から(それほど多くはありませんが)、Dの機能の一部に役立つランタイムのようなものであることがわかります。ガベージコレクションのように、それはあなた自身のプログラムと一緒に実行されます。しかし、Dはマシンコードにコンパイルされているので、プログラムで必要ない場合は、ガベージコレクションなどの機能が本当に必要ですか?
私を本当に混乱させるのは、次のようなステートメントです。
「Dでオペレーティングシステムを書くことができます。」
オペレーティングシステムには、アセンブリを使用せずにコンパイルされた言語が提供できる以上のものがあるため、実際にはそれを行うことができないことを私は知っています。しかし、Dコードを呼び出すカーネルがある場合、Dランタイムは、Dがそのような必要最低限の環境で実行されるのを防ぎますか?それとも、Dランタイムはそれよりも単純ですか?ソースファイル/ライブラリの単なる「自動」インクルードと考えることができますか?アプリケーションでコンパイルすると、そのコードを自分で作成するよりも大きな違いはありませんか?
多分私はそれをすべて間違って見ているだけです。しかし、このテーマに関するいくつかの情報は、多くの人々に役立つと確信しています。