我正考虑写一个玩具编程语言作为兴趣爱好,部分原因是对其他编程语言的小烦恼,部分原因是想了解它的使用感受,但主要还是为了随便玩玩。
如果这个玩具编程语言真的变得非常有用,我不希望它依赖于另一个编程语言的运行时才能运行。也就是说,我希望解释器/编译器本身就是一个编译成目标操作系统的本地程序(语言本身可以是解释的/提供运行时)。
除了C之外,有没有其他替代方案?每种方法都有哪些优缺点?
澄清1:我不打算降到足以编写内核、文件系统、设备驱动程序、引导加载程序的低级别。然而,我希望能够管理自己的内存。
澄清2:由于术语错误/误解,并且我已经习惯了在各种操作系统上运行的C运行时,所以我说C没有运行时/或者我不感兴趣运行时。更好的说法是,我的程序可以原生编译成目标(桌面)操作系统,而不需要从引导语言安装其他软件。
2.1:如果我用python编写编译器/解释器,我不希望生成的可执行文件依赖于python程序。
2.2:如果我使用编译步骤,例如使用perl编译程序,我不希望生成的可执行文件依赖于libperl.dll / so。
2.3:例外是C运行时,因为C运行时通常安装在几乎所有桌面操作系统上,许多核心操作系统工具都依赖于它。