测量函数式语言和命令式语言的代码复杂性

时间:2010-08-12 13:43:17

标签: functional-programming complexity-theory measure

比较函数式语言和命令式语言的代码复杂性的最佳方法是什么?

在我的情况下,我必须比较用F#和C ++编写的某些程序的复杂性。 至于现在作为代码质量测量,我使用的是源代码行。

1 个答案:

答案 0 :(得分:2)

没有“最好”的方式。甚至没有一种可以远程接受的方式。

  • SLoC(和相关的测量,如字符数)完全没有意义;有关最常见批评的摘要,请参阅维基百科
  • 如果你想要一个更抽象的东西来计算,比如程序的“原子元素”,你必须决定你认为是什么 - 许多人会不同意,理所当然,因为这件事大部分是不可判断的
  • 此外,这种比较非常公平,因为他们中的大多数人都使用的例子问题往往会在一种语言或另一种语言中更自然地得到解决。每个尝试在C ++中实现Accumulator Factory?现在请记住,问题是由Lisp倡导者(Paul Graham)提出的......
  • 此外,许多人认为使用极少数行/字符/“原子元素”的非常聪明的解决方案并不是其他方面的最佳解决方案 - 请查看代码高尔夫

考虑到所有事情,最好的解决方案可能是采取许多不同的现实问题,用不同的语言解决它们,只是非正式地查看来源并决定哪种看起来更优雅。