近年来函数式编程(Functional Programming,FP)开始得到愈来愈多的关注,继面向对象编程以后,函数式编程或许会成为下一个编程的主流范式(Programming Paradigm)。
函数式编程具备代码简洁、开发速度快、更接近天然语言和易于并发编程等优势。目前愈来愈多的语言开始或加强对函数式编程的支持,如Python、Ruby、Javascript等。c++
在维基百科中对函数式编程的定义是:
In computer science, functional programming is a programming paradigm—a style of building the structure and elements of computer programs—that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data.编程
C++语言并不鼓励函数式程序设计,但它也不妨碍你这么作,并且为你保留了深刻下层、运用SIMD内在函数基于内存映射文件直接布局数据的能力,或任何其余你发现本身用得着的精华特性。并发
目前C++函数式编程的资料不多,FC++是最好的基于C++的函数式编程库开放源码实现,能够把它插入遗留的C++代码中。BSFC++等项目中已经使用了FC++,BSFC++是一个用C++进行函数大规模同步并行编程的库。能够从SourceForge下载 FC++:http://sourceforge.net/projects/fcpp/函数式编程
学习资料:函数
1. 卡马克:用C++进行函数式编程
2. FC++: The Functional C++ Library
3. Functional-Style Programming in C++布局