代码之家  ›  专栏  ›  技术社区  ›  Ashwani Sharma

如果每种语言都是用其他语言写的,那么哪种语言位于最下面?[已关闭]

  •  1
  • Ashwani Sharma  · 技术社区  · 6 年前

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

    2 回复  |  直到 6 年前
        1
  •  4
  •   Eric Postpischil    6 年前

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

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

        2
  •  1
  •   MaxPower    6 年前

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

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