zoukankan      html  css  js  c++  java
  • 对Wintercn关于函数式编程的文章评论

    Winter-cn兄关于程序设计方法论有不少知识。时常写一点自己的观点,如:

    函数式编程的杂七杂八(非常乱)

    我看完了之后,不太赞同他的某些观点,写下了如此评论:

    首先不同意你的如下说法:

    引用所以如果你真正希望理解函数式,关键是观念的转变——你必须完全抛弃先后的想法


    即使是函数式编程,先后还是有的,至于原因,就拿Winter-cn自己的话来反证:

    引用任何一个函数都不介意自己的参数被求值的顺序。
    但是任何一个函数不会在自己参数被求值之前执行。
    所以 放入(开门(冰箱),大象) 一定会在 开门(冰箱) 之后执行。


    这段话至少明确了一点: 任何一个函数不会在自己参数被求值之前执行。你说有没有先后。
    至于你说的多个参数情形,理论上多个参数可以同时进行。但是通常实际上不是的,比如编译器固定地先编译或者解释器先解释某个参数。

    我对函数式编程的一种可能不是很确切的理解或者表达,函数式编程有点象很多个有名字的盒子,大盒子套小盒子,小盒子里面套更小的盒子。一个盒子里面可以套好几个小盒子。在最外面是一个最大的盒子。装了所有的盒子。对于一个盒子套多个小盒子,顺序取决于装盒子的人,他可以按照他的想法来装,他可以按颜色给盒子排顺序(假如有的话),也可以按大小来排顺序,也可以按重量来排顺序。当然,如果他可以一次同时拿好几个盒子的话,他也可以同时把几个小盒子放进大盒子里面。总之,这个程序的执行,就象装盒子的过程。

    最后一句,函数式编程只是表现形式而已。实质才是最重要的。实质是算法。

    算是表达我自己对函数式的认识。就是用盒子来比喻一个函数,之所以会想到如此比喻,主要是看到一对括号,正好象一个盒子,有着包装的意思。

  • 相关阅读:
    如何通过转换例程加减前导0
    PA教材提纲 TAW12-2
    Web开发框架趋势
    ASP.NET MVC
    一步步实现Promise
    在Jenkins中使用Git Plugin访问Https代码库失败的问题
    5年从DBA到运维架构总监 — 做对了什么
    Hello又大了一岁
    JavaWeb限流QPS简易框架
    JAVA异常使用_每个人都曾用过、但未必都用得好
  • 原文地址:https://www.cnblogs.com/mikelij/p/1779891.html
Copyright © 2011-2022 走看看