gpt4 book ai didi

language-agnostic - 编译型语言不能具备解释型语言的哪些特性?

转载 作者:行者123 更新时间:2023-12-04 12:38:25 25 4
gpt4 key购买 nike

解释型语言通常更高级,因此具有动态类型(包括在不声明的情况下动态创建新变量)、臭名昭著的 eval 等特性。以及许多其他使程序员的生活更轻松的功能 - 但为什么编译语言不能拥有这些呢?

我指的不是像 Java 这样在 VM 上运行的语言,而是那些像 C(++) 那样编译为二进制的语言。

我现在不打算列出 list ,但如果您要问我的意思是哪些功能,请查看 PHP、Python、Ruby 等必须提供的功能。

  • 编译型语言中不能/不存在/确实存在解释型语言的哪些共同特征?为什么?
  • 最佳答案

    源代码是否编译 - 本地二进制文件,某种中间语言(Java 字节码/IL) - 或解释绝对是 没有语言特征 .这只是实现的问题。

    您实际上可以同时拥有相同语言的编译器和解释器,例如

  • Haskell:GHC <-> GHCI
  • C: gcc <-> ch
  • VB6:VS IDE <-> VB6 编译器

  • 某些语言特性,如 eval 或动态类型,可能暗示了所谓的“动态语言”和静态语言之间的区别,但如何运行永远不是主要问题。

    关于language-agnostic - 编译型语言不能具备解释型语言的哪些特性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2516754/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com