脚本有哪几类?和编程语言什么区别?不同类的脚本怎么区别?
脚本有哪几类?脚本在程序中是什么作用?和C++、JAVA等变成语言什么区别?是不是不同的开发语言对应不同的脚本?不同的脚本怎么区别?...
脚本有哪几类?脚本在程序中是什么作用?和C++、JAVA等变成语言什么区别?是不是不同的开发语言对应不同的脚本?不同的脚本怎么区别?
展开
1个回答
展开全部
这个应该怎么回答你呢,编程语言确实被分为脚本语言,标记语言,编译语言,解释语言,低级语言,高级语言等等。这些分类对于新手来说,往往会把它们搞乱。就好像一个未上过学的农民伯伯问你,什么是因特网,什么是互联网,什么是万维网,什么是局域网,什么是城域网一样,你很难一下子说明清,让他明白。
这种情况的原因,就在于,这些分类之间并不是严格互斥的,相互之间存在重叠和包容。就你的问题而言,脚本语言根本就没有分类,你的意思可能是想问:脚本语言有哪些。说实话,太多了,其它那些很生僻的就不说了,就一个程序员时常要用到的就不少。平时用得较多的,大致有这些:Ruby,Python,Shell,Javascript,Perl,Awk,Sed,Expect,ActionScript,Lua,PHP等。硬要给这些脚本语言分类的话,只能按它们的用途来分,比如:系统脚本(如Shell,windows批处理),应用脚本,和一般性脚本。
脚本语言中脚本一词,有配置,动态微调的意味。它最初的目的是为一些大型或超大型程序提供可实时编辑、可动态调整的特性。所以脚本语言的正统用途是把它们的解释器嵌入到由编译性语言如C,C++等写的大型程序中(如浏览器,操作系统,大型游戏等),以解释随时可变的用户脚本,提供更改这些大型程序特性,以达到用户期望程序行为的目的。
一句话,脚本语言的正统使命,是一个中介者,提供用户与其它大型程序之间的沟通桥梁。举例来说,浏览器是一个完整的大型程序,它内嵌JavaScript解释器,在运行期间动态解释用户的JavaScript脚本程序,以改变WEB页面的行为,获得各种页面效果。同样,操作系统(以linux为例),就自带了shell解释器,用户通过发shell命令或使用shell脚本程序来获得主机系统的各种信息(如cpu,内存,磁盘,进程等)。再如一些大型游戏(比如魔兽世界)也内嵌一些脚本语言的解释器(通常是lua),实现一些与游戏的交互。大家熟悉的3DMax,Photoshop和autoCAD软件都内嵌有一些脚本语言的解释器,目的都一样。
编译性语言与脚本语言的主要区别在于,脚本是由解释器逐行解释执行的,而编译性语言,则需要将源程序经编译器编译在可执行的计算机二进制代码。然后再执行。其它效率相当高,速度也特别快。但缺点是需要先编译,然后再执行。脚本语言的优势在于它的动态性,可以即改即用。
但是有些脚本语言的功能很强大,远超出了脚本最初的使命。首先,这些脚本语言的解释器经过优化,速度也非常快;其次,这些语言本身的许多特性也很强大,完全可以开发一些独立的大型程序。比如ruby,python,perl,php等。
最后,再回应你的最后一个问题:不同的语言对应不同的脚本这个问题,我不太明白你的本意。不同脚本语言,它们的语法肯定是不同的,不可能在语法上完全兼容,那样的话,你的直观感受就是,它们是同一个语言。
这种情况的原因,就在于,这些分类之间并不是严格互斥的,相互之间存在重叠和包容。就你的问题而言,脚本语言根本就没有分类,你的意思可能是想问:脚本语言有哪些。说实话,太多了,其它那些很生僻的就不说了,就一个程序员时常要用到的就不少。平时用得较多的,大致有这些:Ruby,Python,Shell,Javascript,Perl,Awk,Sed,Expect,ActionScript,Lua,PHP等。硬要给这些脚本语言分类的话,只能按它们的用途来分,比如:系统脚本(如Shell,windows批处理),应用脚本,和一般性脚本。
脚本语言中脚本一词,有配置,动态微调的意味。它最初的目的是为一些大型或超大型程序提供可实时编辑、可动态调整的特性。所以脚本语言的正统用途是把它们的解释器嵌入到由编译性语言如C,C++等写的大型程序中(如浏览器,操作系统,大型游戏等),以解释随时可变的用户脚本,提供更改这些大型程序特性,以达到用户期望程序行为的目的。
一句话,脚本语言的正统使命,是一个中介者,提供用户与其它大型程序之间的沟通桥梁。举例来说,浏览器是一个完整的大型程序,它内嵌JavaScript解释器,在运行期间动态解释用户的JavaScript脚本程序,以改变WEB页面的行为,获得各种页面效果。同样,操作系统(以linux为例),就自带了shell解释器,用户通过发shell命令或使用shell脚本程序来获得主机系统的各种信息(如cpu,内存,磁盘,进程等)。再如一些大型游戏(比如魔兽世界)也内嵌一些脚本语言的解释器(通常是lua),实现一些与游戏的交互。大家熟悉的3DMax,Photoshop和autoCAD软件都内嵌有一些脚本语言的解释器,目的都一样。
编译性语言与脚本语言的主要区别在于,脚本是由解释器逐行解释执行的,而编译性语言,则需要将源程序经编译器编译在可执行的计算机二进制代码。然后再执行。其它效率相当高,速度也特别快。但缺点是需要先编译,然后再执行。脚本语言的优势在于它的动态性,可以即改即用。
但是有些脚本语言的功能很强大,远超出了脚本最初的使命。首先,这些脚本语言的解释器经过优化,速度也非常快;其次,这些语言本身的许多特性也很强大,完全可以开发一些独立的大型程序。比如ruby,python,perl,php等。
最后,再回应你的最后一个问题:不同的语言对应不同的脚本这个问题,我不太明白你的本意。不同脚本语言,它们的语法肯定是不同的,不可能在语法上完全兼容,那样的话,你的直观感受就是,它们是同一个语言。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询