Dou*_*asH 3 paradigms programming-languages
正如我已经阅读了stackoverflow的答案和问题,我得到的印象是OO被划分为本质上是必要的.
但是,OO只是将代码和数据划分为现实世界对象的一种方式吗?
如果是这样,为什么放弃其他较低层次的范式才能在这样的平台上工作?
IOW,默认情况下不可变的基于对象的泛型类型系统将是功能性第一语言的工作方式,默认情况下可变的基于对象的泛型类型系统将是命令式语言的世界.
或者我完全错过了什么?
use*_*714 14
不.OO和命令是两个正交的概念.
例如:
面向对象有很多不同的方法.
大多数OO语言都是必不可少的,但您可以使用它们的功能.一些函数式语言位于OO框架之上(F#on .NET是最明显的例子),为了在适当的时候使用大量框架而牺牲一些"纯度".
我认为"主要是OO"语言有很多空间可以做更多的工作来帮助编程功能 - 更好地支持不可变性是最明显的特性,可能接着是更好的类型推断.(至少在谈论C#时,这可能是传统语言试图进入功能门的最重要的例子.)