有没有办法衡量语言的复杂性?

时间:2015-05-04 15:17:40

标签: language-agnostic computer-science

当我开始学习一门新语言(如Java)或一个系统(如git)时,了解我必须爬上的山的整体大小会非常有帮助。

有没有办法以这种方式测量代码?

E.g。你可以测量一个山的高度和上升的难度。代码有类似之处吗?

更新

这在某种程度上回答了我想知道的事情:http://redmonk.com/dberkholz/2013/03/25/programming-languages-ranked-by-expressiveness/

1 个答案:

答案 0 :(得分:0)

不容易。你可能最好只做一些搜索 - 你可能会发现人们说像HTML这样的东西相当简单而C ++很难,但我知道这不是一个可靠的方法。 最终,学习某些东西的难度因人而异,语言与你已经知道的相似也可能产生影响。

如果有帮助,我注意到的一些一般规则如下:

  • 完全解释的语言(如JavaScript和Python)对变量类型非常放松,这可以使它们更容易学习。
  • 基于C的语言(C,C ++,Java等)都有非常相似的语法,如果你可以编程一个,其他的不应该太难学。
  • 像Python一样的语言被设计为像人类语言一样阅读,这可以使它们更容易理解,尽管它们通常与其他语言非常不同,偶尔也会不一致。
  • 像C和C ++这样的传统编译语言通常对语法非常严格(但格式灵活),这可以给他们提供更陡峭的学习曲线,但我会建议他们初学者,因为一旦你习惯了严格的语法,它很容易适应不太严格的语法,反之亦然。