脚本和程序之间的区别?

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

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

维基百科似乎对此表示赞同:

脚本

“脚本”与应用程序的核心代码截然不同,后者通常是用不同的语言编写的,而且通常是由最终用户创build或修改的。
脚本经常从源代码或字节码中解释,而它们控制的应用程序传统上被编译为本机机器码。

计划

该程序有一个可执行的forms,电脑可以直接使用来执行指令。
以其可读的源代码forms的相同的程序,从其可导出可执行程序(例如编译)

我有不同的看法。

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

“程序”是构成系统的代码。 程序的代码可以用模块化的方式编写,关注点很好地分开,但是代码基本上是系统本身的内部和依赖。

脚本经常被解释,但不总是。 程序通常是编译的,但并不总是如此。

通常情况下,脚本是一个轻量级,快速构build,可能是一次性使用的工具。 它通常被解释,而不是编译。 Python和bash是用来构build脚本的语言的例子。

程序是用编译语言构build的,比如C或者C ++,通常运行得比脚本更快。 较大的工具通常被写成“程序”而不是脚本 – 较小的工具更容易作为脚本来开发,但脚本随着变大而变得笨重。 应用程序和系统语言(用于构build程序/应用程序的语言)有一些工具可以使这种增长更易于pipe理。

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

注意上面的“通”和“通常”的数量 – 这些术语是模糊的,有时会交叉。

看到:

程序与脚本的区别

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

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

一般而言,“程序”是为了使计算机执行某些任务而编写的一系列指令

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

事实上,编程语言有两种types:

一个。 脚本语言

湾 编译语言

请阅读: 脚本和编译语言

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

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

根据我的观点,脚本和程序的主要区别在于:

脚本可以与其他技术一起使用。 例如:PHP脚本,JavaScript等可以在HTML中使用。

程序是独立的代码块,不能embedded到其他技术中。

如果我在任何地方错了,请纠正我,我会欣赏你的改正。

脚本和程序实际上有两个维度:

  1. 这种语言是否足够强大,特别是在string操作方面,与像posix shell这样的macros处理器竞争,尤其是bash呢? 如果运行某个函数不比bash好,那么使用它就没有多大意义。

  2. 语言是否方便快速启动? Java,Scala,JRuby,Closure和Groovy都是强大的语言,但是Java需要大量的样板,而且他们所需的JVM只需要很长时间才能启动。

OTOH, Perl,PythonRuby都可以快速启动,并具有强大的string处理(以及几乎所有其他处理)操作,所以它们倾向于占用有时被贬低但不容易被侵犯的脚本“世界。 事实certificate,他们在运行整个传统程序方面也做得很好。

在limbo左边是像Javascript这样的语言,它不用于脚本,但可能是。 更新:因为这是写的node.js在多个平台上发布。 其他消息,这个问题被closures了。 “好吧。”

框架或其他类似的模式将运行/解释脚本来完成任务。 一个程序被编译并由一台机器运行来完成一项任务

IMO脚本 – 是程序应该运行的指令程序 – 是硬件应该运行的指令

虽然我猜.NET / JAVA字节码是这个定义的脚本

脚本 :它包含一套“脚本语言”指令,可以控制,运行其他系统程序,也可以调度应用程序。

程序 :它包含一组指令,它在编译程序时执行某些任务。