名称"脚本语言"适用于非常特定的角色:您编写命令以发送到现有软件应用程序的语言.(像传统的电视或电影"剧本")
例如,曾几何时,HTML网页很无聊.它们总是静止的.然后有一天,Netscape想,"嘿,如果我们让浏览器阅读并对页面中的小命令采取行动怎么办?" 就这样,Javascript就形成了.
一个简单的javascript命令是alert()
命令,它指示/命令正在读取网页的浏览器(软件应用程序)显示警报.
现在,是否alert()
与C++或浏览器实际用于显示警报的任何代码语言有关?当然不是.在.html页面上写"alert()"的人不了解浏览器实际显示警报的方式.他只是在写一个浏览器会解释的命令.
让我们看看简单的JavaScript代码
这些是发送到浏览器的指令,供浏览器自行解释.浏览器通过实际将变量设置为4的编程语言,并将其置于警报中...它与javascript完全无关.
我们将最后一系列命令称为"脚本"(这就是为什么它包含在标签中).仅仅通过"脚本"的定义,在传统意义上:发送给演员的一系列指令和命令.例如,每个人都知道剧本(电影剧本)是一个剧本.
剧本(剧本)不是演员,相机或特效.剧本只是告诉他们该做什么.
现在,什么是脚本语言呢?
有很多编程语言就像工具箱中的不同工具; 一些语言的设计专门用作脚本.
Javasript是一个明显的例子; 很少有Javascript应用程序不属于脚本编写领域.
ActionScript(Flash动画的语言)及其派生词是脚本语言,因为它们只是向Flash播放器/解释器发出命令.当然,还有像面向对象编程这样的抽象,但所有这些只是达到目的的一种手段:向Flash播放器发送命令.
Python和Ruby通常也用作脚本语言.例如,我曾经为一家公司工作,该公司使用Ruby来编写脚本命令以发送到"浏览此站点,点击此链接......"的浏览器,以进行一些基本的自动化测试.在任务中,我都不是"软件开发人员".我刚刚编写了脚本,将命令发送到计算机以向浏览器发送命令.
由于它们的性质,脚本语言很少被"编译" - 即,被翻译成机器代码,并由计算机直接读取.
甚至从Python和Ruby创建的GUI应用程序也是发送到用C++或C编写的API的脚本.它告诉C应用程序该做什么.
当然,有一线模糊.为什么你不能说Machine Language/C是脚本语言,因为它们是计算机用来与基本主板/显卡/芯片连接的脚本?
我们可以通过一些方式来澄清:
当你可以编写脚本语言并在没有"编译"的情况下运行它时,它更像是一种直接脚本的东西.例如,您不需要对剧本做任何事情,以告诉演员如何处理它.它已经存在,按原样使用.出于这个原因,我们将编译语言排除在称为脚本语言之外,即使它们在某些情况下可用于编写脚本.
脚本语言意味着发送到复杂软件应用程序的命令; 这就是我们首先编写脚本的全部原因 - 因此您无需了解软件如何向其发送命令的复杂性.因此,脚本语言往往是将(相对)简单命令发送到复杂软件应用程序的语言......在这种情况下,机器语言和汇编代码不会削减它.