scripting language 脚本语言、命令稿语言

    很难给一个严格的定义; 脚本,是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,Script脚本语言是介于HTML(HyperText Markup Language,超文本标示语言)和Java、C++和Visual Basic之类的编程语言之间的语言,它的语法和规则没有可编译的编程语言那样严格和复杂。 传统的HTML是静态的,为增强网页的动态功能,一些厂商先后推出了自己的Script脚本语言,其中Netscape推出了JavaScript(for客户端和 for服务端两种),微软则推出了VBScript和ASP两种,用于服务器端和客户端程序的编写。 用这些语言所写的程序, 执行的方式都是以解译 (interpreting) 为主, 执行效率也许不如 C, C++, Java, Pascal, 等以编译 (compiling) 为主的程序, 但是在研发速度上往往比后者快上数倍。这些语言最初的用途, 多半在整合系统既有的组件。 如果拿公共交通做比喻, 传统编译语言像高铁 -- 成本高, 客户多, 利润高; 脚本语言像出租车 -- 成本低, 客户少, 利润低。

    常见的脚本语言:Scala、JavaScript,VBScript,ActionScript,MAX Script,ASP,JSP,PHP,SQL,Perl,Shell,python,Ruby,JavaFX,Lua,AutoIt等。 另外, UNIX 上的各种 shells, MS Windows 上的 visual basic, OS/2 上的 rexx 也都可以算是 scripting languages。

简单介绍一下几种常用的脚本语言 :

1、PHP PHP是一个嵌套的缩写名称,是英文“超级文本预处理语言”(PHP:Hypertext Preprocessor)的缩写。PHP是一种HTML内嵌式的语言,与微软的ASP颇有几分相似,都是一种在服务器端执行的“嵌入HTML文档的脚本语言”,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。 PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。它可以比CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,成分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户在一次访问这个程序时就不需要诚信编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。 PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。 php可以嵌入html,更容易编写服务器端程序。 php天然和web服务器以及mysql数据库相结合。 php可以动态生成图像。

2、JSP JSP(Java Server Pages,Java服务器页面)是在Sun Microsystems公司的倡导下,由许多公司共同参与建立的一种新的动态网页技术标准。它在动态网页的建设方面具有强大而特殊的功能。Sun公司应用组建“Java社团”的思想开发JSP技术。 在开发JSP规范的过程中,Sun公司与许多主要的Web服务器、Web应用服务器和开发工具供应商,以及各种各样富有经验的开发团体进行合作,找到了一种适合于应用和页面开发人员的开发方法,它具有极佳的可移植性和易用性。针对JSP的产品,Sun公司授权予工具提供商(如Macromedia)、结盟公司(如Apache,Netscape)、最终用户、协作商及其他人。 Sun公司还将JSP和Java Servlet(JSP 1.1,Java Servlet 2.2)的源代码发放给Apache,以求JSP和Apache紧密结合、共同发展。Apache,Sun公司和许多其他的公司及个人公开成立的咨询机构更能方便任何公司和个人免费取得信息。

3、ASP与ASP.NET ASP是微软公司推出的意图取代CGI的新技术。通过它,用户可以使用几乎所有的开发工具来创建和运行交互式的动态网页,如返馈表单的信息收集处理、文件上传与下载、聊天室、论坛等等,实现了CGI程序的功能又比CGI简单,而且容易学习。 由于ASP使用基于开放设计环境的Active X技术,用户可以自己定义和制作组件加入其中,使自己的动态网页具有几乎无限的扩充能力。它还可利用ADO(Active Data Object,微软的一种新的数据访问模型)方便地访问数据库,能很好地对数据进行处理。借WINDOWS 东风,ASP得到了长足的发展。

 4、JavaScript JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。它与Java主要的不同点在于:JavaScript主要用于HTML的页面,脚本嵌入在HTML的源码中;而Java是一个独立的、完整的编程语言,既可以在Web中应用,也可以用于与Web网无关的情况。 另外,JavaS cript编写的程序不必在运行前编译,它们可以直接写入Web页面中并由调用它们的浏览器来解释执行。这样,一些基本交互作用就不用在服务器端完成,提高了客户端的响应时间。

 5、VBScript 为了适应Internet上的应用,Microsoft公司把用于应用程序描述的Visual Basic语言压缩成一个更合理的子集,称为Visual Basic Scripting Edition,简称VBScript。它也是一种HTML嵌入脚本语言,具有易学易用等特点。 如果你已了解Visual Basic或Visual Basic for Applications,就会很快熟悉VBScript。Microsoft公司将VBScript语言作为实施其ActiveX脚本化的最佳选择,用户可以采用小的相互操作的部件一起来完成工作,使得应用程序的功能列加强大。

