脚本语言是一种特殊的计算机语言,你可以用它来向其他软件发出指令,如网络浏览器、服务器或独立的应用程序。今天许多最流行的编码语言都是脚本语言,如JavaScript、PHP、Ruby、Python和其他一些语言。
由于脚本语言使编码更简单、更快速,它们被广泛用于网络开发就不足为奇了。
然而,这并不是它们的唯一应用领域。还有用于操作系统、统计分析软件、办公应用程序、游戏引擎和许多其他种类平台的脚本语言。
- 什么是脚本语言?
- 脚本语言与编程语言
- 关于脚本语言的困惑
- 13种最佳脚本语言
什么是脚本语言?
脚本语言可以在一个特定的运行环境中执行不同的动作,如自动执行任务、增强上级软件的功能、执行配置、从数据集中提取数据等。
脚本语言可以通过两种方式产生:
- 运行时环境可以引入自己的脚本语言,如GNU操作系统的Bash或微软Office应用程序的VBA。
- 运行时环境可以采用现有的脚本语言,例如,MongoDB的
mongo
shell是围绕JavaScript建立的。
另一方面,有时是脚本语言首先存在,并诞生了它自己的父平台–无论这听起来多么奇怪。
这就是Node.js的情况,它是一个后端运行环境,它的诞生是为了让网络开发者不仅在前端使用JavaScript,而且在后端也使用,遵循 “JavaScript无处不在 “的范式。
脚本在编程中意味着什么?
脚本的动作本质上是写一系列的命令,由应用程序或脚本引擎逐一解释。尽管脚本指导平台做什么(给它一个脚本来阅读和解释),但执行是由运行时环境而不是由脚本语言本身来完成。
这就是脚本语言与编程语言的不同之处,比如Java,你可以 “只写一次,在任何地方运行”(Java的官方口号,意思是Java程序可以作为独立的应用程序在任何环境中运行;自从被创造出来后,它也成为WORA原则,指的是跨平台能力)。
脚本语言与编程语言
尽管 “脚本语言 “和 “编程语言 “这两个词经常被交替使用,但它们并不是一回事。
特定平台与平台无关
脚本语言是特定平台的,而编程语言是平台无关的(跨平台),因为它们有自我执行的能力。例如,你可以在任何操作系统上运行一个Java程序。
(大部分)解释的与编译的
虽然编程语言是编译的,但脚本语言大多是解释的–尽管有一些脚本语言既是编译的又是解释的,如Python和Groovy。
“编译 ”意味着编程语言有自己的编译器,在运行前将语法翻译成机器代码。相比之下,脚本语言在运行时由它们所运行的平台的解释器逐行进行解释。
在运行时更快与更慢
由于实现上的差异,编程语言比脚本语言运行得更快,因为它们不必实时编译。编译器在执行前还执行集体错误处理,而解释器一行一行地评估代码,因此每次遇到错误时都会暂停(或完全停止)。
这也增加了脚本语言的总执行时间,即使在现代和更快的硬件上,这比以前问题更小。
更多与更少的代码密集型
编程语言的代码密集度更高,因为你必须手动完成许多事情,而在脚本语言的情况下,这些事情是由平台处理的。如果你使用脚本语言,你必须写更少的代码。
独立的应用程序与作为堆栈一部分的应用程序
有一些事情你根本无法用脚本语言来做。最重要的是,你不能用脚本语言创建独立的桌面和移动应用程序,因为没有运行时环境来解释它们。
例如,你只能将WordPress和Laravel等PHP框架用于网站和网络应用,因为它们使用网络浏览器作为其运行环境。同样,WordPress的移动应用程序在移动运行环境中运行,如Capacitor,它结合了网络视图。
脚本与编程语言 – 差异概述
因此,脚本语言与编程语言的主要区别如下:
脚本语言 | 编程语言 |
特定的平台 | 平台不可控(跨平台) |
(主要是)解释式 | 编译的 |
运行时较慢 | 运行时较快 |
代码密集度较低 | 代码密集度较高 |
创建作为堆栈一部分的应用程序 | 创建独立的应用程序 |
原文地址:https://www.wbolt.com/scripting-languages.html