什么是函数编程
来源:互联网 发布:淘宝宝贝描述图片素材 编辑:程序博客网 时间:2024/04/28 11:31
第一章 绪论
这一章主要回答有关 F# 和函数编程的一些问题。
什么是函数编程?
函数编程(FP,Functional programming)是三大编程范式中最古老的。第一个函数编程语言 IPL,是1955年发明,大约比Fortran 早一年;第二个是 LISP,1958 年发明的,比Cobol 早一年。
Fortran 和 Cobol 是命令语言,也叫过程语言。他们在科学计算、事务处理上的立刻成功,使命令语言的优势地位超过 30 年。1970 年代,出现了面向对象(OO,object-oriented)范式,随着面向对象语言的成熟,使得面对对象编程成为今天最流行的范式。
尽管强大的函数编程语言进行了连续开发,比如SML、Objective Caml(OCaml)、APL、Clean等,尤其是类函数编语言(Erlang、Lisp 和 Haskell)已有成功的应用。但是,自1950 年代以来,函数编程一直维持在学术研究阶段,直到最近。命令语言早期的商业成功奠定了它几十年的统治地位。直到企业需要解决复杂计算时,面向对象语言才逐步得到广泛接受。如今,大家终于认识到,函数编程不仅可以解决简单问题,更能解决复杂问题。
纯函数编程把所有程序视为函数的集合,函数接收参数,返回值。它不像命令语言、面向对象编程那样,无副作用,用递归代替循环迭代。函数式程序中的函数与数学上的函数非常类似,因为它们不能改变程序的状态。简单说来,标识符一旦赋值,就不再改变,函数不改变参数值,返回的结果是一个全新的值。其典型的底层实现是这样的:值一旦分配了内存中的一片区域,就不再改变,要计算结果,函数会复制一份,放在另一片区域,然后对复制区域中的值进行操作,而原来的值不受影响,还可以给其他函数使用。直到最终不需要时,值才会被舍弃(这就是垃圾回收机制的雏形)。
纯函数编程的数学基础非常优雅,因此,解决问题,也很优美、简洁。但是,无状态、递归使它在处理许多常见任务时不如其他编程范式方便。F# 最大的优势在于,可以混合使用多种范式,以你自己能用的最方便的方式来解决问题。
- 什么是函数式编程
- 什么是函数式编程?
- 什么是函数编程
- 什么是函数式编程
- 什么是函数式编程
- 什么是函数式编程
- 1.1 什么是函数式编程?
- 什么是函数式编程思维?
- 什么是编程
- 什么是编程?
- 什么是编程?
- 什么是编程?
- 什么是编程
- 什么是编程?
- 什么是编程?什么是编程语言?
- 什么是编程?什么是编程语言?
- F#学习之路(1)什么是函数式编程
- 什么是函数响应式编程(Java&Android版本)
- SWFUpload V2.2.0 API 说明文档
- 全省无邪教县等234234234荣誉称号
- 手机电影格式转换器
- linux内存管理
- packet在内核空间匹配失败后传到用户空间的处理逻辑是什么?
- 什么是函数编程
- android项目源码下载地址
- 获得Android手机IMEI号和软件版本号
- 制作中文的 fnt
- 一种Neutron部署拓扑 (by quqi99)
- 制作IOS 后台推送时,如何获取设备Token
- Box2D Links(兄弟库)
- oracle之drop、delete及truncate区别
- 收藏须知