脚本语言:脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常以文本(如ASCII)保存,只在被调用时进行解释或编译。
语言分类:
1.
Shell脚本:此类脚本用于自动化工作控制,即启动和控制系统程序的行为。大多的脚本语言解释器也同时是命令行界面,如Unix shell和MS-DOS COMMAND.COM。其他如AppleScript,可以为系统增加脚本环境,但没有命令行界面。具体分类有:
4NT
AppleScript
ARexx (Amiga Rexx)
bash
csh
DCL
JCL
ksh
Cmd.exe batch (Windows, OS/2)
Command.com batch (DOS)
REXX
tcsh
sh
Winbatch
Windows PowerShell
Windows Script Host
zsh
2.
GUI脚本:GUI出现带来一种专业的控制计算机的脚本语言。它在用户和图形界面,菜单,按钮等之间互动。它经常用来自动化重复性动作,或设置一个标准状态。理论上它可以用来控制运行于基于GUI的计算机上的所有应用程序,但实际上这些语言是否被支持还要看应用程序和操作系统本身。当通过键盘进行互动时,这些语言也被称为宏语言。
具体分类有:
AutoHotkey
AutoIt
Expect
3.
应用程序定制:许多大型的应用程序都包括根据用户需求而定制的惯用脚本语言。同样地,许多电脑游戏系统使用一种自定义脚本语言来表现NPC(non-player character,non-playable character,non-player class)和游戏环境的预编程动作。此类语言通常是为一个单独的应用程序所设计,虽然它们貌似一些通用语言(如QuakeC, modeled after C),但它们有自定义的功能。具体分类:
Action Code Script
ActionScript
AutoLISP
BlobbieScript
Emacs Lisp
Game Maker Language
HyperTalk
IPTSCRAE
IRC script
Lingo
Maya Embedded Language
mIRC script
NWscript
QuakeC
UnrealScript
Visual Basic for Applications
VBScript
ZZT-oop
4.
web编程脚本:应用程序定制的脚本语言中有一种重要的类别,用于提供WEB页面的自定义功能。它专业处理互联网通信,使用网页浏览器作为用户界面。当然,大多现代WEB编程语言都比较强大可以做一些通用编程。具体分类:
ColdFusion (Application Server)
Lasso
Miva
SMX
IPTSCRAE-一些网络开发团队用于创建论坛的工具
5.
文本处理语言:处理基于文本的记录是脚本语言最早的用处之一。如Unix's awk最早是设计来帮助系统管理员处理调用UNIX基于文本的配置和LOG文件。PERL最早是用来产生报告的,现在它已经成了全面成熟的语言。
具体分类:
Awk
Perl
sed
XSLT
6.
通用动态语言:一些语言,比如Perl,从一门脚本语言发展成了更通用的编程语言。由于“解释执行,内存管理,动态”等特性,它们仍被称为脚本语言。但它们已经用于应用程序编写,用户也不把它们看作脚本语言。
APL
Dao
Dylan
Groovy
Lua
MUMPS (M)
newLISP
Nuva
Perl
PHP
Python
Ruby
Scheme
Smalltalk
SuperCard
Tcl (Tool command language)
7.
程序语言:少数的语言被设计通过嵌入应用程序来取代应用程序定制的脚本语言。开发者(如使用C等其它系统语言)包入使脚本语言可以控制应用程序的hook。这些语言和应用程序定制的脚本语言是同种用途,但优点在于可以在应用程序之间传递一些技能。
具体分类:
Ch (C/C++ interpreter)
Dao
ECMAScript 亦称 DMDScript, JavaScript, JScript
GameMonkeyScript
Guile
ICI
Lua
RBScript (REALbasic Script)
Squirrel
Tcl
Z-Script
8.
JavaScript直到现在仍然是网页浏览器内的主要编程语言,它的ECMAScript标准化保证了它成为流行的通用嵌入性语言。Tcl作为一种扩展性语言而创建,但更多地被用作通用性语言,就如同Python, Perl, Ruby一样。Q语言是在VBScript的基础上发展起来,专用于按键精灵系列产品,成为一门更接近“汉语”习惯的脚本语言。
BeanShell (scripting for Java)
CobolScript
Escapade (server side scripting)
Euphoria
F-Script
Ferite
Groovy
Gui4Cli
Io
KiXtart
Mondrian
Object REXX
Pike
Pliant
REBOL
ScriptBasic
Shorthand Language
Simkin
Sleep
StepTalk
Visual DialogScript