所有WIKI > S字母 > 什么是脚本语言?

什么是脚本语言?

脚本语言是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。 它的命名起源于一个脚本“screenplay”,每次运行都会使对话框逐字重复。早期的脚本语言经常被称为批量处理语言或工作控制语言。

一个脚本通常是解释执行而非编译。脚本语言通常都有简单、易学、易用的特性,目的就是希望能让程序员快速完成程序的编写工作。而宏语言则可视为脚本语言的分支,两者也有实质上的相同之处。

计算机语言的分类

编译语言 编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。纯编译语言的示例是 CC ++,Erlang,Haskell,Rust 和 Go

解释性语言 解释型语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性java语言,专门有一个解释器能够直接执行java程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。常见的解释语言的示例是 PHP,Ruby,Python 和 JavaScript。

解释性语言编译语言
特定的平台平台不可控(跨平台)
(主要是)解释式编译的
运行时较慢运行时较快
代码密集度较低代码密集度较高
创建作为堆栈一部分的应用程序创建独立的应用程序

脚本语言是什么?

脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常以文本(如ASCII)保存,只在被调用时进行解释或编译。

脚本语言是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。 它的命名起源于一个脚本“screenplay”,每次运行都会使对话框逐字重复。早期的脚本语言经常被称为批量处理语言或工作控制语言。

脚本语言有哪些?

(1)shell 脚本

此类脚本用于自动化工作控制,即启动和控制系统程序的行为,可以通俗地理解为命令行。大多的脚本语言解释器也同时是命令行界面,如Unix shell和MS-DOS command。其他如AppleScript,可以为系统增加脚本环境,但没有命令行界面。具体分类有:1.4NT,2.AppleScript,3.ARexx(Amiga Rexx),4.bash,5.csh,6.DCL,7.JCL,8.ksh,9.Cmd.exe batch(Windows,OS/2),10.command batch(DOS),11.REXX,12.tcsh,13.sh,14.Winbatch,15.Windows PowerShell,16.Windows Script Host,17.zsh。

其中,我们最常用的shell脚本为cmd,Windows PowerShell,host,以及linux中的bash命令等

(2)GUI 脚本

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

需要指出的是,GUI脚本语言和GUI编程语言并不是同一个东西。

(3)应用程序定制的脚本语言

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

此类语言通常是为一个单独的应用程序所设计,虽然它们貌似一些通用语言(如QuakeC, modeled after C),但它们有自定义的功能。具体分类:1.Action Code Script,2.ActionScript,3.AutoLISP,4.BlobbieScript,5.Emacs Lisp。6.Game Maker Language,7.HyperTalk,8.IPTSCRAE,9.IRC script,10.Lingo,11.Matlab Embedded Language,12.Maya Embedded Language,13.mIRC script,14.NWscript,15.QuakeC,16.UnrealScript,17.Visual Basic for Applications,18.VBScript,19.ZZT-oop

(4)web 编程脚本

应用程序定制的脚本语言中有一种重要的类别,用于提供WEB页面的自定义功能。它专业处理互联网通信,使用网页浏览器作为用户界面。当然,大多现代WEB编程语言都比较强大可以做一些通用编程。具体分类:1.ColdFusion(Application Server),2.Lasso,3.Miva,4.SMX,5.IPTSCRAE(一些网络开发团队用于创建论坛的工具),6.JavaScript

(5)文本处理语言

处理基于文本的记录是脚本语言最早的用处之一。如Unix’s awk最早是设计来帮助系统管理员处理调用UNIX基于文本的配置和LOG文件。Perl最早是用来产生报告的,现在它已经成了全面成熟的语言。具体分类:1.Awk,2.Perl,3.sed,4.XSLT

(6)通用动态语言

一些语言,比如Perl,从一门脚本语言发展成了更通用的编程语言。由于“解释执行,内存管理,动态”等特性,它们仍被称为脚本语言。但它们已经用于应用程序编写,用户也不把它们看作脚本语言。如:1.APL,2.Dao,3.Dylan,4.Groovy,5.Lua,6.MUMPS(M),7.newLISP,8.Nuva,9.Perl10.PHP11.Python12.JavaScript,13.Scheme,14.Smalltalk,15.SuperCard,16.Tcl(Tool command language), 17.Ruby

(7)扩展/可嵌入语言

少数的语言被设计通过嵌入应用程序来取代应用程序定制的脚本语言。开发者(如使用C等其它系统语言)包入使脚本语言可以控制应用程序的hook。这些语言和应用程序定制的脚本语言是同种用途,但优点在于可以在应用程序之间传递一些技能。具体分类:1.Ch(C/C++ interpreter),2.Dao,3.GameMonkeyScript,4.Guile,5.ICI,6.ECMAScript亦称DMDScript, JavaScript, JScript,7.Lua,8.RBScript(REALbasic Script),9.Squirrel,10.Tcl,11.Z-Script

13种常用脚本语言

有许多伟大的脚本语言值得在本指南中提及,但它们已不再处于活跃的开发状态。然而,以下13种脚本语言是定期更新的,而且也在生产中使用

因此,如果你正在考虑学习一种新的脚本语言作为新的职业道路,它们都值得一试。

  1. JavaScript/ECMAScript
  2. PHP
  3. Python
  4. Ruby
  5. Groovy
  6. Perl
  7. Lua
  8. Bash
  9. PowerShell
  10. R
  11. VBA
  12. Emacs Lisp
  13. GML

参考资料

什么是脚本语言?
2023年你应该关注的13大脚本语言