脚本和程序之间的区别?

gir*_*iri 70 scripting

脚本和程序有什么区别?大多数时候我听说脚本正在运行,那不是程序吗?我有点不解,有人可以详细说明吗?

Eni*_*ity 42

我采取不同的看法.

"脚本"是以外部或独立方式作用于某个系统的代码,可以在不禁用系统本身的情况下删除或禁用.

"程序"是构成系统的代码.程序的代码可以以模块化的方式编写,并且可以很好地分离关注点,但代码基本上是内部的,并且是系统本身的依赖.

脚本通常被解释,但并非总是如此.程序经常被编译,但并非总是如此.

  • **系统**是什么意思? (3认同)
  • :-) 好的!该段第一部分提到的**系统**是什么?它是一个应用程序、操作系统、具有许多整体/独立部分的应用程序,还是其他什么? (2认同)

Pas*_*TIN 41

对我来说,主要区别在于脚本被解释,而程序被执行 (即首先编译源代码,并且预期编译的结果).


维基百科似乎对此赞同:

脚本:

"脚本"与应用程序的核心代码不同,后者通常以不同的语言编写,并且通常由最终用户创建或至少修改.
脚本通常从源代码或字节码解释,而它们控制的应用程序传统上编译为本机机器代码.

计划:

该程序具有可执行的形式,计算机可以直接使用该形式来执行指令.
人类可读源代码形式的相同程序,从中派生可执行程序(例如,编译)

  • -1因为维基百科当然总是正确的.编译和解释之间的区别与讨论无关. (6认同)
  • 你说,"(即首先编译源代码,并预期编译结果)." 你的意思是"编译被执行"? (3认同)

Sar*_*raz 11

看到:

程序和脚本之间的区别

脚本也是一个程序,但没有隐藏(源代码)的不透明层,而程序是有衣服的程序,除非它是可分解的,否则你看不到它的源代码.

脚本需要其他程序来执行它们而程序不需要它们.

  • 这个链接现在404s. (8认同)
  • 现在该链接为200s。 (2认同)
  • **“此链接”提供了比“此答案”更好的解释。**编译代码的目的**不是**“隐藏”或“装饰”任何东西......我很惊讶这个答案得到了如此多的投票(来自如此高知名度的用户),因为除了通过严重过度简化和传播幼稚的错误信息来让新手停止提出常见问题之外,它几乎没有任何作用。 (2认同)

Mic*_*tta 11

通常,脚本是一种轻量级,快速构建的,可能是一次性使用的工具.它通常被解释,而不是编译. Pythonbash是用于构建脚本的语言示例.

程序是用编译语言构建的,比如C或C++,并且由于这个原因通常比脚本运行得更快.较大的工具通常被编写为"程序"而不是脚本 - 较小的工具更容易开发为脚本,但脚本随着它们变大而变得难以处理.应用程序和系统语言(用于构建程序/应用程序的语言)具有使增长更易于管理的工具.

您通常可以在文本编辑器中查看脚本以查看其功能.你不能用可执行程序来做到这一点 - 后者的指令已被编译成字节码或机器语言,这使得人们很难理解,没有专门的工具.

注意上面"oftens"和"oftens"的数量 - 这些术语是模糊的,有时会交叉.


coo*_*ist 6

通常,"程序"是一系列指令,以便计算机可以执行某些任务.

"脚本"是用脚本语言编写的代码.脚本语言只不过是一种编程语言,我们可以编写代码来控制另一个软件应用程序.

实际上,编程语言有两种类型:

一个.脚本语言

湾 编译语言

请阅读: 脚本和编译语言


Mit*_*eat 4

脚本通常被解释(由另一个可执行文件)。

程序通常是独立编译的可执行文件(尽管它可能具有库依赖性),由机器代码或字节代码(对于即时编译的程序)组成