泻药
有用,但是你如果孤立地看这个问题,让人很难回答
最好的方式就是搞一下vert.x
vert.x一上来就会要求你用异步的api来写代码
于是你会很痛苦地用上各种callback,效率虽然上去了,但是代码开始不好看起来
于是你会开始寻找解决方案,而解决方案有好几个
比如你一开始会撞上monad/future,有些困难,但是毕竟还是pure java
搞定之后,你会进一步思考,如何优化,这个时候oop和fp会出现分化
fp会强调高阶函数,而如果你不用其他语言的话,你就会用rx,which是fp化的java
oop则会引入协程以简化api,因为java的loom还没有做出来,quasar又比较麻烦,所以建议换kotlin,会简单很多
而rx是终点嘛?当然不是,rx只是fp的第一步,刚起步,后面还有其他pure fp语言在等着你
所以这个问题你不能孤立地看有用没用,怎么用,做什么事都要有大局观
要看到whole picture,然后你再在这个picture中看局部就容易理解了
这就是spring和j2ee的问题和局限,什么东西过份封装,封装完之后离计算机的本质越来越远
那说一些新技术的时候,就会很困扰,因为这些东西又不需要用户去思考
你只要会拧螺帽,会搬砖就行了
java以后怎么做,多的是方法,应该根据不同的场景选择不同的搞法
比如数据处理,就适合fp,不仅仅是rx,而是应该上pure fp语言,e.g. clojure, haskell
比如游戏,就适合oop,比如web,就适合pp,crud用groovy等脚本做爽死,开发太快了