函数式编程

函数式编程是一种编程范式,其核心在于将运算过程尽可能地写成一系列嵌套的函数调用。本文介绍了函数式编程的六大特征:函数作为第一等公民、仅使用表达式、无赋值语句、易于并发编程、代码热升级以及可能的资源消耗问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  区别于面向过程和面向对象的另一种编程思想。
  简单说,“函数式编程"是一种"编程范式”(programming paradigm),也就是如何编写程序的方法论。它属于"结构化编程"的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用。

六大特征

  1)函数是"“第一等公民”"。指的是函数与其他数据类型一样,处于平等地位,可以赋值给其他变量,也可以作为参数,传入另一个函数,或者作为别的函数的返回值。
  2)只用"“表达式”",不用"“语句”","“表达式”"(expression)是一个单纯的运算过程,总是有返回值。原因是函数式编程的开发动机,一开始就是为了处理运算(computation),不考虑系统的读写(I/O)。"“语句”“属于对系统的读写操作,所以就被排斥在外。不要有不必要的读写行为,保持计算过程的单纯性。
  3)FP 语言不包含任何赋值语句。变量值一旦被指派就永远不会改变。而且,调用函数只会计算出结果 ── 不会出现其他效果。
  4)易于”“并发编程”",不需要考虑"“死锁”"(deadlock),因为它不修改变量,所以根本不存在"“锁”"线程的问题。多核CPU是将来的潮流,所以函数式编程的这个特性非常重要。
  5)代码的热升级。函数式编程没有副作用,只要保证接口不变,内部实现是外部无关的。所以,可以在运行状态下直接升级代码,不需要重启,也不需要停机。
  6)函数式编程常被认为严重耗费在CPU和存储器资源。

  王垠评论说,函数式语言的程序员不要老是觉得自己掌握了真理,有什么魔法,其实没有。正如他在Cornell的教授所说,任何编程语言中都没有什么魔法或者万灵丹药,使其使用者成为好的程序员。
  他还认为,相比之下面向对象的程序员现在越来越不那么热衷于门派之争,至少他们忙于解决现实问题,而非语言自己的困难。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值