《Java 8 实战》第一季

1.函数式和命令式编程的差别

-函数式编程

·首先说一下编程语言的历程:过程式->函数式->面向对象

过程式是指类似于C语言的面向过程的语言;

面向对象编程语言则是指类似于Java一样的编程语言,“万物皆对象”即是其核心思想;

·那么函数式编程又是什么呢?

将业务逻辑细化,抽象,封装成具有一个个独立功能的函数,然后借助于语言自带的高阶函数api,将独立功能的函数串起来(相互调用),从而实现想要的业务逻辑;在函数式编程中,函数不仅可以直接调用,还能够当做“参数”传到其他函数中调用,在此基础上,我们不仅想传入函数,还想要传入值进去,我们把这些函数和值做进一步的封装,那么对象就出来了:我们可以把函数当做是行为(就相当于Java语言中类中的方法,这些方法代表着一个个的行为操作),值当做属性(Java类中的属性)。

·面向过程或者面向对象编程大家或多或少都有所接触过,那么在编程语言演变的过程中,函数式编程相较于其他两种类型的编程究竟有什么好处呢?

其实,个人觉得这些语言是没有可比性的,他们在不同的场景中可能相较于其他两种编程类型的语言来说要更优秀,更方便,因此,谁优谁劣,要看具体的应用场景,比如写GUI你会觉得oop会让你效率更高,写interpreter时,functional programming会让你的心情更好,因此,这里要强调的是具体问题具体分析,不能单纯的说某一类型的编程语言相较于其他编程语言会更差或更好。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值