【问题标题】:Compiler and Interpreter preferable [duplicate]编译器和解释器最好[重复]
【发布时间】:2020-06-01 18:48:15
【问题描述】:

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

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

【问题讨论】:

    标签: interpreted-language compiled-language


    【解决方案1】:

    编译语言的优点:

    • 编译为本机代码的程序往往更快 比解释代码。这是因为翻译过程 运行时的代码会增加开销,并可能导致程序 总体上要慢一些。

    编译语言的缺点:

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

    解释语言的优点:

    • 解释型语言往往更灵活,并且通常提供 动态类型和更小的程序大小等功能。
    • 另外,因为解释器执行源程序代码 代码本身是独立于平台的。

    解释语言的缺点:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-28
      • 1970-01-01
      • 2011-03-11
      • 1970-01-01
      • 2011-08-24
      • 1970-01-01
      相关资源
      最近更新 更多