1

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

就我而言,我必须比较某些用 F# 和 C++ 编写的程序的复杂性。至于现在作为代码质量衡量标准,我正在使用源代码行。

4

1 回答 1

3

没有“最好”的方式。甚至没有一种遥不可及的方式。

  • SLoC(以及相关的测量,如字符数)完全没有意义;有关最常见批评的摘要,请参阅 Wikipedia
  • 如果你想计算一个更抽象的东西,比如程序的“原子元素”,你必须决定你认为是什么——很多人会不同意,这是理所当然的,因为这件事大多是无法确定的
  • 此外,这样的比较是非常公平的,因为它们中的大多数使用的示例问题往往可以用一种语言或另一种语言更自然地解决。每个人都试过用 C++实现一个累加器工厂吗?现在请记住,这个问题是由 Lisp 倡导者(Paul Graham)提出的......
  • 此外,许多人会争辩说,使用很少的行/字符/“原子元素”的真正聪明的解决方案并不是任何其他方式的最佳解决方案 - 看看代码高尔夫

考虑到所有因素,最好的解决方案可能是处理许多不同的现实世界问题,用不同的语言习惯性地解决它们,然后非正式地查看源代码并决定哪个看起来更优雅。

于 2010-08-12T14:05:35.393 回答