近期与同事讨论,函数式(FP)正在缓慢取代面向对象(OOP)?

118 天前
raycake  raycake
请关注问题,别抨击提题问题的人和问题本身(狗头保命)。
9634 次点击
所在节点   程序员  程序员
90 条回复
archxm
archxm
118 天前
工作个三五年,都会有这感觉的。
zhangkui
zhangkui
118 天前
@sampeng js?你在说谁?
locochen
locochen
118 天前
需要无状态,用 fp 。
需要保持状态, 用 oo
jaycezhang7890
jaycezhang7890
118 天前
前端是这样的
Donaldo
Donaldo
118 天前
@DOLLOR #21 从 C 或者更底层的角度看,函数一直是这样吧
SenLief
SenLief
118 天前
@NessajCN 我感觉 oop 没那么直观,尤其是继承,还有人继承好几代,都得画个家谱。
weiwenhao
weiwenhao
118 天前
组合优于继承。实际写代码也确实这样
open9527
open9527
118 天前
最近用 java stream 用多了感觉编程思想会变
wxm1997
wxm1997
118 天前
@RightHand #25 你是不是在说 python
wanguorui123
wanguorui123
118 天前
怎么快怎么来,纠结这些干嘛
ychost
ychost
117 天前
现代语言比如 Kotlin 、C#、JS 都是混合用的,纯 FP 只会让项目难以维护
james122333
james122333
117 天前
OOP 限制多 不灵活 框架如果使用就很难绕过
只能用反射绕过去才能实现各种符合需求的花式操作
FP 有闭包个人觉得更好 可组装灵活性高 也更适合元编程
OOP 和一些框架已经是生产力的敌人了
我爱用 shell 因为元编程不错用 没有做茧自缚带来的烦恼 也不用在限制下解决问题带来的虚假的成就感而感到沾沾自喜 限制生产力同样也是限制学习
james122333
james122333
117 天前
可以说这件事情本身就是个阴谋
jry
117 天前
我感觉 Vue 组合式 API 就是把 OOP 回退到 FP 了。
cheng6563
117 天前
早些年前还经常看到讨论 Haskell 和 Scale 啥的,近几年好像是真没看到了啊...
james122333
117 天前
为什么中国人那么多 自始自今没有个地位等同 linux 的跑出来 还有一堆商用软件
道理在此阿 都在瞎打滚了
jeesk
117 天前
@james122333 产品能够产生受益才行呀, 无论你使用什么高大上的技术,没钱都拉倒。
thtznet
117 天前
OOP 的本质是为了让软件承载的业务在代码的世界中有个映射能更好的让程序员理解业务,只从技术角度看待程序的话,当然程序就是函数就可以了,引入 OOP 不是为了技术迭代或者被迭代,是一种业务理解的哲学过程。其本质一种“设计模式”,只是某些语言被特意地设计成更适合 OOP 的设计模式,例如 C#,但是 C#并不是不能写函数式,完全可以以其他方式组织代码结构。很多最近几年入行的程序员总是感觉 OOP 不流行了,那是多种情况,1 种情况是楼上几位提到的各种范式在融合,另外一种原因是因为很多程序员已经接触不到需要完全面向业务的 OOP 式编程,因为现在有太多的框架和模板或者库将以前需要深入理解 OOP 才可以实现的代码被无形中处理掉了。并不是 OOP 少了,而是很多非关键组件开发的程序员接触不到了,现代软件工程的组织模式导致了很多程序员只会接触到整个软件平台中极其细小的一部分组件,而这部分组件实现的功能极其专业和细微,让人无法感知到需要以 OOP 的设计思想才可以写出来。当程序员的段位上升整体架构的时候,一定会体会到无处不在的 OOP ,虽然最终落实到编码层面不一定以 OOP 的写法去实现。跑个题:新时代的驾驶员开不到手动换挡的车不代表车子没有了挡位,它只是被自动化处理掉了。感知不到传统系统并不代表齿轮少了,它只是在底层默默地工作。
shui14
117 天前
框架打螺丝,当下 FP 热门,即便是 OO 阵营,也不再是 csharp 那种严谨意义上的面向对象,现在流行组合替代继承
如果是自己开发 sdk ,就算是 js 包,面向对象还是有一席之地,而且 react 如日中天要搞开放式的架构,比如整合地图引擎或者要把 three 这些三方库之类的做模块化,面向对象还是很能打,类似 ddd ,这两年流行的 react 库,架构是老 class ,写业务就 hook 。其实就是拿它当 ng 用,但是 ng 今天太重了,毕竟库开发是少数,绝大多数是打螺丝
Lockroach
117 天前
不管是 fp 还是 oop ,都得看架构设计和使用者,滥用继承和函数都会让代码可读性下降

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1089413

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX