Eni*_*ity 42
我采取不同的看法.
"脚本"是以外部或独立方式作用于某个系统的代码,可以在不禁用系统本身的情况下删除或禁用.
"程序"是构成系统的代码.程序的代码可以以模块化的方式编写,并且可以很好地分离关注点,但代码基本上是内部的,并且是系统本身的依赖.
脚本通常被解释,但并非总是如此.程序经常被编译,但并非总是如此.
Pas*_*TIN 41
对我来说,主要区别在于脚本被解释,而程序被执行 (即首先编译源代码,并且预期编译的结果).
维基百科似乎对此赞同:
脚本:
"脚本"与应用程序的核心代码不同,后者通常以不同的语言编写,并且通常由最终用户创建或至少修改.
脚本通常从源代码或字节码解释,而它们控制的应用程序传统上编译为本机机器代码.
计划:
该程序具有可执行的形式,计算机可以直接使用该形式来执行指令.
人类可读源代码形式的相同程序,从中派生可执行程序(例如,编译)
Sar*_*raz 11
看到:
脚本也是一个程序,但没有隐藏(源代码)的不透明层,而程序是有衣服的程序,除非它是可分解的,否则你看不到它的源代码.
脚本需要其他程序来执行它们而程序不需要它们.
Mic*_*tta 11
通常,脚本是一种轻量级,快速构建的,可能是一次性使用的工具.它通常被解释,而不是编译. Python和bash是用于构建脚本的语言示例.
程序是用编译语言构建的,比如C或C++,并且由于这个原因通常比脚本运行得更快.较大的工具通常被编写为"程序"而不是脚本 - 较小的工具更容易开发为脚本,但脚本随着它们变大而变得难以处理.应用程序和系统语言(用于构建程序/应用程序的语言)具有使增长更易于管理的工具.
您通常可以在文本编辑器中查看脚本以查看其功能.你不能用可执行程序来做到这一点 - 后者的指令已被编译成字节码或机器语言,这使得人们很难理解,没有专门的工具.
注意上面"oftens"和"oftens"的数量 - 这些术语是模糊的,有时会交叉.