什么是解释语言?
Python 是一种流行的解释性语言。
print ("hello world")
上面的代码是一个python程序,运行时会显示hello world这个词。
要运行代码,我们不需要先编译它。
相反,我们可以简单地运行以下命令:
python helloworld.py
或者,只需从 Python 交互式解释器中键入它。
这个微小的单行程序不需要先编译,但它确实需要在运行脚本的任何机器上安装 Python。
Python 解释器获取人类可读的代码并将其转换为其他内容,然后再使其成为机器可以读取的内容。
所有这些都发生在幕后,作为用户,我们看到的只是打印到标准输出的 hello world 字样。
优点和缺点
一般来说,解释代码比编译代码运行得更慢,因为解释器将程序即时翻译成机器可以处理的东西。
尽管这种效率下降似乎是一个缺点,但解释型语言由于几个原因而很有用。
首先,让用 Python 编写的程序在 Linux、Windows 和 macOS 上运行要容易得多。
我们需要做的就是确保在我们希望运行脚本的计算机上安装了 Python。
另一个好处是代码始终可供阅读,并且可以轻松更改以按照我们希望的方式工作。
对于编译后的代码,我们需要找到代码的保存位置,对其进行更改、编译和重新部署程序。
然而,使用解释代码,我们打开程序,更改它,然后它就可以运行了。
不同的语言类型产生不同的效率和编码的难易程度
编程语言分为两个不同的家族:编译型和解释型。
编译语言由人工编码,然后将源代码转换为汇编语言,以便目标程序运行并返回所需的结果。
然而,解释型语言在运行时是实时编译的,它通常使用更简单、更人性化的语法进行编码。
当我们考虑学习一种新的编程语言时,选择编译语言还是解释语言不应成为主要因素。
什么是编译语言?
考虑一个用 C 编程语言编写的简单程序 helloworld.c:
#include int main() { printf("Hello World"); }
C 是编译语言的一个例子。
要运行上述代码,我们必须将其传递给 C 编译器 — 一个解释代码以构建二进制程序的程序。
要在 Linux 中编译一个简单的 C 程序,请使用 gcc 编译器:
gcc helloworld.c -o hello
上述命令将代码从人类可读格式转换为计算机可以本地运行的机器代码。
编译程序通过从 shell 执行编译程序的名称来运行:
./hello
优点和缺点
使用编译器编译代码的好处是最终产品通常比解释代码运行得更快,因为它不需要在应用程序运行时即时编译。
在编译期间检查已编译的程序是否有错误。
如果有任何编译器不喜欢的命令,那么它们将被报告。
这种错误检查可在获得运行良好的最终产品之前修复所有编码错误。
仅仅因为程序编译成功并不意味着它会以我们期望的方式运行,因此我们仍然需要测试应用程序。
但是,在 Linux 计算机上编译的 C 程序不能在 Windows 计算机上运行,因为编译器包含在特定平台(通常是编译它的平台)上运行应用程序所需的工具。
要在 Windows 计算机上运行相同的 C 程序,我们必须在 Windows 计算机上使用 C 编译器再次编译该程序。