来自维基百科的定义,
编程语言
脚本语言是允许您将命令直接发送到执行这些命令的系统的语言。这些命令逐行读取并执行 - 解释,但不编译。
虽然,脚本语言是
编程语言是一种语言,允许您通过编写系统一次性读取的结构化代码来创建程序,检查错误,并转换为机器可以执行(编译)的不可读格式。
ActionScript现在是非常开发的语言(在编译之后运行而不是解释),在ActionScript 3,Flex和Air之后,很难相信ActionScript仍然被称为脚本语言。
答案 0 :(得分:5)
编程语言和脚本语言之间的界限很模糊。曾几何时,“编程语言”是一种编译语言,如C或C ++,因为只有那些语言才能真正有效地编写非平凡的程序。脚本语言通常是不编译的语言,因此速度较慢;他们相对低效率将他们降级为系统维护任务或将编译程序的某些部分“粘合”在一起。现在,计算机变得越来越快,语言解释器越来越先进,因此即使是像Python或Tcl这样的传统“脚本”语言也可以用来编写成熟的应用程序。但是,一旦一种语言被称为脚本语言,就很难避开标题。
答案 1 :(得分:2)
不要相信维基百科中的所有内容。
例如,PHP在运行时被编译成字节码,而java在编译时被编译成字节码。 php解释器执行字节码,而java VM执行其字节码也做同样的事情。根本不编译bash脚本,并逐行解释。
C被编译为机器代码,由硬件直接读取。
根据wiki条目,只有bash真的是一个用词不当的脚本。
它比wiki条目暗示的要细致得多。
答案 2 :(得分:2)
JavaScript是浏览器中的一种脚本语言,因为它会编写浏览器脚本。
Bash是一种脚本语言,因为它可以编写OS脚本。
Python和ActionScript被称为脚本语言,因为它们与真实的脚本语言共享事物(动态类型,有时是解释,比C级更高级)。我认为“脚本语言”作为一个术语过于频繁使用,主要用于放下动态类型语言。
答案 3 :(得分:1)
阅读上面的定义,机器无法执行Flex编译器创建的格式,因此ActionScript是一种脚本语言。
当然,编译到VM的任何内容都将被该定义视为脚本语言,包括Java。第四,作为线程解释语言,也是一种脚本语言。
所以忘记维基百科。这些区别过去比现在更有意义。
JavaScript每月变得越来越快,并且可能很快会比ActionScript更快,如果它还没有。
我认为“脚本语言”的更好定义是“脚本语言控制应用程序或封闭环境,如浏览器或文字处理器或Flash。”
但是使用Chrome操作系统,即使这个定义也处于危险之中,因为浏览器(包括谷歌已经采用的Flash)可能会成为一个操作系统。