编译语言和解释语言的区别

不同的语言类型产生不同的效率和易于编码

编程语言分成两个不同的家庭:编译解释。编译语言是由人编写的,然后将源代码翻译成汇编语言,以便目标程序运行并返回所需的结果。然而,解释性语言在运行时是实时编译的,它通常使用更简单、更人性化的语法进行编码。

在考虑学习一种新的编程语言时,编译语言和解释语言的选择不应该是一个主要的因素。

什么是编译语言?

用C编写的Hello World

考虑一个简单的程序,helloworld.c,写于C编程语言:

# include < stdio . h >
int main ()
{
printf(“Hello World”);
}

C语言是一种编译语言。要运行上述代码,必须将其传递给C编译器——一个解释您的代码以构造二进制程序的程序。要在Linux中编译一个简单的C程序,使用海湾合作委员会编译器:

GCC helloworld.c -o hello

上面的命令将代码从人类可读的格式转换为计算机可以本机运行的机器码。编译后的程序通过从shell中执行已编译程序的名称来运行:

。/你好

的优点和缺点

使用编译器编译代码的好处是,最终产品通常比解释代码运行得更快,因为它不需要在应用程序运行时动态编译。

编译过程中检查已编译的程序是否有错误。如果有任何编译器不喜欢的命令,那么它们将被报告。这种错误检查可以帮助您在得到一个运行良好的最终产品之前修复所有的编码错误。

程序成功编译并不意味着它将按您期望的方式运行,因此您仍然需要测试应用程序。

然而,在Linux计算机上编译的C程序不能在Windows计算机上运行,因为编译器包含在特定平台(通常是编译它的平台)上运行应用程序所需的工具。要在Windows计算机上运行相同的C程序,必须在Windows计算机上使用C编译器再次编译该程序。

什么是解释语言?

Python Hello World

Python是一种流行的解释语言。

打印(“hello world”)

上面的代码是一个python程序,它将显示这些单词你好世界当它运行时。要运行代码,我们不需要首先编译它。相反,我们可以简单地运行以下命令:

python helloworld.py

或者,只需要从Python交互式解释器中输入即可。

这个很小的一行程序不需要首先编译,但它确实要求在运行脚本的任何机器上安装Python。Python解释器获取人类可读的代码,并将其转换为机器可读的代码。所有这些都发生在幕后,作为用户,你看到的只是文字你好世界打印到标准输出。

的优点和缺点

一般来说,解释代码比编译代码运行得慢,因为解释器将程序实时转换为机器可以处理的内容。

尽管这种效率上的打击似乎是一个缺点,解释型语言之所以有用,有几个原因。首先,让用Python编写的程序在Linux、Windows和Linux上运行要容易得多macOS。您所需要做的就是确保要运行脚本的计算机上安装了Python。

另一个好处是,代码总是可以阅读的,并且可以很容易地更改为您想要的工作方式。对于已编译的代码,您需要找到保存代码的位置,更改它,编译它,并重新部署程序。但是,如果使用解释过的代码,打开程序,修改它,它就可以运行了。

这个页面有用吗?