如果我有一个“主机”应用程序,该应用程序在某个时刻执行并且知道某些代码的位置。如果它然后实时读取该代码然后做了正确的响应,例如在此代码中创建一个窗口,它会被调用:
int main()
{
create magical mystical window()
}
我知道如果一种语言将代码直接编译成二进制文件,它将被称为编译语言,如果一种语言将代码转换为另一种语言,它将被称为解释语言。
答案 0 :(得分:2)
我知道编程语言会读取代码并将其转换为另一种语言然后编译它将被称为解释语言。
不,这是一种带有额外步骤的编译语言。
您所描述的是一种解释性语言,其中解释器会弄清楚每行代码在运行时的含义。
答案 1 :(得分:1)
实际上,您知道的错误。
然而,事情并非如此简单。例如,java被解释但它动态编译它运行的一些代码,但是,我们仍称它为解释语言。 C被称为编译语言,但是许多编译器会将C转换为汇编程序,然后将其组装成处理器将运行的字节码。因此,C是现实中的一种转换语言,但我们称它们是按惯例编译的语言,并且一些现代编译器(不幸的是)绕过了汇编程序。
因此,对于很多语言来说,它们是由惯例决定的以及它是如何被使用的。但是,正如大卫施瓦茨在评论中对自己对这个问题的回答所说:
实际上,将执行过程描述为该语言的属性并不是一个特别好的主意。