4

我问这个问题是因为当谈到“脚本语言”和“编程语言”这两个术语时,我看到了很多“个人偏好”。

我的问题是:

对于不能编译或直接在浏览器中运行的语言,是否有适当的技术术语?我读过的每一篇文章和我在这里搜索过的每一篇文章都没有明确说明是什么定义了一种语言的特征。

4

4 回答 4

9

也许你的意思是这个
https://en.wikipedia.org/wiki/Interpreted_language

解释语言是一种编程语言,它的大多数实现直接执行指令,而无需事先将程序编译成机器语言指令。解释器直接执行程序,将每个语句翻译成一个或多个已经编译成机器代码的子程序序列。

于 2015-11-05T20:12:22.570 回答
1

脚本语言

含义:解释而不是编译的语言

因此,未编译的语言是脚本语言

降价/标记语言

含义:一种可以以将纯文本格式化为“更好看”或格式良好的文本的方式编写的语言。

(这就是堆栈溢出用来使这个丑陋的文本看起来不错)

编程语言

含义:旨在与计算机或机器进行通信的任何语言

所以任何东西,即使是脚本语言也被认为是一种编程语言。任何一段代码,包括降价和标记,都可以被认为是编程语言,尽管它们是有争议的!

网络语言

Web 语言更像是一个类别,而不是一种实际的编程类型。网络语言是可用于创建网页的多种语言的组合。一个基本的网页由HTML(标记)、JavaScript(脚本语言)组成,CSS它也是一种脚本语言。

于 2015-11-05T20:22:01.193 回答
0

也许这不是您问题的完整答案,但是由于您在问题中提到了脚本语言和编程语言。

在我看来(在这种情况下不符合流行观点):

  • 脚本语言是一种主要允许您与对象“对话”、编写现有应用程序以执行特定工作流的语言。

  • 编程语言是一种主要允许您定义与之交互的对象以执行特定工作流的语言。

从表面上看,可能没有太大差异,而在现实世界中通常没有;如果我在浏览器扩展程序中使用 javascript 从网页中删除广告,我正在编写脚本,但是当我使用带有节点的 javascript 来构建 crm 系统时,我正在编程。这使得 javascript 对我来说既是脚本又是编程语言。

从这个角度来看,语言以及它是否被编译或解释以及动态或静态类型并不重要。

我通常会看到几十行代码将某些东西作为脚本自动化,但数百或更多作为程序。

有很多方法可以模糊这些概念之间的界限,而这正是我作为开发人员对这些事物的看法。

于 2015-11-05T20:27:00.830 回答
0

除了汇编语言之外的所有编程语言都被编译。甚至像批处理语言这样的语言解释也需要一个编译步骤来将单个批处理指令转换为一系列 CPU 指令。

编译器是一种计算机程序(或一组程序),它将以一种编程语言(源语言)编写的源代码转换为另一种计算机语言(目标语言), [...]

资料来源:维基百科

汇编语言被翻译而不被编译,因为一条装配线被翻译为提取一条 CPU 指令。

汇编语言(或汇编语言)是用于计算机或其他可编程设备的低级编程语言,其中语言和体系结构的机器代码指令之间存在非常强的(通常是一对一的)对应关系。与大多数高级编程语言相比,每种汇编语言都特定于特定的计算机体系结构,后者通常可以跨多个体系结构移植,但需要解释或编译。

资料来源:维基百科

新的汇编器支持替换或取消角色指令的宏,但这不是编译步骤,只是宏处理。

于 2015-11-05T20:51:32.977 回答