0

什么时候编译语言比解释语言更可取,反之亦然?

我知道编译器一次编译整个代码并生成目标代码,而解释器逐行解释代码。什么时候对另一个更有利?

4

1 回答 1

1

编译语言的优点:

  • 编译成本机机器代码的程序往往比解释代码更快。这是因为在运行时翻译代码的过程会增加开销,并可能导致程序整体变慢。

编译语言的缺点:

  • 测试前完成整个编译步骤所需的额外时间
  • 生成的二进制代码的平台依赖性

解释语言的优点:

  • 解释性语言往往更灵活,并且通常提供动态类型和更小的程序大小等功能。
  • 此外,因为解释器自己执行源程序代码,所以代码本身是平台无关的。

解释语言的缺点:

  • 与编译语言相比,最显着的缺点是典型的执行速度。

当一种语言优先于另一种时,取决于我们的应用程序的类型以及我们的偏好和优先级,例如可移植性或跨平台(可能首选解释型)、速度或性能(可能首选编译型)和各种其他因素。

一个例子:- 如果源代码隐藏是您的首要任务- 开发人员使用本地编译的代码部署程序和数据的可执行 macine 代码。使用解释代码,必须部署源代码本身,然后可以对其进行检查和逆向工程,其工作量比对本机机器代码进行逆向工程要少得多。

但它会因任务而异,也会因将使用该语言的用户/组织的偏好而有所不同,并且将更多地取决于该语言提供的功能以及它对特定应用程序的适用程度,而不是语言本身的类型。还有许多其他因素比编译和解释更重要。

此外,如果您正在考虑任何软件或网站,它们很少以单一语言编写。因此,两种语言类型 - 编译和解释都可以是同一种应用程序的一部分。

于 2020-06-01T19:08:14.967 回答