Programming languages 脚本语言和其他语言有什么区别

Programming languages 脚本语言和其他语言有什么区别,programming-languages,scripting,Programming Languages,Scripting,可能重复: 我对不同类型的语言感到困惑。 任何人都可以指导什么是不同类型的语言或不同的类别 就像有人说python是脚本语言一样。这意味着什么。其他语言如php、asp、java不是脚本语言吗?脚本语言通常是解释的而不是编译的。有许多用于对编程语言进行分类的语言。 关于脚本编写,a(python、ruby、php)是一种直接从源代码运行在解释器上的语言。 >其他>强>语言要么是编译> /St>语言(从二进制形式运行:C、C++、PASCAL)要么中间< /强>,编译为中间形式,然后运行在虚拟

可能重复:

我对不同类型的语言感到困惑。 任何人都可以指导什么是不同类型的语言或不同的类别


就像有人说python是脚本语言一样。这意味着什么。其他语言如php、asp、java不是脚本语言吗?脚本语言通常是解释的而不是编译的。

有许多用于对编程语言进行分类的语言。
关于脚本编写,a(python、ruby、php)是一种直接从源代码运行在解释器上的语言。
<强> >其他>强>语言要么是<强>编译> /St>语言(从二进制形式运行:C、C++、PASCAL)要么<强>中间< /强>,编译为中间形式,然后运行在虚拟机(java,c*)中。 脚本语言是一种专注于使链接或操作其他程序变得容易的语言

维基百科说:

“”

“”

无论是解释还是其他方面,这都是正交的,例如Java最初是被解释的,但是没有人把它称为脚本语言。如果您正在实现一种脚本语言,那么解释它是一种非常简单的方法

许多脚本语言被编译成字节码或机器码,通常使用JIT。

请参阅,
脚本语言与其他语言的区别主要是在解释的、动态类型的语言(例如PHP、VBScript、JScript和JavaScript)之间,以及编译的静态类型语言(例如C++语言、VB.NET、java、C++和Delphi)。 ASP不是一种语言,而是脚本语言(VBScript/JScript)的平台,而ASP.NET是编译语言(主要是C#/VB.NET)的平台。

名称“脚本语言”适用于一个非常特定的角色:编写命令以发送到现有软件应用程序的语言。(就像传统的电视或电影“剧本”)

例如,从前,HTML网页很无聊。它们总是静止的。后来有一天,网景公司想,“嘿,如果我们让浏览器阅读并执行页面中的小命令会怎么样?”于是,Javascript就这样形成了

一个简单的javascript命令是
alert()
命令,它指示/命令正在读取网页的浏览器(软件应用程序)显示警报

<>现在,“代码>警报())/代码>以任何方式与C++或浏览器实际用来显示警报的任何代码语言相关吗?当然不是。在.html页面上编写“alert()”的人不了解浏览器实际如何显示警报。他只是在写一个命令,浏览器会解释这个命令

让我们看看简单的javascript代码

<script>
var x = 4
alert(x)
</script>

变量x=4
警报(x)
这些是发送到浏览器的指令,供浏览器自行解释。浏览器通过编程语言将变量设置为4,并将其放入警报中……这与javascript完全无关

我们将最后一系列命令称为“脚本”(这就是为什么它包含在
标记中)。按照传统意义上“脚本”的定义:发送给演员的一系列指令和命令。例如,每个人都知道剧本(电影剧本)就是剧本

剧本(剧本)不是演员,也不是照相机,也不是特效。剧本只是告诉他们该怎么做

现在,什么是脚本语言

有很多编程语言就像工具箱中的不同工具;一些语言专门设计用作脚本

Javasript就是一个明显的例子;很少有Javascript应用程序不属于脚本领域

ActionScript(Flash动画语言)及其派生语言是脚本语言,它们只向Flash播放器/解释器发出命令。当然,也有一些抽象概念,比如面向对象编程,但这些都只是达到目的的一种手段:向flash播放器发送命令

Python和Ruby也常用作脚本语言。例如,我曾为一家公司工作,该公司使用Ruby编写命令脚本,发送到浏览器,执行一些基本的自动化测试,例如“转到此站点,单击此链接…”。在那份工作中,我无论如何都不是一名“软件开发人员”。我刚刚编写了脚本,将命令发送到计算机,将命令发送到浏览器

由于脚本语言的性质,它们很少被“编译”——也就是说,被翻译成机器代码,并被计算机直接读取

甚至Python和露比创建的GUI应用程序都是发送给C++编写的API的脚本,它告诉C应用程序该做什么。 当然,这里有一条模糊的线。为什么不能说机器语言/C是脚本语言,因为它们是计算机用来与基本主板/图形卡/芯片接口的脚本

我们可以画一些线来澄清:

  • 当您可以编写脚本语言并在不进行“编译”的情况下运行它时,它更像是一种直接脚本。例如,你不需要对剧本做任何事情来告诉演员如何处理它。它已经在那里了,已经用过了。因此,我们将排除编译语言被称为脚本语言,即使它们在某些情况下可用于脚本目的

  • 脚本语言意味着向复杂的软件应用程序发送命令;这就是我们首先编写脚本的全部原因——所以您不需要