跳转到内容

Nimrod 编程/编译语言

来自维基教科书,开放的书籍,开放的世界

什么是编译语言?

[编辑 | 编辑源代码]

在了解其含义之前,我们需要对计算机内部发生的事情有所了解。计算机使用 0 和 1 两个数字,其他任何东西都是使用这两个数字构建的。现在想象一下,你想编写一个应用程序,一个小的应用程序可能包含数千个这样的数字,所以如果我们试图直接用二进制(这是 0 和 1 的名称)编写(确实可以),你应该希望输入一切都完美,因为只有一个数字不在位就会导致应用程序运行错误(如果它能工作的话),所以用二进制编写是不可取的。所以,如果我们不直接编写计算机语言,我们如何与计算机对话?让我们考虑一下:你的朋友收到一封用英语写的信,但他不懂英语,假设他是德国人(是的,一个不懂英语的德国人),你会怎么做?你可以做两件事:要么把它改写成德语,要么直接在他面前翻译这封信。

在计算机科学中,将信件直接翻译给你的朋友被称为解释。就像你对你朋友所做的那样,一个程序(称为解释器)将这些语句翻译成计算机可以理解的语言并执行它们,这是在需要执行程序时进行的。使用解释的语言称为解释型语言。

然而,重写信件被称为编译。将你能理解的语言(称为源代码)翻译成二进制代码或机器代码的程序称为编译器,此外,使用编译器的语言称为编译型语言。

解释 vs 编译

[编辑 | 编辑源代码]

那么哪个更好?两者都不。你可能会问:“为什么?”在计算机科学中,并不总是存在“更好”的选择,选择其中一个取决于你想要实现的目标。解释型语言在执行时通常速度较慢,但它们不需要从源代码到机器代码的翻译阶段(这可能非常慢!),而且它们通常提供一些使其更容易的功能。

华夏公益教科书