如果每种语言都是用另一种语言编写的,那么哪种语言位于底部?

If every language is written in some other language then which language lies at the bottom?

我一直听说每种语言的编译器都是用其他语言设计的。例如PHP的解释器是用C写的。C++是用C写的。JDK是用C/C++写的。那么,如果我没有错的话,就一定存在一种所有人都通用的共同语言。如果在每个编译器的底部都存在一种通用语言,那么该语言是什么?

许多语言确实是用其他语言实现或编写的。然而,一种语言成熟的一个标志是它可以自己编写。这称为自举。有关详细信息,请参阅 https://en.wikipedia.org/wiki/Bootstrapping_(compilers)

Java 被认为是自举语言。要从源代码构建 Java,您需要已经安装 JDK。它确实依赖主机 OS 中的本机组件来完成一些工作,这就是为什么每个平台都有它的 JDK 构建。

C 最初是用汇编语言 and/or BCPL 或其他早期语言编写的。第一批汇编程序是用机器语言编写的——本质上是直接编写指令的数字代码。数字代码通过开关和其他原始输入设备输入到第一台计算机中。

如今,新计算机的软件是在现有计算机上使用工具 运行 编写的。编译器通常设计有前端(读取和解释源代码的部分,生成对编译器有用的中间语言)和后端(将中间语言转换为汇编代码的部分 and/or 目标代码).通过编写新的后端,可以为新机器编译现有编译器的源代码。