脚本和程序有什么区别?大多数时候我听说脚本正在运行,那不是程序吗?我有点疑惑,任何人都可以详细说明这个吗?
答案 0 :(得分:41)
对我来说,主要区别在于脚本被解释,而程序被执行 (即首先编译源代码,结果是编译是预期的)。
维基百科似乎对此赞同:
“脚本”与核心不同 应用程序的代码,即 通常写在不同的 语言,通常是创建或在 最终用户最少修改。
脚本经常被解释 源代码或字节码,而 他们控制的应用程序 传统上编译为本机 机器代码。
该程序有一个可执行的表单 计算机可以直接使用 执行指令。
同样的 程序在其人类可读的来源 代码表单,从中可执行文件 程序派生(例如,编译)
答案 1 :(得分:39)
我采取了不同的看法。
“脚本”是以外部或独立方式对某个系统起作用的代码,可以在不禁用系统本身的情况下删除或禁用。
“程序”是构成系统的代码。程序的代码可以以模块化方式编写,并且关注点分离良好,但代码基本上是内部的,并且依赖于,系统本身。
脚本通常被解释,但并非总是如此。程序经常被编译,但并非总是如此。
答案 2 :(得分:11)
通常,脚本是一种轻量级,快速构建的,可能是一次性使用的工具。它通常被解释,而不是编译。 Python和bash是用于构建脚本的语言示例。
程序是用编译语言构建的,比如C或C ++,并且由于这个原因通常比脚本运行得更快。较大的工具通常被编写为“程序”而不是脚本 - 较小的工具更容易开发为脚本,但脚本随着它们变大而变得难以处理。应用程序和系统语言(用于构建程序/应用程序的语言)具有使增长更易于管理的工具。
您通常可以在文本编辑器中查看脚本以查看其功能。你不能用可执行程序做到这一点 - 后者的指令已被编译成字节码或机器语言,这使得人们很难理解,没有专门的工具。
请注意上面“oftens”和“oftens”的数量 - 这些术语是模糊的,有时会交叉。
答案 3 :(得分:10)
请参阅:
<强> The Difference Between a Program and a Script 强>
脚本也是一个程序,但没有隐藏(源代码)的不透明层,而程序是有衣服的程序,除非可以解压缩,否则你看不到它的源代码。
脚本需要其他程序来执行它们而程序不需要它们。
答案 4 :(得分:6)
一般来说,“程序”是编写的一系列指令,以便计算机可以执行某项任务。
“脚本”是用脚本语言编写的代码。脚本语言只不过是一种编程语言,我们可以编写代码来控制另一个软件应用程序。
实际上,编程语言有两种类型:
一个。脚本语言
湾编译语言
答案 5 :(得分:3)
脚本通常被解释(由另一个可执行文件)。
程序通常是一个独立的编译可执行文件(尽管它可能有库依赖项),包括机器代码或字节代码(用于即时编译程序)
答案 6 :(得分:1)
脚本与程序现实实际上有两个维度:
语言是否足够强大,特别是对于字符串操作,与像posix shell这样的宏处理器竞争,尤其是bash?如果运行某些功能并不比bash好,那么使用它就没什么意义了。
语言方便快捷吗? Java,Scala,JRuby,Closure和Groovy都是强大的语言,但是Java需要很多样板,并且它们都需要JVM才需要很长时间才能启动。
OTOH, Perl,Python 和 Ruby 都可以快速启动并具有强大的字符串处理功能(以及几乎所有其他操作)操作,因此它们倾向于占据了有时被贬低但不容易被侵犯的“脚本”世界。事实证明,他们在运行整个传统程序方面做得很好。
左边是像Javascript这样的语言,它们不用于编写脚本但可能是。 更新:因为这是在多个平台上发布的node.js。在其他新闻中,问题已经结束。 “哦,好吧。”
答案 7 :(得分:1)
根据我的观点,脚本和程序之间的主要区别是:
脚本可以与其他技术一起使用。示例:PHP脚本,Javascripts等可以在HTML中使用。
程序是独立的代码块,永远不能嵌入到其他技术中。
如果我在任何地方出错,请纠正我。我会钦佩你的纠正。
答案 8 :(得分:0)
框架或其他类似架构将运行/解释脚本来执行任务。程序由机器编译和运行以执行任务
答案 9 :(得分:0)
IMO 脚本 - 是程序应该运行的那种指令 程序 - 是硬件应该运行的指令
虽然我猜.NET / JAVA字节代码是这个定义的脚本
答案 10 :(得分:0)
脚本:它包含一组“脚本语言”指令,用于控制,运行其他系统程序,应用程序也可以进行调度。
程序:它包含一组指令,在编译器编译程序时执行某些任务。