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

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!

主站蜘蛛池模板: 鹤山市| 林甸县| 鄂温| 太仆寺旗| 宁德市| 吉林省| 察雅县| 宝清县| 长海县| 贵阳市| 永年县| 隆安县| 边坝县| 辽中县| 集安市| 裕民县| 永和县| 新建县| 广昌县| 大冶市| 许昌市| 德昌县| 工布江达县| 平遥县| 体育| 睢宁县| 清水河县| 台南县| 通渭县| 临湘市| 廉江市| 托克托县| 白沙| 那坡县| 古田县| 马关县| 蒲江县| 获嘉县| 漾濞| 邵东县| 保亭|