【问题标题】:scripting or programming language? [duplicate]脚本还是编程语言? [复制]
【发布时间】:2011-11-28 00:32:56
【问题描述】:

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

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

但随着我的学习,我发现到目前为止可以用 C 完成的所有事情都可以用 Python 完成!那么脚本和编程语言之间真正的区别是什么?

【问题讨论】:

    标签: scripting programming-languages scripting-language


    【解决方案1】:

    我实际上认为这个问题有点误导。当然,脚本语言也是一种编程语言。但也有区别:

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

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

    我经常使用“通常”和“传统上”,因为现在有一些技术使划清界限变得更加困难。例如。可以将 python 代码直接编译为本机代码,并且还有 c 代码的解释器。此外,“Just In Time”编译器和虚拟机也使得在这里绘制黑白变得更加困难。

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

    鸭子类型和强类型语言

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-02
      • 2017-01-16
      • 2011-08-12
      • 1970-01-01
      • 2011-11-09
      • 2011-03-29
      • 2010-10-19
      • 1970-01-01
      相关资源
      最近更新 更多