假设现在有一个问题:对一个给定的数组A,计算其中元素的平方和。
熟悉命令式编程的人很快就能写出这样的代码:
int A[] = { 1, 2, 3, 4, 5 };
int sum = 0;
for (auto it = begin(A); it != end(A); it++) {
sum += (*it) * (*it);
}
cout << sum << endl;
熟悉函数式编程的人可以写出更简单的代码:
A = [1, 2, 3, 4, 5]
S = sum(map(lambda x: x*x, A))
但是当数据操作非常多时,函数的嵌套会严重影响可读性。
笑话一则:
苏联特工九死一生偷到了NASA太空火箭发射程序源代码的最后一页
)))))))))))))))))))))))))))
))))))))))))))))