开始新阶段工作。可能大家不知道“工作”这个词是外来语,从日本传入中国的。我说为啥工作这么累呢。十一期间利用业余时间补习一下 java。主要是了解一些有关 java8 和 java 函数式编程的知识,这里推荐一本书,推荐大家开英文原版,如下图
不过,与以往埋头学习不同,这个假期大部分时间是与家人共度。其实工作的目的是让我们更好生活,希望我们每个人都是让生活驱动工作,而不是工作驱动生活。
今天聊一聊函数式编程,确切说 java 中的函数式编程,大家可能会质疑 java 不是经典的面向对象的编程语言吗?您说的没错。
那是 java8 出现前的事, java8 后让 java 向函数式编程敞开一扇大门。这样做也是顺应当下潮流,我们不说当下流行的语言不是天生就支持函数式编程,就是后天为能够实现函数编程而不断变异。
现在连 Java 的小弟 scala 都对函数编程良好支持,当大哥的也不能示弱,不惜余力全力推出 java 8 ,我是从 java6 开始接触到 java ,所以感觉 java8 的新特性多半是为函数式编程而生, lamba 的出现,让我们完全可以放心抛弃看上去有点勉强的匿名类,使用 lamba 来代替匿名类。java8 可以算 java 语言的一个里程碑的版本。让我们的 java 的代码更加 fluent 了。
函数式编程相对于面向对象编程要相对抽象一些,我们需要花费一些心思在框架设计,但是使用函数式编程的好处也是不言而喻。函数式好处就是他的确定性,因为他确定性,所以很容易对他进行测试。可是我们世界是不确定的,例如网络状态时好时坏,io 数据读取,这些超出我们应用的控制范围。我们怎么把程序控制范围内确定性的东西分离出来,这就需要我们开发人员多花一些心思了。
其实我们开发过程中也无需非黑即白地追求函数式编程,完全放弃面向对象编程。如果你不会恰当使用灰色,这个世界也就不那么丰富多彩了。
请大家多多支持我的微信公众号,这里有更多更快的文章