返回 登录
0

为什么有些语言比别的快?

来自Ars Technica的文章评论了影响编程语言速度的各个方面。Ars这个网站虽然自称技术网站,但编程方面的文章一般比较浅,这篇也不例外。虽然文字很长,但无非讲了几点:

  1. 为什么编译型语言比解释型快,引入的间接层越多,速度越慢
  2. JIT与字节码的使用,带来了Java和C#这样介于前两者之间的中间选择
  3. 影响语言速度的因素还有很多,包括在语言设施上的投入力度(JavaScript由于Google、微软和Mozilla等公司大力投入,与Python之间拉大了距离),语言本身的设计(Fortran直接支持数组运算,这时C仅凭指针就无法匹敌)

当然,其中对一些基本概念(比如编译过程)的解释很通俗,还是有价值的。

评论中,有读者正确地指出,语言的速度当然重要,但更重要的是知道什么时候选择正确的语言,很多情况下我们不需要使用执行速度最快的语言,因为开发的速度更重要。他们的经验是:

执行速度不太重要而且没有图形界面时,用Python而不是C,开发速度快10倍 如果有图形界面,或者逻辑复杂,用C#(WinForms和WPF),比C++/Qt开发快 如果执行速度很重要,用C/C++,更喜欢C

评论里还有不少有价值的,说明Ars读者质量很高。

评论