脚本或编程语言?

时间:2011-09-29 20:39:14

标签: scripting programming-languages scripting-language

  

可能重复:
  When is a language considered a scripting language?

编程语言和脚本语言有什么区别?我已经在C / C ++上工作了一段时间,现在我开始研究Python,我被告知它是一种很好的脚本语言this post

但是正如我在学习的那样,我发现用C做到的一切都可以用Python来完成!那么脚本和编程语言之间真正的真正区别是什么?

1 个答案:

答案 0 :(得分:4)

我实际上相信这个问题有点误导。当然,脚本语言也是一种编程语言。但存在差异:

在编译语言和解释语言之间。

传统上,像c这样的语言被编译成机器代码,可以直接被cpu理解。另一方面,“脚本语言”通常不会在执行前编译成机器代码,而是使用解释器进行解释。 解释语言的优点通常在于它具有更快的开发周期,因为不需要编译,并且更容易从一个平台移动到另一个平台。例如。 python脚本可以在windows,linux,mac上执行而无需更改。 另一方面,编译语言的优点是它通常执行得更快。

我经常使用“通常”和“传统”,因为现在有些技术使得绘制线条变得更加困难。例如。可以将python代码直接编译为本机代码,还有c代码的解释器。此外,“及时”编译器和虚拟机使得在这里绘制黑白更难。

更多:http://en.wikipedia.org/wiki/Interpreted_language

Duck-Typed和强类型语言

通常脚本语言是duck-typed,这意味着可以为变量分配任何类型,并且没有或只有可选的类型检查。在C和C ++等编译语言中,每个变量都是键入的,它只能保存该类型的值。 鸭子类型语言的优点通常是它需要较少的物理类型和较少的代码(例如类型名称可以留下函数声明等等)并且更容易编写可重用的函数。 强类型语言的优点通常是它“帮助”程序员在运行应用程序之前发现错误。例如。编译器会抱怨类型错误,而不需要运行发生错误的具体行。特别是在拥有众多贡献者的大项目中,这可以成为一个惊人的优势。

更多:http://en.wikipedia.org/wiki/Duck_typing