核心在于,
虽然最终都是转换为一条一条的指令,
但是怎么把问题转换成指令,
命令式语言倾向于让程序员把转换过程想清楚,并且给电脑讲清楚。
而 FP 倾向于让程序员把问题说清楚,然后让编译器自动进行转换。
当然了,编译器也不是神仙,也不能做无米之炊,
所以它就要反过来要求你,让你把问题尽可能具体地说清楚,
而且虽然你可能已经很努力地说清楚了,但编译器常常还会认为你并没有说清楚,
所以编译的时候会给你提一堆的反对意见,让你接着想,仔细想,把问题想清楚。
所以 FP 强调设计,命令式强调实现。
命令式可以有很精巧的实现(想想 C 语言混乱大赛),
但 FP 可以有很精巧的设计。
区别在这。
【 在 pabkyh 的大作中提到: 】
: 能不能给还没完全明白这种思想的讲讲,既然编译后都是转换为一条条的指令
--
FROM 27.38.228.*