365bet台湾登录器

您现在的位置:新闻首页>国内新闻

什么是函数式编程?我们怎么学习?

2019-03-29 14:46编辑:admin人气:


被公认接受的对于具体的语言来说,指一个“一等函数”(first class function)。不过函数这个概念本身就比较混乱。

所以举例:

比如,C++的函数就不是一等的,因为对象类型的值能被传参能被返回,函数类型的值就不行(会退化为函数指针)。简单来说C++的内建的“函数”是阉割的。这类函数式语言一开始以Lisp为代表,基本的理论基础是λ演算。

然后是关于表达式和语句,一开始就是Fortran的语法。其实这种事没有必要的,因为脱离更基本的表达式语法,也没办法表示计算。Lisp就没有在语法上特意区分出语句。

函数式语言的语法设计习惯上不使用语句,因为具有一等函数的表达式的表达能力通常已经足够强。C这样的语言的“语句”除了表达确定的求值顺序外,也就是一种无谓地指令式风格的习惯罢了。

关于存储可变状态。修改状态(典型地,赋值)的程序是指令式范式的。函数式的范式通常避免无谓地修改状态。极端的情况是语义规则不提供修改状态的接口,如Haskell以及C++的模板元编程,这样的风格称为所谓的“纯函数式”。

我们如何学习函数式编程?

若想从思想入手,并且希望学的更深入,建议从:SICP(《计算机程序的构造和解释》)入手,Scheme语言是思想的锤炼。

如果用户是java程序员,建议看看clojure,这是个极具生产力的语言工具,它运行于java平台上的lisp,twitter的storm就是用它写的。clojure现在已经是黑客领域最耀眼的明星了。最重要的是clojure已经出版了很多本中文教材,可以入手学习了。

顺带加上SICP可以加快学习进度。以项目为中心可以选择《Clojure经典实例 功能性编程全面指南》、没有基础的可以选择《Living Clojure》(中文版)、老程序员可以参考《Clojure编程乐趣》中文版 。

若不为作项目,只是为了提升个人的能力或者编程思想,可以选择haskell语言,这个资料也比较多,无论书籍还是视频、文档等等 。简单说,"函数式编程"是一种"编程范式"(programming paradigm),也就是如何编写程序的方法论。

以上便是小编对“什么是函数式编程?我们怎么学习?”的大致介绍,希望对您有所帮助!

(来源:未知)

上一篇:《绿皮书》-四平八稳,安全无趣_0

下一篇:没有了



织梦二维码生成器
已推荐
0
  • 凡本网注明"来源:的所有作品,版权均属于中,转载请必须注明中,http://www.tljqcw.com。违反者本网将追究相关法律责任。
  • 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。






图说新闻

更多>>
恒大新能源开启第二轮造车模式,6月份投产全球发售

恒大新能源开启第二轮造车模式,6月份投产全球



返回首页