`
xpp02
  • 浏览: 1014222 次
社区版块
存档分类
最新评论

脚本语言

 
阅读更多

脚本语言Script languagescripting languagescripting programming language)是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。此命名起源于一个脚本“screenplay”,每次运行都会使对话框逐字重复。早期的脚本语言经常被称为批次处理语言工作控制语言。一个脚本通常是解释运行而非编译。脚本语言通常都有简单、易学、易用的特性,目的就是希望能让程式设计师快速完成程式的编写工作。而宏语言则可视为脚本语言的分支,两者也有实质上的相同之处。

虽然许多脚本语言都超越了计算机简单任务自动化的领域,成熟到可以编写精巧的程序,但仍然还是被称为脚本。几乎所有计算机系统的各个层次都有一种脚本语言。包括操作系统层,如计算机游戏网络应用程序,字处理文档,网络软件等。在许多方面,高级编程语言脚本语言之间互相交叉,二者之间没有明确的界限。

目录

源起与目的

脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程式。以简单的方式快速完成某些复杂的事情通常是创造脚本语言的重要原则,基于这项原则,使得脚本语言通常比 C语言C++语言Java 之类的系统编程语言要简单容易,也让脚本语言另有一些属于脚本语言的特性:

  • 语法和结构通常比较简单
  • 学习和使用通常比较简单
  • 通常以容易修改程式的“解释”作为执行方式,而不需要“编译”
  • 程式的开发产能优于执行效能

一个脚本可以使得本来要用键盘进行的相互式操作自动化。一个Shell脚本主要由原本需要在命令行输入的命令组成,或在一个文本编辑器中,用户可以使用脚本来把一些常用的操作组合成一组序列。主要用来书写这种脚本的语言叫做脚本语言。很多脚本语言实际上已经超过简单的用户命令序列的指令,还可以编写更复杂的程序。

定义

计算机语言是为了各种目的和任务而开发的,一个常见任务就是把各种不同的已有组件连接起来以完成相关任务。大多脚本语言共性是:良好的快速开发,高效率的执行,解释而非编译执行,和其它语言编写的程序组件之间通信功能很强大。


许多脚本语言用来执行一次性任务,尤其是系统管理方面。它可以把服务组件粘合起来,因此被广泛用于GUI创建或者命令行,操作系统通常提供一些默认的脚本语言,即通常所谓shell脚本语言。

脚本通常以文本(如ASCII)保存,只在被调用时进行解释或编译。

有些脚本是为了特定领域设计的,但通常脚本都可以写更通用的脚本。在大型项目中经常把脚本和其它低级编程语言一起使用,各自发挥优势解决特定问题。脚本经常用于设计互动通信,它有许多可以单独执行的命令,可以做很高级的操作,(如在传统的Unix shell (sh)中,大多操作就是程序本身。)

这些高级命令简化了代码编写过程。诸如内存自动管理和溢出检查等性能问题可以不用考虑。在更低级或非脚本语言中,内存及变量管理和数据结构等耗费人工,为解决一个给定问题需要大量代码,当然这样能够获得更为细致的控制和优化。脚本缺少优化程序以提速或者降低内存的伸缩性。

综上所述,脚本编程速度更快,且脚本文件明显小于如同类C程序文件。这种灵活性是以执行效率为代价的。脚本通常是解释执行的,速度可能很慢,且运行时更耗内存。在很多案例中,如编写一些数十行的小脚本,它所带来的编写优势就远远超过了运行时的劣势,尤其是在当前程序员工资趋高和硬件成本趋低时。

然而,在脚本和传统编程语言之间的界限越来越模糊,尤其是在一系列新语言及其集成常出现时。在一些脚本语言中,有经验的程序员可以进行大量优化工作。在大多现代系统中通常有多种合适的脚本语言可以选择,所以推荐使用多种语言(包括C或者汇编语言)编写一种脚本。

脚本语言分类

工作控制语言和shell

Shell 脚本

此类脚本用于自动化工作控制,即启动和控制系统程序的行为。大多的脚本语言解释器也同时是命令行界面,如Unix shell和MS-DOS COMMAND.COM。其他如AppleScript,可以为系统增加脚本环境,但没有命令行界面。

具体分类有:

GUI 脚本

GUI出现带来一种专业的控制计算机的脚本语言。它在用户和图形界面,菜单,按钮等之间互动。它经常用来自动化重复性动作,或设置一个标准状态。理论上它可以用来控制运行于基于GUI的计算机上的所有应用程序,但实际上这些语言是否被支持还要看应用程序和操作系统本身。当通过键盘进行互动时,这些语言也被称为宏语言。

具体分类有:

应用程序定制的脚本语言

许多大型的应用程序都包括根据用户需求而定制的惯用脚本语言。同样地,许多电脑游戏系统使用一种自定义脚本语言来表现NPC(non-player character,non-playable character,non-player class)和游戏环境的预编程动作。

此类语言通常是为一个单独的应用程序所设计,虽然它们貌似一些通用语言(如QuakeC, modeled after C),但它们有自定义的功能。

具体分类:

WEB编程脚本

应用程序定制的脚本语言中有一种重要的类别,用于提供WEB页面的自定义功能。它专业处理互联网通信,使用网页浏览器作为用户界面。当然,大多现代WEB编程语言都比较强大可以做一些通用编程。

具体分类:

文本处理语言

处理基于文本的记录是脚本语言最早的用处之一。如Unix's awk最早是设计来帮助系统管理员处理调用UNIX基于文本的配置和LOG文件。Perl最早是用来产生报告的,现在它已经成了全面成熟的语言。

具体分类:

通用动态语言

一些语言,比如Perl,从一门脚本语言发展成了更通用的编程语言。由于“解释执行,内存管理,动态”等特性,它们仍被称为脚本语言。但它们已经用于应用程序编写,用户也不把它们看作脚本语言。

扩展/可嵌入语言

少数的语言被设计通过嵌入应用程序来取代应用程序定制的脚本语言。开发者(如使用C等其它系统语言)包入使脚本语言可以控制应用程序的hook。这些语言和应用程序定制的脚本语言是同种用途,但优点在于可以在应用程序之间传递一些技能。

具体分类:

JavaScript直到现在仍然是网页浏览器内的主要编程语言,它的ECMAScript标准化保证了它成为流行的通用嵌入性语言。

Tcl作为一种扩展性语言而创建,但更多地被用作通用性语言,就如同Python, Perl, Ruby一样。

其它

参见

Domain-specific programming language

外部链接

常见的脚本语言


分享到:
评论

相关推荐

    tcl脚本语言 书籍

    要做自动化测试,可选的脚本语言有很多,TCL是我用过的比较强大的脚本语言,它是一种很通用的脚本语言,它几乎在所有的平台上都可以解释运行,功能强大。是tool command language的缩写,发音为 "tickle”, 实际上...

    编译性语言、解释性语言和脚本语言

    编译性语言、解释性语言和脚本语言 编译性语言、解释性语言和脚本语言

    3dmaxscript脚本语言完全学习手册

    maxscript语言是3ds max 自带的脚本语言,它不但拥有一般程序语言的所有特点,而且可以在程序内实现几乎所有在3ds max界面下的交互操作,功能非常强大,而且语法比较简单,容易上手。.  本书详细、系统地介绍了max...

    Pine 脚本语言参考手册

    TradeView自己的一套脚本语言Pine Script的一些简单操作,这套轻量级的脚本语言简单易学,功能强大,不仅可以快速定制自己的交易指标,还可以让量化交易者快速回测自己的交易策略

    脚本语言编程(web课程设计)

    2、熟悉VBScript脚本语言的语法; 3、熟悉JavaScript脚本语言的语法; 4、掌握在网页中使用脚本语言编程、调试的方法。 二、实验内容 1、设置IIS的主目录,并在Dreamweaver中新建相应的站点。 2、使用VBScript编写...

    TASKING LSL 脚本语言介绍.pptx

    Tasking编译器链接脚本用法介绍,LSL脚本语言,用于给英飞凌系列的单片机软件开发的代码分配地址。

    TCL脚本语言详细教程

    该文件是关于TCL脚本语言详细教程,非常适合新手入门。

    flash脚本语言大全

    flash脚本语言大全 flash脚本语言大全 flash脚本语言大全

    脚本语言编程(web课设报告)

    2、熟悉VBScript脚本语言的语法; 3、熟悉JavaScript脚本语言的语法; 4、掌握在网页中使用脚本语言编程、调试的方法。 二、实验内容 1、设置IIS的主目录,并在Dreamweaver中新建相应的站点。 2、使用VBScript编写...

    第4章__客户端脚本语言_java客户端脚本语言_

    java客户端脚本语言。JavaScript是一种嵌入HTML的脚本语言,它不需要编译,在客户端可以通过浏览器解释执行。JavaScript具有跨平台、基于对象和事件驱动的特点,同时它也具有一定的安全性。

    NASL脚本语言教程

    初学Nasl脚本语言的必备教程.从最基础到实用,手把手教会Nasl语言。

    3ds MAXScript脚本语言完全学习手册

    《3ds MAXScript脚本语言完全学习手册》(适用版本8.0/7.0/6.0/5.0)的最大特点是用实例程序对MAXScfipt脚本语言的功能进行演示,实用性强,特别适合有一定3dsmax使用基础的读者阅读,对于专业动画创作人员,《3ds MAX...

    3ds MAXScript脚本语言 完全学习手册

    适用于新手对3ds MAXScript脚本语言的学习,非常详细的讲解3ds MAXScript脚本语言的应用。很实用,易懂

    TCL+TCL脚本语言编程+TCL语言教程

    TCL+TCL脚本语言编程+TCL语言教程TCL+TCL脚本语言编程+TCL语言教程TCL+TCL脚本语言编程+TCL语言教程

    在delphi中嵌入脚本语言

    在delphi中嵌入脚本语言 在delphi中嵌入脚本语言

    PHP脚本语言培训班视频教程【40讲】

    教程名称:PHP脚本语言培训班视频教程【40讲】课程目录:【】1 什么是php【】2 搭建PHP环境【】3 常量的定义与使用 上【】5 预定义常量 上【】6 预定义常量 下【】7 变量的定义与使用 上【】8 变量的定义与使用 下...

    flash脚本语言as学习教程

    flash脚本语言as学习教程

    TCL脚本语言手册(很详细)

    详细介绍TCL脚本语言的语法,硬件开发人员调试硬件必备的东西

    华为三层设置脚本语言

    三层脚本华为三层设置脚本语言华为三层设置脚本语言华为三层设置脚本语言

    JavaScript脚本语言基础

    JavaScript脚本语言基础

Global site tag (gtag.js) - Google Analytics