很难给一个严格的定义; 脚本,是使用一种特定的描述性语言,依据必定的格式编写的可执行文件,Script脚本语言是介于HTML(HyperText Markup Language,超文本标示语言)和Java、C++和Visual Basic之类的编程语言之间的语言,它的语法和规则没有可编译的编程语言那样严格和复杂。 传统的HTML是静态的,为加强网页的动态功能,一些厂商前后推出了本身的Script脚本语言,其中Netscape推出了JavaScript(for客户端和 for服务端两种),微软则推出了VBScript和ASP两种,用于服务器端和客户端程序的编写。 用这些语言所写的程序, 执行的方式都是以解译 (interpreting) 为主, 执行效率也许不如 C, C++, Java, Pascal, 等以编译 (compiling) 为主的程序, 可是在研发速度上每每比后者快上数倍。这些语言最初的用途, 多半在整合系统既有的组件。 若是拿公共交通作比喻, 传统编译语言像高铁 -- 成本高, 客户多, 利润高; 脚本语言像出租车 -- 成本低, 客户少, 利润低。php
常见的脚本语言: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。html
简单介绍一下几种经常使用的脚本语言 :java
一、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能够动态生成图像。python
二、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公司和许多其余的公司及我的公开成立的咨询机构更能方便任何公司和我的免费取得信息。mysql
三、ASP与ASP.NET ASP是微软公司推出的意图取代CGI的新技术。经过它,用户可使用几乎全部的开发工具来建立和运行交互式的动态网页,如返馈表单的信息收集处理、文件上传与下载、聊天室、论坛等等,实现了CGI程序的功能又比CGI简单,并且容易学习。 因为ASP使用基于开放设计环境的Active X技术,用户能够本身定义和制做组件加入其中,使本身的动态网页具备几乎无限的扩充能力。它还可利用ADO(Active Data Object,微软的一种新的数据访问模型)方便地访问数据库,能很好地对数据进行处理。借WINDOWS 东风,ASP获得了长足的发展。程序员
四、JavaScript JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具备安全性能的脚本语言。它与Java主要的不一样点在于:JavaScript主要用于HTML的页面,脚本嵌入在HTML的源码中;而Java是一个独立的、完整的编程语言,既能够在Web中应用,也能够用于与Web网无关的状况。 另外,JavaS cript编写的程序没必要在运行前编译,它们能够直接写入Web页面中并由调用它们的浏览器来解释执行。这样,一些基本交互做用就不用在服务器端完成,提升了客户端的响应时间。web
五、VBScript 为了适应Internet上的应用,Microsoft公司把用于应用程序描述的Visual Basic语言压缩成一个更合理的子集,称为Visual Basic Scripting Edition,简称VBScript。它也是一种HTML嵌入脚本语言,具备易学易用等特色。 若是你已了解Visual Basic或Visual Basic for Applications,就会很快熟悉VBScript。Microsoft公司将VBScript语言做为实施其ActiveX脚本化的最佳选择,用户能够采用小的相互操做的部件一块儿来完成工做,使得应用程序的功能列增强大。sql
六、Perl Perl是Practical Extraction and Report Language(实用摘录和报告语言)的缩写,由Larry Wall于1986年开发成功。当初的目的主要是Unix环境下从多个文本文件中产生报表,后来成为许多程序员工具箱中最受欢迎的工具,其发展速度和Unix内核的成长速度相仿。 perl的最大特色是有强大的字符串模式匹配,是最好的文本文件的读取和生成语言。 perl具备很大的自由性,象英语同样有很大的随意性, perl有一个强大的数据库接口和其余各类接口。 perl有最大量的程序库。 perl不适合编写大程序。 perl有一个著名的缺点是难懂,也有一个著名的优势是简练。 如今Perl已经发展到Perl6 1.0 版本,并移植到了各类平台。shell
七、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程序很好地结合。数据库
八、ColdFusion 美国的一对兄弟allire,在为本身的客户解决数据库访问的问题时,感受到了cgi程序在编写和维护上的难度是不能容忍的困难。因而,具备计算机天赋的Jeremy Allire便在1995年编写了一种快速响应且易于编写的动态脚本语言,叫作coldfusion,一经推出,便震撼整个网络行业。 以后,兄弟俩看到了coldfusion的发展前途,便成立了Allire公司(后来被macromedia收购)。以后的几年,全球500强中的一半都采用了coldfusion来解决公司不一样状况的问题。经过不断的版本修改和开发者的不断壮大,Coldfusion后来发展成为业界知名的企业级解决方案的开发首选。
九、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 语言几乎能够彻底取代传统的编译语言。