脚本语言是什么

小白 2020-04-26 16:52:09
QA

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

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

脚本语言是什么

概述

定义

脚本语言(Script languages,scripting programming languages,scripting languages)是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。虽然许多脚本语言都超越了计算机简单任务自动化的领域,成熟到可以编写精巧的程序,但仍然还是被称为脚本。几乎所有计算机系统的各个层次都有一种脚本语言。包括操作系统层,如计算机游戏,网络应用程序,文字处理文档,网络软件等。在许多方面,高级编程语言和脚本语言之间互相交叉,二者之间没有明确的界限。一个脚本可以使得本来要用键盘进行的相互式操作自动化。一个 Shell 脚本主要由原本需要在命令行输入的命令组成,或在一个文本编辑器中,用户可以使用脚本来把一些常用的操作组合成一组序列。主要用来书写这种脚本的语言叫做脚本语言。很多脚本语言实际上已经超过简单的用户命令序列的指令,还可以编写更复杂的程序。

简介

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

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

(概述图片来源:)

优缺点

优点

快速开发:脚本语言极大地简化了“开发、部署、测试和调试”的周期过程。

容易部署:大多数脚本语言都能够随时部署,而不需要耗时的编译/打包过程。

同已有技术的集成:脚本语言被 Java 或者 COM 这样的组件技术所包围,因此能够有效地利用代码。

易学易用:很多脚本语言的技术要求通常要低一些,因此能够更容易地找到大量合适的技术人员。

动态代码:脚本语言的代码能够被实时生成和执行,这是一项高级特性,在某些应用程序里(例如 JavaScript 里的动态类型)是很有用也是必需的。

缺点

脚本语言不够全面:它们会要求一门“真正的”编程语言的存在,必须找一个数据库驱动程序将其内置进脚本语言里。

脚本语言并不是软件工程和构建代码结构的最佳选择,例如面向对象和基于组件的开发。

脚本语言通常不是“通用”语言,但是能够根据专门的应用来调整,例如:PHP。

应用和发展

应用

(1):作为批次处理语言或工作控制语言。许多脚本语言用来执行一次性任务,尤其是系统管理方面。DOS,Windows 的批处理文件和 Unix 的 shell 脚本都属于这种应用;

(2):作为通用的编程语言存在,如 Perl、Python、Ruby 等。由于“解释执行,内存管理,动态”等特性,它们仍被称为脚本语言。但它们已经用于应用程序编写,用户也不把它们看作脚本语言;

(3):许多大型的应用程序都包括根据用户需求而定制的惯用脚本语言。同样地,许多电脑游戏系统使用一种自定义脚本语言来表现 NPC(Non-Player Character,Non-Playable Character,Non-Player Class)和游戏环境的预编程动作。此类语言通常是为一个单独的应用程序所设计,虽然它们貌似一些通用语言(如 Quake C,Modeled After C),但它们有自定义的功能;

(4):网页中的嵌入式脚本语言。熟知的 HTML(Hyper Text Mark-up Language)即超文本标记语言,就是一种脚本语言,它的解释器就是浏览器。JavaScript 直到现在仍然是网页浏览器内的主要编程语言,它的 ECMAScript 标准化保证了它成为流行的通用嵌入式脚本语言。另外,随着动态网页技术发展,ASP、JSP、PHP 等嵌入网页的脚本语言正被广泛使用,不过这些脚本要通过 Web Server 解释,而 Html 则被浏览器执行;

(5):脚本语言在系统应用程序中嵌入使用,作为用户与系统的接口方式。在工业控制领域,PLC 编程、组态软件的脚本语言是扩充组态系统功能的重要手段;在通信平台领域,IVR(自动语音应答)流程编程;Office 办公软件,提供的宏和 VBA;其他应用软件如 ER Studio 提供的 Basic MacroEditor,用户可以编写 Sax Basic 脚本操作 ER 图,生成 Access 库、导出 Word 文档等扩展功能。

脚本语言分类

工作控制语言和 shell

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

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • Apache

    Apache,世界排名第一的开源Web服务器软件

    Apache是一款广受欢迎的开源Web服务器软件,以其模块化架构、高度可定制性和广泛的操作系统兼容性著称。它支持虚拟主机、SSL加密、多种编程语言,适用于各种规模的网站和应用。与Nginx相比,Apache在动态内容处理方面更加丰富,虽然在高并发处理上可能略逊一筹。
  • Ansible

    Ansible,开源自动化运维工具

    Ansible是一款易于学习且功能全面的开源自动化平台,适用于配置管理、应用部署和任务自动化。其主要优势在于无代理架构、简单的YAML脚本语言和强大的社区支持。虽然在处理大规模节点时性能可能不如专为此设计的工具,但对于中小型企业而言,Ansible提供了一个高效、安全且易于管理的解决方案。
  • Notepad++ 免费源代码编辑器 Notepad plus plus

    Notepad++,免费好用的Windows源代码编辑器

    Notepad++是一款高效的源代码编辑器,以支持多种编程语言、代码高亮、强大的搜索与替换功能而闻名。它具有用户友好的界面、多文档视图和可定制选项,还支持插件扩展和宏功能,使其成为程序员和普通用户的理想选择。适用于编程、文本处理和教学等多种场景。
  • PDF 翻译 PDF translation

    如何将PDF翻译成另一种语言

    PDF翻译可使用在线翻译工具如百度翻译、DeepL等,方便快捷但可能不够精准;用专业翻译软件如ABBYY FineReader,翻译质量更高但需付费;需要极高准确度的翻译,手动翻译是最好的选择;还可使用Python脚本等自动化翻译PDF。
  • Nginx JavaScript Nginx njs

    Nginx njs是什么

    Nginx njs是一个轻量级的JavaScript解释器,专门为Nginx设计。它允许开发者在Nginx配置中使用JavaScript语言来实现复杂的业务逻辑。njs的出现是为了解决原生Nginx配置难以满足的复杂需求。与Node.js不同,njs专注于Nginx的扩展,性能开销小,API与Nginx紧密集成。
  • Ubuntu Server LAMP 堆栈

    如何在Ubuntu Server上安装LAMP堆栈

    LAMP堆栈代表Linux、Apache、MySQL和PHP,为Web开发提供基础。在Ubuntu Server上,首先更新系统包,然后分别安装Apache Web服务器、MySQL数据库管理系统和PHP编程语言。安装完成后,确保各组件运行正常,并按需进行配置。