官术网_书友最值得收藏!

A different way of thinking

FP implies a different way of writing programs, which can sometimes be difficult to learn. In most languages, programming is done in imperative fashion: a program is a sequence of statements, executed in a prescribed fashion, and the desired result is achieved by creating objects and doing manipulations on them, which usually modify the objects themselves. FP is based on producing the desired result by evaluating expressions, built out of functions composed together. In FP, it's usual to pass functions around (as parameters to other functions, or returned as the result of some calculation), to not use loops (opting for recursion instead), and to skip side effects (such as modifying objects or global variables).

Another way of saying this, is that FP focuses on what should be done, rather than on how. Instead of worrying about loops or arrays, you work at a higher level, considering what you need to be done. After getting accustomed to this style, you'll find that your code becomes simpler, shorter, more elegant, and can be easily tested and debugged. However, don't fall into the trap of considering FP as a goal! Think of FP only as a means towards an end, as with all software tools. Functional code isn't good just for being functional... and writing bad code is just as possible with FP as with any other techniques!

主站蜘蛛池模板: 特克斯县| 雅江县| 邹城市| 花垣县| 都匀市| 阿勒泰市| 江达县| 尚义县| 荃湾区| 崇文区| 永登县| 西峡县| 黑山县| 阿拉善盟| 迭部县| 大足县| 绥化市| 黎平县| 睢宁县| 得荣县| 天水市| 徐州市| 什邡市| 博湖县| 昆山市| 台山市| 高雄县| 吴堡县| 喀什市| 抚顺市| 尤溪县| 开化县| 沁阳市| 招远市| 十堰市| 安丘市| 平阳县| 土默特左旗| 垦利县| 东宁县| 定兴县|