我注意到许多语言如Ruby和CofeeScript(以及转换编译器)都支持所有表达式.@H_403_2@
现在它使语言有点简单易懂,而且表面上看起来似乎很简洁,但我正在寻找一些有关这两种方法的正面和负面的学术出版物.@H_403_2@
如果这些出版物有明确的例子可以比较一切都是表达的好处,那么这将是有益的.@H_403_2@
CoffeeScript与Javascript中的示例会很好,但不是必需的.@H_403_2@
这个概念绝对很酷,但我仍然不确定整个想法究竟是多么具有革命性(显然革命性的东西有点意见).@H_403_2@
谢谢!@H_403_2@
面向表达式的代码比面向语句的代码更简单,更简洁,因为更少的assignments和没有显式的返回语句.表达式和命令之间缺乏区别使概念统一(见Referential transparency)和bottom-up结构成为可能.@H_403_2@
一些现代语言采用了函数式编程概念(例如C#,Python,Ruby).@H_403_2@
@H_403_2@
Some scholarly insight on the benefits of functional practices:@H_403_2@
- 07006
Interesting articles:@H_403_2@
- 07007
- 07008
至于关于性能问题的评论,与范式选择相关的可能开销可能微不足道.即使在C语言中,大多数语句evaluate as an expression – 然而,编译语言(C)和解释语言(CoffeeScript)之间的比较相当无用.@H_403_2@
从理论上讲,imperative language以更多面向机器的方式表示控制流程,这可以允许比功能语言更容易的手动优化.@H_403_2@
语言表现及其重要性在很大程度上取决于用例.关于JavaScript及其上的任何代码转换,这种性能讨论完全无关紧要.生产力的提高超过任何轻微的性能影响.@H_403_2@