课程咨询 :0731-88220680

长沙Java培训 > 达内新闻 > 函数式编程语言是什么?
  • 函数式编程语言是什么?

    发布:长沙Java培训      来源:csdn      时间:2017-01-09

  • 函数式编程语言的核心是它以处理数据的方式处理代码。这意味着函数应该是第一等级(First-class)的值,并且能够被赋值给变量,传递给函数等等。

    事实上,很多函数式语言比这走得更远,将计算和算法看得比它们操作的数据更重要。其中有些语言想分离程序状态和函数(以一种看起来有点对立的方式,使用面向对象的语言,这通常会将它们联系得更紧密)。

    Clojure编程语言就是一个这样的例子,尽管它运行于基于类的Java虚拟机,Clojure的本质是函数式语言,并且在高级语言源程序中不直接公布类和对象(尽管提供了与Java良好的互操作性)。

    下面显示的是一个Clojure函数,用于处理日志,是一等公民(First-class citizen),并且不需要绑定一个类而存在。

    (defn build-map-http-entries [log-file]

    (group-by :uri (scan-log-for-http-entries log-file)))

    当写在函数中的程序,对给定的输入(不论程序中的其它状态如何)总是返回相同的输出,并且不会产生其它影响,或者改变任何程序状态,这时候函数式编程是最有用的。它们的行为与数学函数相同,有时候把遵循这个标准的函数称为“纯”函数。

    纯函数的巨大好处是它们更容易推论,因为它们的操作不依赖于外部状态。函数能够很容易地结合在一起,这在开发者工作流风格中很常见,例如Lisp方言和其它具有强函数传统的语言中很普遍的REPL(Read, Execute, Print, Loop)风格。

    长沙Java培训选长沙达内,详情请登陆长沙达内Java培训官网(cs.Java.tedu.cn)!

上一篇:你需要了解的java反射机制

下一篇:Java 9中将会有什么有趣的改进?

最新开班日期  |  更多

Java--大数据全日制班

Java--大数据全日制班

开班日期:03/08

Java--零基础业余班

Java--零基础业余班

开班日期:03/08

Java--零基础全日制班

Java--零基础全日制班

开班日期:03/08

Java--大数据业余制班

Java--大数据业余制班

开班日期:03/8

  • 网址:http://cs.java.tedu.cn     地址:长沙市开福区芙蓉中路一段 476 号建鸿达现代城 9 楼
  • 课程培训电话:0731-88220680     全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56