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