更多 标签 '函数式编程'
  • 函数式编程为什么没有流行起来
  • 函数式编程已经不是什么新概念了,而且在各个技术论坛和新闻网站上也时不时的挂起一阵函数式编程的旋风。但是对于很多编写应用程序的编程人员来说,函数式编程仍显得那么陌生和遥远。对此Confusion在tweakblog.net上发起了一场关于“为什么函数式编程语言没有流行起来”的大讨论。
  • Web开发编程其实更倾向函数式编程
  • PHP支持第一类函数(first-class function),即函数可以赋值给变量,包括用户自定义的函数和内置函数,然后动态调用它。 函数可以作为参数传递给其他函数(即高阶函数),也可以作为函数返回值返回。PHP支持函数递归调用,即函数自己调用自己,不过在实际的PHP代码中,我们更喜欢用迭代来代替递归。
  • 函数式编程里的Closures闭包
  • 到此我们已经讨论了纯函数式语言——实现了 λ 演算又不包括与丘奇形式系统矛盾的语言——里的特性,可是还有很多在 λ 演算框架之外的函数语言的有用特征。虽然一个公理系统的实现可以让我们象数学表达式那样思考程序但它未必是实际可行的。
  • 函数式编程里的模式匹配
  • 模式匹配不是什么新的创新特性,事实上,它和函数式编程的关系不大。把产生模式匹配归因于函数式编程的唯一的原因是函数式语言早就提供了模式匹配,然而现在的命令式语言还大多做不到。条件越复杂,模式匹配就越有用,一旦习惯了它,你就会担心没有了模式匹配的日子如何打发。
  • 函数式编程与Continuation/CPS
  • Continuations 对于程序设计的意义,就像达芬奇密码对人类历史的意义:即对人类最大秘密的惊人揭示。也许不是,但他在概念上的突破性至少和负数平方根的意义等同。我们在学习函数时只了解了一半事实,因为我们基于一个错误的假定:函数只能将结果返回到它的调用端。从这个意义上说 continuation 是广义的函数,函数不必返回到其调用端而可以返回到程序的任何地方。
  • 函数式编程里的惰性求值
  • 一旦我们接纳了函数式哲学,惰性(或延迟)求值这一技术会变得非常有趣。在一个命令式语言中求值顺序是确定的,因为每个函数都有可能会变更或依赖于外部状态,所以就必须有序的执行这些函数:首先是 somewhatLongOperation1,然后 somewhatLongOperation2,最后 concatenate,在函数式语言里就不尽然了。
  • 函数式编程里的currying柯里化
  • 函数式编程具有突出的表达能力,在函数式语言中,语言已达此高度,设计模式就不再是必需,最终你将能消灭设计模式而以概念编程。适配器 (Adapter)模式就是这样的一个例子(究竟适配器和 Facade 模式区别在哪里?可能有些人需要在这里再多费些篇章),而一旦语言有了叫作 currying (柯里化)的技术,这一模式就可以被消除。
  • 函数式编程里的高阶函数
  • 我记得自己在了解了上面列出的种种优点后曾想:“这都很棒,可是如果我不得不用天生残缺的语言对着全是 final 的变量编程,好特性也毫无意义。” 这其实是误解。在如 Java 这般的命令式语言环境里,所有变量都是 final 将带来一堆问题,但是在函数式语言里并非如此,函数式语言提供了不同的抽象工具使你忘记曾经习惯于修改变量。
  • 函数式编程有哪些优点?
  • 你可能会认为我根本无法对前面一小节那个畸形的函数给出个合理的解释。我开始学习函数式编程时就是这么认为的。不过我是错了。有很好的理由使用这种风格,当然其中一些属主观因素。例如,函数式程序被认为更容易阅读。幸运的是,还有很多的客观理由。
  • 初识怪异的函数式编程
  • 函数式编程是对阿隆佐·丘奇理论的实践应用。但也并非全部 λ 演算都被应用到了实践中,因为 λ 演算不是被设计为在物理局限下工作的。因此,和面向对象的编程一样,函数式编程是一系列理念,而不是严格的教条。你也许会质疑,用我们新创造的语言还能写出有些复杂度的程序吗?
  • 来开始一次函数式编程之旅
  • 程序员拖沓成性,每天到了办公室后,泡咖啡、检查邮箱、阅读 RSS feed、到技术站点查阅最新的文章、在编程论坛的相关版面浏览公共讨论,并一次次地刷新以免漏掉一条信息。然后是午饭,回来后盯了 IDE 没几分钟,就再次检查邮箱、倒咖啡。最后在不知不觉中,结束了一天。
更多 推荐文章

Welcome to NowaMagic Academy

现代魔法 推荐于 2013-02-27 10:23

更多 目录树
更多 热门小组
魔法达人