脚本语言是一种特定的计算机语言,可用于向其他软件(例如Web浏览器,服务器或独立应用程序)提供指令。当今许多最流行的编码语言是脚本语言,例如JavaScript,PHP,Ruby,Python等。
由于脚本语言使编码更简单,更快捷,因此在Web开发中被广泛使用也就不足为奇了。
但是,这并不是他们唯一的应用领域。还有用于操作系统,统计分析软件,办公应用程序,游戏引擎和许多其他平台的脚本语言。
什么是脚本语言?
脚本语言可以在特定的运行时环境中执行不同的动作,例如自动化任务执行,增强父软件的功能,执行配置,从数据集中提取数据等。
脚本语言可以通过两种方式实现:
- 运行时环境可以引入自己的脚本语言,例如用于GNU操作系统的Bash或用于Microsoft Office应用程序的VBA。
- 运行时环境可以采用现有的脚本语言,例如,MongoDB的mongo shell是围绕JavaScript构建的。
另一方面,有时最先出现的是脚本语言,它孕育了自己的父平台-听起来可能很奇怪。
这就是Node.js的情况,Node.js是一种后端运行时环境,其创建目的是使Web开发人员不仅可以在前端使用JavaScript,还可以在后端使用JavaScript(遵循“ JavaScript无处不在”的范例)。
脚本在编程中意味着什么?
脚本的作用实质上是编写一系列由应用程序或脚本引擎逐个解释的命令。即使脚本会指导平台执行操作(为脚本提供读取和解释的权限),执行还是由运行时环境执行,而不是由脚本语言本身执行。
这就是脚本语言与Java等编程语言的不同之处,您可以“编写一次,随处运行”(Java官方口号,表示Java程序可以在任何环境中作为独立的应用程序运行;自从被创造以来,它就成为WORA的原则,是指跨平台功能)。
脚本语言与编程语言
尽管术语“脚本语言”和“编程语言”经常互换使用,但它们不是同一件事。
平台特定与平台无关
脚本语言是特定于平台的,而编程语言具有平台无关性(跨平台),因为它们具有执行自身的能力。例如,您可以在任何操作系统上运行Java程序。
(大多数)解释与编译
编译编程语言时,脚本语言主要是解释性的-即使有些脚本语言既可以编译也可以解释,例如Python和Groovy。
“已编译”是指一种编程语言具有其自己的编译器,该编译器会在运行时将语法转换为机器代码。相反,脚本语言在运行时由运行它们的平台的解释器逐行解释。
运行时更快vs更慢
由于实现上的这种差异,编程语言的运行速度比脚本语言快,因为它们不必实时编译。编译器还在执行之前执行集体错误处理,而解释器则逐行评估代码,因此每次遇到错误时它们都会暂停(或完全停止)。
这也增加了脚本语言的总执行时间,即使在现代且速度更快的硬件上,这也比以前更少了。
更多与更少的代码密集型
编程语言的代码强度更高,因为在脚本语言的情况下,您必须手动执行平台处理的许多事情。如果使用脚本语言,则必须编写更少的代码。
独立应用程序与作为堆栈一部分的应用程序
使用脚本语言根本无法完成某些事情。最重要的是,您无法使用脚本语言创建独立的桌面和移动应用程序,因为没有运行时环境可以解释它们。
例如,您只能将WordPress和Laravel之类的PHP框架用于网站和Web应用程序,因为它们使用Web浏览器作为其运行时环境。同样,WordPress移动应用程序在包含Web视图的移动运行时环境(例如Capacitor)中运行。
脚本语言与编程语言—差异概述
因此,脚本语言和编程语言之间的主要区别如下:
脚本语言 | 编程语言 |
特定于平台 | 平台无关(跨平台) |
(大部分)解释 | 已编译 |
运行时更快 | 运行时变慢 |
更加代码密集 | 减少代码密集度 |
创建独立的应用程序 | 将应用程序创建为堆栈的一部分 |
关于脚本语言的困惑
关于脚本语言,您经常会遇到一些困惑,因此让我们先了解一下它们,然后再使用最好的脚本语言。
最重要的是,尽管您会在网络上找到许多文章都使用这种分组方式,但是谈论前端脚本语言和后端脚本语言并没有多大意义。
实际上,目前只有一种前端脚本语言正在使用,那就是JavaScript(以前存在其他语言,例如ActionScript和JScript,但现在已弃用)。
在脚本语言的上下文中,重要的不是前端还是后端,而是可以运行脚本语言的运行时环境。
请注意,“前端”仅表示Web浏览器可以解释的内容(图像,字体,标记,样式表,脚本,另一种类型的静态文件)。例如,尝试直接从Web浏览器打开PHP文件:您不能这样做,因为PHP应用程序服务器必须对其进行解释-因此,PHP是Web开发上下文中的后端脚本语言,而应用程序层则是脚本语言环境中的服务器堆栈(例如LAMP)。
除了Web开发(前端脚本和后端脚本)之外,脚本语言还可以用于多种用途,例如编程和配置操作系统以及特定的应用程序/环境,操纵数据集,自动化任务等。
脚本语言也可以在多种环境中运行。
什么不是脚本语言
在学习最好的脚本语言之前,让我们看一下有时被错误地称为脚本语言的编码语言,但是您不能使用它们编写脚本:
- 标记语言,例如HTML和XML。在HTML中,有用于事件处理的属性,例如onclick和onmouseover,但是它们仍然是JavaScript回调。
- 样式表语言,例如CSS,Sass和LESS。
- 建立在任何脚本语言之上的任何类型的库或框架,例如jQuery,PostCSS,React,Vue,Angular,Rails,Grails,Laravel,WordPress,Django等。
- 编译成脚本语言的语言,例如TypeScript和CoffeeScript。
- SQL是用于在关系数据库管理系统(RDBMS)(例如MySQL和MariaDB)中管理数据的SQL。它们不允许您编写动态功能。但是,许多RDBMS都具有可让您使用脚本语言(例如,MySQL Shell中的JavaScript或Python)的shell。
- 一种或多种脚本语言(例如NodeJS)的运行时环境。
13种最佳脚本语言
本指南中有许多很棒的脚本语言值得一提,但是它们不再处于活跃的开发中。但是,以下13种脚本语言会定期更新,并在生产中使用。
因此,如果您正在考虑学习一种新的脚本语言作为一条新的专业道路,那么它们都是值得一试的。
1. JavaScript / ECMAScript
JavaScript是ECMA-262标准的实现,该标准定义了ECMAScript(ES)通用脚本语言。换句话说,JavaScript是ECMAScript语言的方言,因此它没有独立的规范,但使用与ECMAScript相同的语法。
JavaScript具有一流的功能(将功能视为变量),并支持基于原型的面向对象的编程(现有对象可重用为原型)。
代码示例
ECMAScript使用大括号语法。以下JavaScript代码示例将1到10的数字相加,并将结果输出到控制台(您可以通过按F12在Web浏览器的JavaScript控制台中对其进行测试):
设total = 0,count = 1;
而(count <= 10){
total + = count;
计数+ = 1;
}
console.log(total);
// 55
资料来源:Marijn Haverbeke的Eloquent JavaScript:简介
用例和环境
JavaScript是现代Web浏览器使用的脚本语言,例如Chrome的V8引擎和Mozilla的SpiderMonkey引擎。此外,前端Web开发也可以在非浏览器环境中使用。已经创建了NodeJS运行时环境,以使Web开发人员可以在后端使用它。
某些NoSQL数据库管理系统(例如MongoDB和Apache CouchDB)的外壳以及一些关系数据库管理系统(例如上述的MySQL Shell)也将其用作脚本语言。
2. PHP
PHP是后端Web开发中使用的通用开放源代码脚本语言。首字母缩写词最初代表“个人主页”,因为最初创建PHP是为了向静态HTML页面添加动态功能。
从那时起,PHP已经发展成为一种独立的语言,因此现在使用的首字母缩写为“超文本预处理器”。PHP是松散类型的(不必声明变量的数据类型),可以嵌入HTML文档中,并且还具有面向对象的功能。
代码示例
PHP具有类似C的语法。以下PHP代码示例创建一个具有四个元素的数字数组,循环遍历它们,将每个项目乘以2,并在循环结束时取消设置$ value变量。
<?php
$ arr = array(1、2、3、4);
foreach($ arr as&$ value){
$ value = $ value * 2;
}
// $ arr现在是array(2,4,6,8)
unset($ value);
?>
来源:PHP文档:控制结构
用例和环境
PHP可以在不同的HTTP服务器上执行,其中Apache和Nginx是最受欢迎的服务器。
最常见的PHP服务器堆栈是LAMP(Linux,Apache,MySQL,PHP),LEMP(Linux,Nginx,MySQL,Kinsta使用的PHP)和WAMP(Windows,Apache,MySQL,PHP)和MAMP(macOS, Apache,MySQL,PHP)。
许多流行的内容管理系统(CMS)(例如WordPress,Drupal和Joomla)以及Web应用程序框架(例如Laravel,Symfony和CodeIgniter)也都使用它,它们都基于PHP语言构建,并通过附加功能进行了增强。
您也可以将PHP用于本地WordPress开发。
3. Python
Python目前是GitHub上第二受欢迎的编码语言(仅次于JavaScript)。它以其简洁明了的语法而广受喜爱-使用Python进行编码时,您所键入的内容比大多数语言都少得多。
使用WordPress,我们的流量增长了1,187%。
我们将向您展示如何。
加入20,000多个其他人,他们每周都会收到有关WordPress内部技巧的新闻!
现在订阅
成功!感谢您的订阅
您将在一周内收到下一期的Kinsta新闻通讯。
订阅Kinsta新闻通讯
订阅
我同意条款和条件以及隐私政策
Python是一个免费的开源项目,由Python Software Foundation管理。它支持结构化,面向对象和功能性编程范例,并具有广泛的标准库,该库是常用Python模块的集合。
代码示例
Python不使用大括号,而分号是可选的,因此代码易于读取和编写。以下Python代码示例循环遍历0到4之间的整数,并打印出来:
计数= 0
而计数<5:
打印(计数)
计数+ = 1
来源:学习Python:循环
用例和环境
最受欢迎的Python实现是用C语言编写的CPython。它也是您与Python语言一起下载的参考实现。即使Python是一种解释型语言,CPython也会同时使用编译和解释步骤。首先,它将源代码编译为在运行时解释的字节码(与机器代码不同)。
除了CPython之外,Python还具有其他运行时环境,最重要的是PyPy省略了编译步骤,仅执行JIT(即时)解释。Python实现是跨平台的,这意味着它们可以在多种操作系统(包括Linux,Windows和macOS)上运行。
Python语言经常用于机器学习,后端Web开发(Django是最受欢迎的Web框架),数据分析,自动化,科学计算和Web抓取。
4.红宝石
Ruby是一种开放源代码的通用脚本语言,具有紧凑且易于阅读的语法。它遵循面向对象编程的原理,并允许您编写干净而逻辑的代码。在Ruby中,所有内容都是一个对象-甚至是大多数语言中都是原始类型的类型,例如布尔值和整数。
诸如继承,混合和元类之类的面向对象的概念也被大量使用。
尽管Ruby具有纯面向对象的设计,但它还支持过程编程(在类外部定义的函数和变量属于Self对象)和函数编程(通过匿名函数,闭包和延续)。
代码示例
Ruby具有类似于Python的简洁语法。以下Ruby代码示例将KaraokeSong类定义为Song类的子类:
class KaraokeSong <歌曲
def初始化(名称,艺术家,时长,歌词)
super(名称,艺术家,时长)
@lyrics =歌词
结尾
end
来源:Ruby编程参考指南:类,对象和变量
用例和环境
Ruby主要用于后端Web开发中,为诸如Ruby on Rails之类的一些强大的Web应用程序框架提供支持。许多流行的网站和应用程序都在Ruby on Rails上运行,例如Airbnb,Shopify,GitHub和Hulu。
Ruby也是许多流行的Web开发工具所使用的语言,其中最著名的是Sass CSS预处理器,Jekyll静态网站生成器和Vagrant虚拟机环境。
Ruby的默认实现是YARV(又一个Ruby虚拟机)。它改变了Ruby的原始解释器Matz的Ruby Interpreter(也包括Ruby MRI或CRuby),该解释器因速度和可伸缩性问题而受到批评。
Ruby也有几种竞争的运行时环境,例如JRuby(让您在Java虚拟机上运行Ruby),mruby(可以嵌入到应用程序中的轻量级实现),TruffleRuby(基于GraalVM构建的Oracle Ruby解释器),Rubinius (适用于Ruby的云原生虚拟机)等。
5. Groovy
Groovy是为Java虚拟机(JVM)编写的一种令人难以置信的灵活语言,既可以用作脚本语言也可以用作编程语言。这是一个由Apache Software Foundation维护的开源项目。Groovy是一种扩展java.lang.Object超类的面向对象语言。
它支持静态和动态类型化(可以在编译时和运行时都执行类型检查),并且对列表,关联数组,正则表达式以及诸如HTML和XML这样的标记语言具有本地支持。
您可以将Groovy与现有的Java库一起使用。
代码示例
Groovy具有Java兼容的语法,使用大括号。下面的Groovy代码示例使用纬度和经度属性以及getAt()方法定义Coordinates类:
@不可变的
类坐标{
双纬
双经
double getAt(int idx){
如果(idx == 0)纬度
,如果(idx == 1)经度,
否则抛出new Exception(“错误的坐标索引,使用0或1”)
}
}
来源:Groovy文档:语义学
用例和环境
Groovy编译为Java字节码时,您可以将其用作类似于Java的通用编程语言。在这种情况下,您可以在运行时使用groovyc编译器(相当于javac)将源代码编译为字节码。
但是,也有许多Groovy实现使您可以将其用作脚本语言。最受欢迎的是Grails Web应用程序框架(以前称为Grails上的Groovy)和Gradle构建自动化工具,但是还有其他几个。
6. Perl
Perl是一种通用脚本语言,自1987年以来已有30多年的历史了。最初,它是作为用于报告处理的UNIX脚本语言创建的。这也是其名称的来历,因为Perl的缩写代表“实用提取和报告语言”。
Perl语言在1990年代开始流行,当时程序员开始将其广泛用于CGI(通用网关接口)脚本,CGI是Web服务器的一种较旧的接口规范(当前,它主要由遗留站点使用)。
尽管是相对较早的参与者,但Perl在TIOBE索引中仍然排名第11位,在GitHub上是第21种最受欢迎的语言(截至2020年10月)。
代码示例
Perl的语法类似于C语言。下面的Perl代码示例首先定义了square()子例程,该子例程计算并返回数字的平方,然后将值8作为参数传递,运行该子例程,然后将结果保存到$ sq变量中:
子平方{
my $ num = shift;
我的$ result = $ num * $ num;
返回$ result;
}
$ sq =平方(8);
来源:Perl文档:Perl简介
用例和环境
尽管这些天并不是Web开发人员最经常选择的选择,但Perl可以成功地用于后端开发中。除了CGI运行时环境外,它还可以在Apache和Nginx Web服务器上执行-LAMP堆栈实际上是LAMPP,代表Linux,Apache,MySQL,PHP和Perl。
还存在一些Perl Web开发框架,其中最受欢迎的是Catalyst,Mojolicious和Dancer。
几个著名的网站和应用程序都使用Perl,例如Amazon,IMDB,Booking.com和BBC iPlayer。它也用于其他领域,例如网络编程和系统管理。您还可以查看综合Perl存档网络(CPAN),其中有25,000多个开源Perl项目可供下载。
7.卢阿
Lua是一种快速,轻量级的脚本语言。“ lua”一词在葡萄牙语中的意思是“月亮”,因为该语言是由巴西里约热内卢天主教天主教大学开发和维护的。Lua支持过程式,面向对象和功能性编程范例。
由于Lua的解释器是用C编写的,因此可以使用其C API轻松将其嵌入到应用程序中。话虽这么说,您可以使用Lua扩展以C语言编写的现有应用程序,例如C,C ++,C#,Java,Perl,Ruby等。
代码示例
Lua具有简洁易读的语法,类似于Python和Ruby。以下Lua代码示例显示了如何使用if-then-else语句。首先,它计算op变量,然后根据其值执行基本的算术运算:
如果op ==“ +”,则
r = a + b
elseif op ==“-”,则
r = a-b
elseif op ==“ *”,则
r = a * b
elseif op ==“ /”,则
r = a / b
else
错误(“无效操作”)
结束
来源:Lua中的编程参考指南:语句
用例和环境
默认的Lua实现不会直接解释源代码,而是先将其编译为字节代码,然后在Lua虚拟机上执行。由于所有这些都是在运行时发生的,因此无需执行手动编译步骤(即使您可以选择在运行时之前编译Lua以提高性能)。
还有其他Lua实现,例如LuaJIT,LuaVela和许多其他实现。
Lua通常用于开发视频游戏,例如《愤怒的小鸟》,《魔兽世界》和《格里姆·范丹戈》。由于易于嵌入,因此它也是嵌入式设备(如机顶盒,汽车仪表板(例如Volvo),IP摄像机(例如Cisco)等)的常见选择。
它也可以用于Web开发,因为Apache和Nginx服务器都具有Lua模块(这里是Apache的mod_lua,这里是Nginx的ngx_http_lua_module)。Wikipedia选择使用Lua作为其模板脚本语言,并且Adobe Photoshop Lightroom的UI也使用Lua编写。
8.重击
Bash是GNU操作系统的命令行解释器(shell)以及所属脚本语言的名称。实际上,“ Linux”是使用Linux内核的GNU操作系统(内核是OS的核心部分,它是操作系统加载的第一个程序)。
Bash是原始UNIX Bourne shell(sh)的替代品-Bash的缩写代表“ Bourne Again SHell”(“ Born Again Shell”的双关语)。
除了是Bourne Shell语法的超集之外,Bash还包括其他Shell脚本语言的功能,例如KornShell(ksh)和C Shell(csh),例如,命令行编辑和命令历史记录。您可以在交互模式(一次执行一个命令并等待机器的回复)和脚本模式(一次运行一组命令-Bash脚本)中使用Bash。
代码示例
与大多数CLI脚本语言一样,Bash具有简单的描述性语法。下面的Bash代码示例从当前文件夹中选择一个文件,并输出一条包含文件名和索引的消息:
在*中选择fname;
做
回声你选$ FNAME($ REPLY)
休息;
完成
来源:Bash参考手册:条件构造
用例和环境
您可以使用Bash进行更改并执行与您的操作系统有关的不同操作,例如执行命令,使用图形用户界面执行大多数人会执行的任务(例如创建,移动或删除文件夹和文件),自定义和自动化管理任务,连接到远程服务器等。
是否需要为您的客户站点提供快速,安全且对开发人员友好的托管?Kinsta在构建时就考虑了WordPress开发人员,并提供了许多工具和功能强大的仪表板。查看我们的计划
Bash是许多基于Unix操作系统的默认外壳程序,包括大多数Linux发行版以及所有macOS发行版,直到macOS Catalina都已在2019年用Z Shell(Zsh)替换了Bash。您也可以使用Windows在Windows 10上运行Bash脚本由Microsoft开发的Linux子系统(WSL)兼容性层。
9. PowerShell
最初,PowerShell是仅用于Windows操作系统的命令行外壳程序和脚本语言。从那时起,Microsoft开源并将其从只能创建Windows应用程序的.NET Framework迁移到.NET Core,后者可以为Windows,Linux和macOS创建应用程序。这意味着PowerShell现在是跨平台的。
它也已从Windows PowerShell重命名为PowerShell Core,与基础框架相对应。与大多数命令行外壳不同,PowerShell接受并返回.NET对象而不是纯文本,这为任务自动化中的新机遇提供了空间。
代码示例
PowerShell具有紧凑的语法,可以更快地在命令行中工作。下面的PowerShell代码示例创建boot.ini文件的备份并将其保存到boot.bak文件中:
复制项-Path C:boot.ini-目标C:boot.bak
来源:PowerShell文档:处理文件和文件夹
用例和环境
您可以在Windows,Linux,macOS操作系统和某些ARM设备(例如可穿戴设备,多媒体播放器,平板电脑和其他消费电子设备)上使用PowerShell。
您可以使用PowerShell进行系统管理,任务自动化和配置管理。要查找PowerShell模块和脚本,您也可以查看PowerShell库和Microsoft的官方示例脚本集合。
10. R
R是一种软件环境和脚本语言,可用于统计计算,数据分析和图形显示。这是一个免费和开放源代码的GNU项目,是S统计计算语言的一种实现(不再处于主动开发中)。
R使您可以使用许多不同的统计技术,例如经典统计测试,聚类,时间序列分析,线性和非线性建模等。
代码示例
R的语法与大多数脚本语言不同,并且也具有一些不同寻常的元素-例如,主赋值运算符是<-而不是=等号,并且具有无循环循环-有关此R语法的怪癖的更多信息,请参见此初学者。 Sharon Machlis撰写的R指南。
以下R代码示例为水果向量(R中包含相同类型元素的基本数据结构)定义一个名称属性,该属性使用字母数字名称(橙色,香蕉,苹果,桃子)来帮助识别其成分。稍后,Lunch(或另一个)子向量可以使用其别名来访问每个组件:
>水果<-c(5,10,1,20)
>名称(水果)<-c(“橙色”,“香蕉”,“苹果”,“桃子))
>午餐<-水果[c(”苹果“ ,“橙子”)]
资料来源:R简介:索引向量;选择和修改数据集的子集
用例和环境
R软件环境是跨平台的;您可以在Windows,Linux和macOS操作系统上运行它。还可以从其他一些脚本语言(例如Python和Perl)获得默认的R实现。这意味着您可以使用这些脚本语言访问R的所有统计功能。
除了默认的R环境之外,您还可以在其他环境中使用R脚本语言,例如pqR(代表“ R的非常快速的版本”)和Renjin(位于Java虚拟机之上的R实现)。
11. VBA
VBA代表Visual Basic for Applications,它是Visual Basic 6编程语言的一种实现(自2008年以来未在积极开发中)。它是为Microsoft Office应用程序创建的,以使开发人员能够自动执行重复任务,添加新功能以及与文档的最终用户进行交互。
与Visual Basic相似,VBA遵循事件驱动的编程范例,该范例将诸如用户操作之类的事件置于驱动程序流程的中心。
由于Microsoft Office应用程序具有图形用户界面,因此您可以将VBA脚本附加到菜单按钮,键盘快捷键,宏(可编程模式)和OLE事件(对象链接和嵌入,使您可以从另一个应用程序控制一个应用程序;这是一项专有的Microsoft技术) )。
代码示例
由于VBA基于Visual Basic(是BASIC的增强),因此它使用的语法类似于BASIC(初学者的通用符号指令代码)家族的语言-这意味着它非常适合初学者。
下面的VBA代码示例使用SignatureInfo对象的GetCertificateDetail()方法获取数字证书的到期日期:
Sub GetCertDetails()
昏暗objSignatureInfo为SignatureInfo
昏暗varDetail为变体
strDetail = objSignatureInfo.GetCertificateDetail(certdetExpirationDate)
结束子
来源:Office VBA参考:SignatureInfo对象
用例和环境
VBA脚本语言已嵌入到大多数Microsoft Office应用程序中,分别是Access,Excel,Mac版Office,Outlook,PowerPoint,Project,Publisher,Visio和Word-每个文档在Microsoft文档站点上都有单独的参考指南,同时详细介绍了常规VBA概念在库参考中。
除了Microsoft Office应用程序外,还有其他一些也支持VBA的应用程序,例如AutoCAD和CorelDRAW。
12. Emacs Lisp
Emacs Lisp是为GNU Emacs文本编辑器设计的特定于域的脚本语言。它是Lisp编程语言家族的一种方言(名称来自LISt Processor)。
由于Emacs Lisp被设计为可在代码编辑器中使用,因此它具有特定于该环境的功能集,例如文本扫描和解析,缓冲区(具有可编辑文本的对象)和显示管理等。
Emacs Lisp脚本语言与编辑器界面本身紧密集成在一起,因此每个命令也是一个Lisp函数,您可以从脚本中调用它,定制参数也是Lisp变量。
代码示例
Emacs Lisp的语法基于完整的带括号的前缀表示法,如果您以前没有使用过任何Lisp语言,那么一开始可能会有点难以理解。
以下Emacs Lisp代码示例定义了两个变量(符号),并为每个变量分配了一个值列表-符号树的树木列表(松树,冷杉,橡树,枫树)和草食动物列表(瞪羚,羚羊,斑马)对草食动物的象征:
(setq树’(松杉橡木枫树)
草食动物’(瞪羚羚羊斑马))
资料来源:Emacs Lisp编程简介:设置变量的值
用例和环境
Emacs文本编辑器是一个跨平台应用程序,可以将其安装在Windows,Linux和macOS计算机上。
使用Emacs Lisp脚本语言,您可以扩展和自定义代码编辑器,重复和自动化过程,创建图,将焦点限制在特定区域(出于安全性),搜索正则表达式,存储文本,定义模式和键映射,向用户提问,并执行许多其他操作。
Emacs Lisp也有一些配置框架-Doom Emacs和Spacemacs是最著名的框架。
13. GML
首字母缩写词GML代表GameMaker Language。这是游戏开发中使用的特定领域脚本语言的一个很好的例子。GML是属于GameMaker Studio 2的专有脚本语言,GameMaker Studio 2是YoYo Games拥有和维护的跨平台游戏引擎和开发平台。
尽管GML主要用于控制游戏对象,但它不是面向对象的语言,而是一种程序性语言。它允许您从任何游戏对象调用自定义脚本。
除了GML脚本语言外,GameMaker Studio 2还具有一个称为“拖放”(DnD)的可视脚本工具。由于GameMaker Studio 2的灵活性,您也可以将DnD与GML脚本混合使用。
代码示例
GML的语法类似于JavaScript和其他类似C的语言。
以下GML代码示例使游戏对象以5像素/步的速度向屏幕上的鼠标指针水平移动。一旦到达指针的当前位置,该脚本将创建一个爆炸效果层,运行它(屏幕上有一个爆炸效果),然后销毁实例(将爆炸效果移除):
如果mp_linear_step(mouse_x,mouse_y,5,0){
instance_create_layer(x,y,“效果”,obj_Explosion);
instance_destroy();
}
来源:GameMaker Studio 2文档–脚本– GML参考–运动和碰撞–运动计划
用例和环境
如果要使用此脚本语言开发游戏,则需要购买GameMaker Studio 2来解释GML。
定价取决于您要为其创建游戏的平台-Mac和Windows游戏是最便宜的游戏;跨平台(Windows,macOS,Ubuntu)桌面游戏,HTML5网络游戏,UWP(通用Windows平台)游戏和跨平台(Android,Fire,iOS)手机游戏处于中等水平;PS4,Xbox One和Nintendo Switch是最昂贵的。
使用GML创建的视频游戏的一些示例包括Blackhole,10 Second Ninja X,Death’s Gambit,Deltarune等。
概要
毫无疑问,脚本语言令人着迷。它们具有许多不同的变体,语法和实现,并且可以用于很多事情。
从构建动态网站到自动化系统管理,再到创建视频游戏,等等。
关于脚本语言,要记住的三个最重要的事情是:
它们不能自己运行,但始终需要一个具有该脚本语言解释器的环境(实现,运行时)。
有时,您可以使用通用脚本语言来访问主要为其他编程或脚本语言创建的环境和平台。可以举出JRuby(让您在Java虚拟机上运行Ruby),Renjin(也在JVM上实现R),Rpy2(可以从Python使用的R接口)作为很好的例子。
最后,在学习新的脚本语言之前,始终最好使用TIOBE索引或GitHut来检查其当前的流行度。
取决于它,您还将发现或多或少的示例脚本,GitHub存储库,模块库,参考指南,详细手册以及应用程序展示,它们将帮助您开始使用该语言……并获得报酬更高的项目和工作!
如果您喜欢这篇文章,那么您会喜欢Kinsta的WordPress托管平台。加速您的网站并获得我们经验丰富的WordPress团队的24/7支持。我们基于Google Cloud的基础架构专注于自动扩展,性能和安全性。让我们向您展示Kinsta的与众不同!查看我们的计划