6、Perl Perl是Practical Extraction and Report Language(实用摘录和报告语言)的缩写,由Larry Wall于1986年开发成功。当初的目的主要是Unix环境下从多个文本文件中产生报表,后来成为许多程序员工具箱中最受欢迎的工具,其发展速度和Unix内核的成长速度相仿。 perl的最大特点是有强大的字符串模式匹配,是最好的文本文件的读取和生成语言。 perl具有很大的自由性,象英语一样有很大的随意性, perl有一个强大的数据库接口和其他各种接口。 perl有最大量的程序库。 perl不适合编写大程序。 perl有一个著名的缺点是难懂,也有一个著名的优点是简练。 现在Perl已经发展到Perl6 1.0 版本,并移植到了各种平台。

7、Python 是一种跨平台的开发语言,它可以运行在已知的各种操作系统之上,包括windows、Mac OS、Unix、BSD、Palm等。python是一种支持扩展的开发语言,主要的扩展变种有CPython、JPython、PerlPython。它们分别使用C、Java、Perl做它的扩展接口基础环境的。 首先,python是和basic一样面向初学者的语言,和英语一样容易懂。 python具有和java一样的最丰富的语法。 python有和perl类似的简单性,但没有模式匹配。 python适合编写大程序。 python有和lisp相似的地方,它有将字符串作为程序执行的eval函数,可以对一个对象的所有数据进行保存,可以把函数作为参数传给另一个函数。 python具有非常好的扩充性,python程序可以和c程序,以及java程序很好地结合。

8、ColdFusion 美国的一对兄弟allire,在为自己的客户解决数据库访问的问题时,感觉到了cgi程序在编写和维护上的难度是不能容忍的困难。于是,具有计算机天赋的Jeremy Allire便在1995年编写了一种快速响应且易于编写的动态脚本语言,叫做coldfusion,一经推出,便震撼整个网络行业。 之后,兄弟俩看到了coldfusion的发展前途,便成立了Allire公司(后来被macromedia收购)。之后的几年,全球500强中的一半都采用了coldfusion来解决公司不同情况的问题。通过不断的版本修改和开发者的不断壮大,Coldfusion后来发展成为业界知名的企业级解决方案的开发首选。

9、XML xml即可扩展标记语言,可扩展标记语言,标准通用标记语言的子集,一种用于标记电子文件使其具有结构性的标记语言。 它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。 XML开发者源于SGML的设计和应用者,他们已经在SGML上投入了大量精力,但他们却发现SGML并没有完全发挥它的作用。 SGML(通用标记语言标准ISO 8879:1986)是HTML的前身技术,它是文件和文件中信息的构成主体;SGML与HTML不同,它允许用户扩展tag集合,允许用户建立一定的规则,SGML所产生的tag集合是用来描叙信息段特征的,而HTML仅仅只是一个tag集合,所以我们可以说HTML是一个SGML的子集。 早在Seattle会议之前,Bosak和一些精心挑选的SGML结构信息专家就已向W3C提出了“网络上的SGML”计划,W3C支持并赞助了他们的努力,工作于1996年7月正式开始起动,工作的早期有较大的阻力,因为也存在反对SGML的人,一些制定XML标准的W3C代表甚至声称“网络上的SGML”是不可能实现,工作组(原称“SGML编辑审议委员会”)并未退缩,他们打算让SGML以全新的面目出现在网上,给SGML以全新的面貌,故给它命名为“可扩展标识语言”,即XML。

现在的 scripting languages 不只可以作高阶的整合, 也可以写低阶的程序, 甚且有它自己的编译器。 再加上 swig 可以替 c 语言写的函数库包上与各种 scripting 语言连结的外衣, 所以在许多场合 scripting 语言几乎可以完全取代传统的编译语言。

 

posted @ 2016-03-25 11:15  pping45  阅读(561)  评论(0)    收藏  举报