《Kotin 极简教程》第8章 函数式编程(FP)(1)

本文介绍了函数式编程的基础概念,包括其与面向对象编程的区别,如函数作为一等公民、高阶函数、闭包、λ演算、函数柯里化、惰性计算和递归。文章探讨了函数式编程在Kotlin中的应用,强调了函数组合的重要性,并通过实例展示了如何在Kotlin中实现函数式编程的特性。同时,文章还提及了Y组合子的概念,以及它在匿名递归函数中的作用。

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

第8章 函数式编程(FP)


目录

第8章 函数式编程(FP)

8.1 函数式编程概述

8.1.1 面向对象编程(OOP)与面向函数编程(FOP)

8.1.2 函数式编程基本特性

8.1.3 组合与范畴​​​​​​​


值就是函数,函数就是值。所有函数都消费函数,所有函数都生产函数。

"函数式编程", 又称泛函编程, 是一种"编程范式"(programming paradigm),也就是如何编写程序的方法论。它的基础是 λ 演算(lambda calculus)。λ演算可以接受函数当作输入(参数)和输出(返回值)。

和指令式编程相比,函数式编程的思维方式更加注重函数的计算。它的主要思想是把问题的解决方案写成一系列嵌套的函数调用。

就像在OOP中,一切皆是对象,编程的是由对象交合创造的世界;
在FP中,一切皆是函数,编程的世界是由函数交合创造的世界。

函数式编程中最古老的例子莫过于1958年被创造出来的Lisp了。Lisp由约翰·麦卡锡(John McCarthy,1927-2011)在1958年基于λ演算所创造,采用抽象数据列表与递归作符号演算来衍生人工智能。较现代的例子包括Haskell、ML、Erlang等。现代的编程语言对函数式编程都做了不同程度的支持,例如:JavaScript, Coffee Script,PHP,Perl,Python, Ruby, C# , Java 等等(这将是一个不断增长的列表)。

函数式语言在Java 虚拟机(JVM)平台上也迅速地崭露头角,例如Scala 、Clojure ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI天才研究院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值