私はおもちゃのプログラミング言語を書くという趣味を探しています。一部は他の言語に対する小さな煩わしさから、一部はそれがどのようなものかを理解できるようにするためですが、ほとんどはただふざけているだけです。
それが本当に便利になる可能性が低い場合は、別のプログラミング言語の実行時に、その言語で書かれたプログラムを実行することに依存したくありません。つまり、インタープリター/コンパイラー自体を、ターゲット OS にネイティブにコンパイルされたプログラムにする必要があります (言語自体がインタープリター/ランタイムを提供する場合があります)。
C以外にこれを行う代替手段はありますか? いくつかの利点/欠点、またはそれぞれの使用方法は何ですか?
明確化 1: カーネル、ファイルシステム、デバイス ドライバー、ブート ローダーを作成するのに十分な低レベルになるつもりはありません。しかし、私は自分の記憶を管理できるようにしたいと考えています。
明確化 2: 用語の誤り/誤解が原因で、さまざまな OS で実行されている C ランタイムに慣れていたので、C にはランタイムがないと言いました / または、ランタイムには興味がありません。私が本当に望んでいることは、ブートストラップ言語から追加のソフトウェアをインストールする必要なく、私のプログラムがターゲット (デスクトップ) OS にネイティブにコンパイルされることです。
2.1: Python でコンパイラ/インタープリタを作成する場合、出力される実行可能ファイルを Python プログラムに依存させたくありません。
2.2: たとえば、perl を使用してプログラムをコンパイルするためにコンパイル手順を使用する場合、発行された実行可能ファイルが libperl.dll/so に依存することは望ましくありません。
2.3: 多くのコア OS ツールが C ランタイムに依存しているため、通常、ほとんどすべてのデスクトップ OS に C ランタイムがインストールされているため、例外は C ランタイムです。