【问题标题】:Why ActionScript is said scripting language even after grown up so much and having compiled language?为什么 ActionScript 在长大了这么多并拥有编译语言之后仍被称为脚本语言?
【发布时间】:2010-07-13 23:19:26
【问题描述】:

来自维基百科的定义,

编程语言是

脚本语言是允许您将命令直接发送到执行这些命令的系统的语言。这些命令逐行读取并执行解释,但未编译。

虽然,脚本语言是

编程语言是允许您通过编写结构化代码来创建程序的语言,这些代码由系统一次性读取,检查错误,然后翻译成机器可以执行(编译)的不可读格式。

ActionScript 现在是相当发达的语言(在编译后运行而不是解释),在 ActionScript 3、Flex 和 Air 之后,很难相信 ActionScript 仍然被称为脚本语言。

【问题讨论】:

    标签: actionscript scripting


    【解决方案1】:

    编程语言和脚本语言之间的界限很模糊。曾几何时,“编程语言”是一种像 C 或 C++ 这样的编译语言,因为只有这些语言才能真正高效地编写非平凡的程序。脚本语言是通常不编译的语言,因此速度较慢;它们的相对低效率将它们降级为系统维护任务或将已编译程序的部分“粘合”在一起。现在,计算机速度越来越快,语言解释器也越来越先进,因此即使是传统的“脚本”语言,如 Python 或 Tcl,也可以用来编写成熟的应用程序。然而,一旦一种语言被称为脚本语言,就很难推卸责任。

    【讨论】:

    • 说得好。但是为什么任何开发人员都将新开发的语言配音为脚本!我相信硬件变得更快,所以是的,我们甚至可以使用脚本语言开发成熟的应用程序,但是,脚本和编程之间的区别仍然是相同的——脚本更慢,而语言执行速度更快。
    • @Bhavesh:我认为许多新的流行语言更多是脚本语言,所以它们被正确地称为。
    【解决方案2】:

    不要相信维基百科中的所有内容。

    例如 PHP 在运行时被编译成字节码,而 java 在编译时被编译成字节码。 php 解释器执行字节码,而 java VM 执行其字节码,两者都在做同样的事情。

    bash 脚本根本不编译,而是逐行解释运行。

    C 被编译成硬件直接读取的机器码。

    根据 wiki 条目,只有 bash 才是真正用词不当的脚本。

    它比 wiki 条目所暗示的要微妙得多。

    【讨论】:

      【解决方案3】:

      JavaScript 是浏览器中的一种脚本语言,因为它为浏览器编写脚本。

      Bash 是一种脚本语言,因为它为操作系统编写脚本。

      Python 和 ActionScript 被称为脚本语言,因为它们与真正的脚本语言(动态类型,有时解释,比 C 更高级别)有共同之处。我觉得“脚本语言”这个词用得太多了,主要用来贬低动态类型语言。

      【讨论】:

        【解决方案4】:

        阅读上面的定义,机器无法执行 Flex 编译器创建的格式,因此 ActionScript 是一种脚本语言。

        当然,根据该定义,任何编译到 VM 的东西都将被视为脚本语言,包括 Java。第四,作为一种线程解释语言,也是一种脚本语言。

        所以忘记维基百科吧。这些区别过去比现在更有意义。

        JavaScript 每月都在变得更快,并且可能很快就会比 ActionScript 更快,如果还没有的话。

        我认为“脚本语言”的更好定义是,“脚本语言控制应用程序或封闭环境,例如浏览器、文字处理器或 Flash。”

        但是对于 Chrome 操作系统,即使是这个定义也处于危险之中,因为浏览器(包括 Google 已经接受的 Flash)威胁要成为操作系统。

        【讨论】:

          猜你喜欢
          • 2010-11-01
          • 2019-07-04
          • 2012-11-01
          • 2011-01-29
          • 1970-01-01
          • 2017-07-19
          • 2011-03-29
          • 2011-02-09
          • 2013-03-23
          相关资源
          最近更新 更多