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

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!

主站蜘蛛池模板: 尉氏县| 伊金霍洛旗| 贡嘎县| 云林县| 崇明县| 元阳县| 民乐县| 榆中县| 阿合奇县| 准格尔旗| 张家港市| 榆树市| 延吉市| 安徽省| 望江县| 沙河市| 大港区| 和硕县| 荣昌县| 石城县| 库伦旗| 旌德县| 杭锦后旗| 和顺县| 西充县| 滁州市| 额敏县| 会昌县| 海原县| 县级市| 乌审旗| 洪江市| 阿克| 赣州市| 牟定县| 方山县| 施甸县| 甘南县| 建阳市| 九寨沟县| 昔阳县|