- 主题:今天被镇住了:命令编程vs函数编程
比如翻转一棵树。
命令编程是左右一个一个给你调换过去。
函数编程是直接告诉你,左边是右边,右边是左边。
哇塞,这完全是降维打击呀。
。
--
FROM 221.218.140.*
是这个道理没错。
你掌握了这个思想之后,即使你是写 shell 命令,或者用 excel,都可以用这样的思想。
【 在 zhanghaoX 的大作中提到: 】
: 比如翻转一棵树。
: 命令编程是左右一个一个给你调换过去。
: 函数编程是直接告诉你,左边是右边,右边是左边。
: 哇塞,这完全是降维打击呀。
: 。
--
修改:flw FROM 27.38.228.*
FROM 27.38.228.*
能不能给还没完全明白这种思想的讲讲,既然编译后都是转换为一条条的指令
【 在 flw 的大作中提到: 】
: 是这个道理没错。
: 你掌握了这个思想之后,即使你是写 shell 命令,或者用 excel,都可以用这样的思想。
:
--
修改:pabkyh FROM 36.154.175.*
FROM 36.154.175.*
有个说法是:
命令式编程,是How to do, 通过指令告诉计算机如何一步一步地完成预定任务;
函数式编程,是What to do,通过指令告诉计算机要做什么就可以了
【 在 zhanghaoX 的大作中提到: 】
: 比如翻转一棵树。
: 命令编程是左右一个一个给你调换过去。
: 函数编程是直接告诉你,左边是右边,右边是左边。
: ...................
--
FROM 183.192.19.*
那不是接近自然语言编程了啊
【 在 bsxfun 的大作中提到: 】
: 有个说法是:
: 命令式编程,是How to do, 通过指令告诉计算机如何一步一步地完成预定任务;
: 函数式编程,是What to do,通过指令告诉计算机要做什么就可以了
: ...................
--
FROM 122.232.27.*
核心在于,
虽然最终都是转换为一条一条的指令,
但是怎么把问题转换成指令,
命令式语言倾向于让程序员把转换过程想清楚,并且给电脑讲清楚。
而 FP 倾向于让程序员把问题说清楚,然后让编译器自动进行转换。
当然了,编译器也不是神仙,也不能做无米之炊,
所以它就要反过来要求你,让你把问题尽可能具体地说清楚,
而且虽然你可能已经很努力地说清楚了,但编译器常常还会认为你并没有说清楚,
所以编译的时候会给你提一堆的反对意见,让你接着想,仔细想,把问题想清楚。
所以 FP 强调设计,命令式强调实现。
命令式可以有很精巧的实现(想想 C 语言混乱大赛),
但 FP 可以有很精巧的设计。
区别在这。
【 在 pabkyh 的大作中提到: 】
: 能不能给还没完全明白这种思想的讲讲,既然编译后都是转换为一条条的指令
--
FROM 27.38.228.*
本质都一样
【 在 zhanghaoX 的大作中提到: 】
: 比如翻转一棵树。
: 命令编程是左右一个一个给你调换过去。
: 函数编程是直接告诉你,左边是右边,右边是左边。
: ...................
--
FROM 120.244.129.*
FP 就是说要求程序员对问题的理解要更深刻更抽象,最好能抽象到数学层面,并且不用考虑具体的运算执行过程,只要表达清楚问题的映射关系,是这样吗
【 在 flw 的大作中提到: 】
: 核心在于,
: 虽然最终都是转换为一条一条的指令,
: 但是怎么把问题转换成指令,
: ...................
--
FROM 180.104.104.*
理想情况是这样,但实际上因为编译器能力的限制,以及丑陋的真实世界,
最后还是不得不考虑执行过程,但这个过程往往要比命令式语言复杂得多得多得多。
【 在 pabkyh 的大作中提到: 】
: FP 就是说要求程序员对问题的理解要更深刻更抽象,最好能抽象到数学层面,并且不用考虑具体的运算执行过程,只要表达清楚问题的映射关系,是这样吗
--
FROM 27.38.228.*
那就为了代码看起来简洁一点,问题逻辑更明晰一点而花费那些功夫为了啥呢
【 在 flw 的大作中提到: 】
: 理想情况是这样,但实际上因为编译器能力的限制,以及丑陋的真实世界,
: 最后还是不得不考虑执行过程,但这个过程往往要比命令式语言复杂得多得多得多。
:
--
FROM 180.104.104.*