【发布时间】:2015-09-13 00:57:12
【问题描述】:
我从小就被教 Java,在过去几年中,我开始使用流行的开源 CMS 学习很多 PHP。我真的很喜欢 OOP 的自然感觉,但我最近发现了函数式编程的概念,这似乎是一种困难但优雅的做事方式。
在rtperson 对问题“What is functional, declarative and imperative programming? [closed]”的精彩回答中,他说“然后是面向对象的编程,这实际上只是一种在命令式程序中组织数据的新方法。”
我想我明白他的意思,但这是真的吗? OOP 可以与函数式编程共存吗?
【问题讨论】:
-
是的。例如 Scala 和 OCaml。
-
更多的例子是 F# 和 Swift。
-
是的,但是 OOP 永远不可能是 purely functional,因为每个定义的对象都包含状态。对于设计良好的纯函数式语言,我建议看看 Haskell
-
顺便说一句,我发现second answer 与您链接的问题比 rtperson 的问题更精确,这并不准确。
-
@StenSoft:并不总是更快……
标签: oop functional-programming imperative-programming