编译语言、解释语言与脚本语言之间的区别

来源:互联网 发布:mac office 2016 卸载 编辑:程序博客网 时间:2024/04/28 20:19

资料一:

1、解释型语言与编译型语言的区别翻译时间的不同。。

编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。

解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。

C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。

虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。
在运行的时候,由JVM将字节码再翻译成机器语言。
注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。

2.脚本语言是一种解释性的语言,例如vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在.

脚本语言不需要编译,可以直接用,由解释器来负责解释。 

3.脚本语言一般都是以文本形式存在,类似于一种命令. 

 

资料二:

(1)什么是脚本语言?
(2)为什么叫做脚本语言,而不叫做其它的名字?请您介绍一下“脚本语言”这个名字的来历?具有什么特征的语言被称为脚本语言?

在网上查了查,没查着。脚本语言英文应该是script language吧。script在金山词霸中的解释有:A copy of a text used by a director or performer.也就是按照script进行导演或演出。用在计算机上可能就变成了:可以执行的文本。因为我知道的所有脚本文件都是文本文件格式的,而且可以执行,从这个意义上与script的含义很接近。更关键的是脚本语言是从英文翻译过来的,因为外国人这么叫,所以我们也这么翻译的吧。历史我不知道。
我个人认为:源程序是文本格式,可以被解释执行的语言可以算作脚本语言。如:python,perl,php,shell,awk等等,许多。不过,有一些脚本语言已经发生了变化,如python,perl已经可以编译成中间代码然后执行,这样的脚本语言已经可以被称为编译型脚本语言。

BTW:脚本语言与解释语言我认为还是有区别的。解释语言是说解释执行的语言,但执行的代码并不一定是文本格式的。脚本语言的程序是文本文件,并且是解释执行的。但这两种区别也有些模糊。反正有点区别,不过你认为差不多也行,好象现在并不太细分脚本语言与解释语言。

 

资料三:

    脚本与解释有时是很模糊,其实没有必要搞得这么清楚了,当然如果你有兴趣去搞。在这里我们可以干脆将脚本与解释混为一谈。解释是第一位的,至于是不是文本格式,是否会编译成字节码倒是次要的。不这,我所接触的脚本语言(我认为是)只需要有文本格式就可以运行。象Python有中间代码,不过这一过程完全是自动的,你不用去管它。因此从最基本的运行条件来说,我认为脚本语言似乎文件格式要求是文本的。象java,其实是有一个虚拟机在运行,它也是解释执行的,那它算不算脚本语言呢,我想应该不算吧。因为,它的运行是先编译成字节码,再去运行。如果编译过程全自动了,算吗?这许就可以算了吧。

不过,我们完全可以不去关心这些个案,只考虑通常的情况就行了。因此,我个人认为:脚本语言:一、解释执行 二、执行文件为文本即可

 

资料四:

抽象的级别:这是最重要也是最明显示的不同。脚本语言对程序员提供了更高级的抽象。这一点明显表现在:在这种语言自身中,存在有高级的数据结构,如列表和字典结构,和对这种结构简单方便的嵌套和操作。这样可以创建非常成功的程序。    
    
    类型定义:系统语言通常是强类型和静态类型定义。这就意味着所有变量的类型要在程序中指定,在编译时检查。相反地,脚本语言是最松散的类型定义,完全没有类型声明,并且在运行时进行动态类型检查。    
    
    执行:系统语言的特点是编译的。程序被编译成可执行的二进制。另一方面,脚本语言的特点是解释,也就是,指令被立即执行,不存在一个编译的中间状态。这就意味着脚本语言是交互式的(你可以在提示符下敲入命令,并且看到结果),这是另一个巨大的胜利。这样完全将编译过程从编辑-编译-运行循环中去掉了。    
    
    速度:以上三点是脚本语言一方面在速度与效率,   一方面在易用性与表示式的强大性之间进行折衷的典型例子。这就使得脚本语言的执行速度比系统语言慢一个数量级。这就是对脚本语言诽谤最多的方面。性能的降低不是真正的问题,因为思想是用脚本语言来组合组件,这些组件是用象C   这样的快速系统语言来编写的。所以所有需要运行快速的东西将因为是用快速的语言实现的而运行得快速。脚本语言只用于将东西绑在一起,并且这些通常不是性能的瓶颈(   或如果是,你需要重新检查你的设计)。

3 0
原创粉丝点击