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:脚本语言与解释语言我认为还是有区别的。解释语言是说解释执行的语言,但执行的代码并不一定是文本格式的。脚本语言的程序是文本文件,并且是解释执行的。但这两种区别也有些模糊。反正有点区别,不过你认为差不多也行,好象现在并不太细分脚本语言与解释语言。
(3)脚本语言包含哪些语言?
python,perl,php,vbscript,javascript,shell,awk等
(4)脚本语言与一般意义上的编程语言(比如说C语言)有着什么本质上的不同?
C是编译语言,执行文件是二进制。脚本语言是解释执行的,执行文件是文本。
(5)脚本语言一般有什么用途?
不同的脚本语言用处与功能大不一样。象python可以做几乎所有C语言可以做的事情。如开发桌面程序,网络程序,游戏程序,科学计算,绘图等等。有些脚本语言具有扩展功能,如果有它做不到的,你完全可以使用C来开发相应的模块,然后在脚本语言中使用。
(6)好象有什么利用脚本语言编写的病毒程序,这种病毒程序(如果有的话)和一般病毒程序有什么不同?
我想应该是执行的层次不同。一般的二进制病毒在操作系统一级就可以执行,比较底层。但脚本语言的执行必须有一个解释器,比较高层。这种病毒多例用了解释器的漏洞来实现病毒功能。如Word的宏病毒,一些蠕虫病毒,网页病毒等。
(7)脚本语言的用途是不是比较狭隘(与一般的编程语言相比)?
很广,前面也谈到了。如果你去sf.net上看一看脚语言相关的项目(如python,perl),你会发现它们几乎与C/C++/Java一样,涉及到方方面面的编程领域。
上面只是我个人的理解,可能有不对的地方。