可能重复:
When is a language considered a scripting language?脚本或编程语言?
是什么编程语言和脚本语言之间的区别?我曾经在C/C++上工作了一段时间,现在我开始看Python,我被告知这是一种很好的脚本语言this post。
但是,当我在学习时,我发现所有可以用C完成的工作都可以用Python来完成!那么脚本和编程语言之间真正的真正区别是什么?
可能重复:
When is a language considered a scripting language?脚本或编程语言?
是什么编程语言和脚本语言之间的区别?我曾经在C/C++上工作了一段时间,现在我开始看Python,我被告知这是一种很好的脚本语言this post。
但是,当我在学习时,我发现所有可以用C完成的工作都可以用Python来完成!那么脚本和编程语言之间真正的真正区别是什么?
我确实相信这个问题有点误导。当然,脚本语言也是一种编程语言。但有差异:
编译和解释语言之间。
传统上,像c这样的语言被编译成可以直接被CPU理解的机器代码。另一方面,“脚本语言”通常不会在执行前被编译成机器代码,而是使用解释器进行解释。 解释型语言的优势通常在于它具有更快的开发周期,因为不需要编译,并且从一个平台移动到另一个平台更容易。例如。 python脚本可以在windows,linux,mac上执行而不用修改。另一方面,编译语言的优点是通常执行得更快。
我经常使用“通常”和“传统”,因为现在有技术使得绘制线更加困难。例如。有可能将python代码直接编译为本机代码,并且还有用于c代码的解释器。此外,“Just In Time”编译器和虚拟机使得在这里绘制黑白图像更加困难。
更多:http://en.wikipedia.org/wiki/Interpreted_language
鸭类型化和强类型语言
一般脚本语言是鸭类型的,这意味着一个变量可分配任何类型的,并且没有或仅是可选的检查类型。在C和C++等另一端的编译语言中,每个变量都是键入的,它只能保存该类型的值。 鸭式语言的优点通常是它需要较少的物理类型和较少的代码(例如,类型名称可以留给函数声明等),并且编写可重用函数更容易。 强类型语言的优势通常在于它可以帮助程序员在运行应用程序之前发现错误。例如。编译器会抱怨类型错误,而不需要运行发生错误的具体行。特别是在有许多贡献者的大型项目中,这可以成为一个惊人的优势。