函数式编程 Functional Programming

在Java程序员的世界里,第一要素是“类”,而在函数式编程里,第一要素则是“函数”。完全不同的编程理念,确实很难让函数式编程出现在Java工程师日常工作的代码中。

先来2篇优秀博文扫盲:

函数式编程初探

函数式编程扫盲篇

仔细阅读过上面2篇文章之后,相信你已经对函数式编程有了一定的了解。同时,在许多高级语言(Java、C#等)都陆续加入了函数式编程特性的形势下,不难预测函数式编程将再次成为未来的主流编程模型。

本系列译文如下:

  1. Functional programming with Map and Fold in Java
  2. Java: Faking a closure with a factory to create a domain object
  3. Functional style in Java with predicates – Part 1
  4. Functional style in Java with predicates – Part 2
  5. Function interface – A functional interface in the java.util.function package in Java 8
  6. Predicate and Consumer Interface in java.util.function package in Java 8
  7. A simple application of Lambda Expressions in Java 8
  8. Template Method Pattern – Using Lambda Expressions, Default Methods
  9. Java 8 lambda walkthrough(此篇文章代码居多,不进行翻译,感兴趣的读者可以点击链接阅读原文章)

感兴趣的读者请在本文下方留言,领取文章翻译任务。

时间: 2024-08-07 03:50:46

函数式编程 Functional Programming的相关文章

谈谈函数式编程

函数式编程 ( Functional Programming ) 是一种以函数为基础的编程方式和代码组织方式,能够带来更好的代码调试及项目维护的优势.本篇主要结合笔者在实际项目开发中的一些应用,简要谈谈函数式编程. 函数 在函数式编程中,任何代码可以都是函数,且要求具有返回值,如下示例 // 非函数式 var title = "Functional Programming"; var saying = "This is not"; console.log(sayin

F#探险之旅(二):函数式编程(上)

函数式编程范式简介 F#主要支持三种编程范式:函数式编程(Functional Programming,FP).命令式编程(Imperative Programming)和面向对象(Object-Oriented,OO)的编程.回顾它们的历史,FP是最早的一种范式,第一种FP语言是IPL,产生于1955年,大约在Fortran一年之前.第二种FP语言是Lisp,产生于1958,早于Cobol一年.Fortan和Cobol都是命令式编程语言,它们在科学和商业领域的迅速成功使得命令式编程在30多年的

基于范型的java函数式编程(一)

编程|函数 注:在您阅读本篇的时候,希望你对Java Generic(范型)能够有所了解和明白. 记:周末在给javaparty讲FP中,很多人似乎对fp并不关心,也认为java中fp的作用不大.其实这是个很大的观念错误,范型的发展,对java的函数式编程支持很大,对Functor的影响也非常大.Functor在算法.逻辑.条件计算.规则引擎等等方面,都会有很大的作为,这个影响可就会深远的多了.-- 估且以此篇的开端,唤醒java开发者对FP in Java的重新认识. 周六给javaparty

F#探险之旅(五):透过F#理解函数式编程(上)

关于函数式编程(Functional programming,FP) 函数式编程(FP)是一种编程范式,它计算机的计算过程视为函数运算,避免状态和数据的修改.与命令式编程相比,它更强调函数的运用.λ运算构建了函数式编程的基础.重要的函数式编程语言包括Lisp.Scheme.Erlang.Haskell.ML.OCaml等,微软则在2005年引入了F#. 此外,包括C/C++/C#/Python/Javascript等很多语言也提供了对FP的部分支持.由此我们可以得出一个结论,随着现实问题复杂度的

Fn.py:享受Python中的函数式编程

尽管Python事实上并不是一门纯函数式编程语言,但它本身是一门多范型语言,并给了你足够的自由利用函数式编程的 便利.函数式风格有着各种理论与实际上的好处(你可以在Python的文档中找到这个列表): 形式上可证 模块性 组合性 易于调试及测试 虽然这份列表已经描述得够清楚了,但我还是很喜欢Michael O.Church在他的文章"函数式程序极少腐坏(Functional programs rarely rot)"中对函数式编程的优点所作的描述.我在PyCon UA 2012期间的讲

DotNetNuke中的函数式编程手法分析

"Dear, you love me, you just don't know you love me"是美国肥皂剧FRIENDS中的经典台词,中文翻译为<老友记>或者<六人行>,比较一下这句:"Programmer, you use FP, you just don't know you use FP",句式上和逻辑上是不是很相似? 现在我想说说FP,Functional Programming,中文翻译为函数式编程,与"命令编程

函数式编程入门教程

你可能听说过函数式编程(Functional programming),甚至已经使用了一段时间. 但是,你能说清楚,它到底是什么吗? 网上搜索一下,你会轻松找到好多答案. 与面向对象编程(Object-oriented programming)和过程式编程(Procedural programming)并列的编程范式. 最主要的特征是,函数是第一等公民. 强调将计算过程分解成可复用的函数,典型例子就是map方法和reduce方法组合而成 MapReduce 算法. 只有纯的.没有副作用的函数,才

函数式编程初探

诞生50多年之后,函数式编程(functional programming)开始获得越来越多的关注. 不仅最古老的函数式语言Lisp重获青春,而且新的函数式语言层出不穷,比如Erlang.clojure.Scala.F#等等.目前最当红的Python.Ruby.Javascript,对函数式编程的支持都很强,就连老牌的面向对象的Java.面向过程的PHP,都忙不迭地加入对匿名函数的支持.越来越多的迹象表明,函数式编程已经不再是学术界的最爱,开始大踏步地在业界投入实用. 也许继"面向对象编程&qu

[译] JavaScript 的函数式编程是一种反模式

本文讲的是[译] JavaScript 的函数式编程是一种反模式, 原文地址:Functional programming in JavaScript is an antipattern 原文作者:Alex Dixon 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m- 译者:sunui 校对者:LeviDing.xekri 其实 Clojure 更简单些 写了几个月 Clojure 之后我再次开始写 JavaScript.就在我试着写一些很普通的东西的时候,我