介绍Lambda好处的文章随处可见,特别是提供了这个功能的编程语言。
其中一个被强调的好处是增加了代码的可读性!!!
我是强烈不同意。
想听听大家的评论。
版主: hci
介绍Lambda好处的文章随处可见,特别是提供了这个功能的编程语言。
其中一个被强调的好处是增加了代码的可读性!!!
我是强烈不同意。
想听听大家的评论。
noid2 写了: 2025年 10月 27日 16:35介绍Lambda好处的文章随处可见,特别是提供了这个功能的编程语言。
其中一个被强调的好处是增加了代码的可读性!!!我是强烈不同意。
想听听大家的评论。
You are talking about the benefits of functional programming. If you don't understand this, you have a lot to study.
wildthing 写了: 2025年 10月 27日 17:28You are talking about the benefits of functional programming. If you don't understand this, you have a lot to study.
我知道面向对象编程当时也是被吹的神乎其神,能解决编程的一切问题。
当然没有什么神秘的。更谈不上神乎其神
这不过是基础知识
你提到的是 Higher order function, first class function value, and functional programming in general.
没有什么东西是绝对的。
Functional programming 有好的一面也有烦人的一面
你问的这个问题表明你并不了解问题的本质,所以我说你要学习一下
这有点和民科谈量子力学一样。当然区别没有那么大了。
wildthing 写了: 2025年 10月 27日 21:24当然没有什么神秘的。更谈不上神乎其神
这不过是基础知识你提到的是 Higher order function, first class function value, and functional programming in general.
没有什么东西是绝对的。
Functional programming 有好的一面也有烦人的一面你问的这个问题表明你并不了解问题的本质,所以我说你要学习一下
这有点和民科谈量子力学一样。当然区别没有那么大了。
增加代码的可读性了吗?
hci 写了: 2025年 10月 28日 02:23增加了。
我十几年前就在这个版上说了,函数式编程更高层,更接近人的思考,更远离机器的实现。这个事实被越来越多的人认识到了。这其实就是编程的历史所显示出的发展方向。
现在用AI编程,更是往这个方向迈了一大步,几乎都不用直接写代码了。
30年前吹OO时也是这么说的
OOP没有什么理论基础。其发明者Alan Kay,图灵奖得主,与Clojure的发明人Rich Hickey,一个学音乐的,两人辩论,Kay还辩不过。为啥,因为OOP没有什么深度,本质就是一个基于仿真的比较随意的主意,适用于某些领域,如此而已。
函数式编程比OOP要古老,是有强大理论基础的,不仅仅是一个随意的主意。上面有人说了,lambda calculus是与图灵机是等价的,所以从理论上说,lambda is all you need.
hci 写了: 2025年 10月 28日 11:28OOP没有什么理论基础。其发明者Alan Kay,图灵奖得主,与Clojure的发明人Rich Hickey,一个学音乐的,两人辩论,Kay还辩不过。为啥,因为OOP没有什么深度,本质就是一个基于仿真的比较随意的主意,适用于某些领域,如此而已。
函数式编程比OOP要古老,是有强大理论基础的,不仅仅是一个随意的主意。上面有人说了,lambda calculus是与图灵机是等价的,所以从理论上说,lambda is all you need.
C算函数编程不?
Fortran?
当然增加可读性。Below is quicksort in Scala in functional style. It is more readable to me but not necessarily to others.
def sort(xs: Array[Int]): Array[Int] = {
if (xs.length <= 1) xs
else {
val pivot = xs(xs.length / 2)
Array.concat(sort(xs filter (pivot >)), xs filter (pivot ==), sort(xs filter (pivot <)))
}
}
wildthing 写了: 2025年 10月 28日 12:10当然增加可读性。Below is quicksort in Scala in functional style. It is more readable to me but not necessarily to others.
def sort(xs: Array[Int]): Array[Int] = {
if (xs.length <= 1) xs
else {
val pivot = xs(xs.length / 2)
Array.concat(sort(xs filter (pivot >)), xs filter (pivot ==), sort(xs filter (pivot <)))
}
}
你这只是一种用法。