我正在写一篇关于OOP和Stepanov创建的泛型编程之间的紧张关系的论文。他对OOP进行了广泛的批评,并说与普通编程相比,OOP在技术上是有缺陷的。
现在我知道我们有很多支持OOP专用语言的编程语言,并且没有通用的支持,比如Google,这是一种现代语言,他们选择不实现泛型,因为它们的复杂性。我知道我们有很多支持Generics和OOP的语言,例如C++和Stepanov的著名的STL库。
我的问题是:我们是否有任何现代的编程语言或者完全不支持OOP的泛型?
编辑:我想补充一下,我试着四处看看,似乎找不到很多东西,所以我想我会在这里问。
补充一下,当我提到泛型和面向对象的编程时,我指的是:
通用诉面向对象编程
C++中面向对象编程与泛型编程的张力
发布于 2013-12-15 23:30:39
泛型编程不仅仅包含“泛型”,而泛型又是参数多态性的另一个名称。这一概念相当广泛,并不局限于面向对象的语言。它是ML语言族的一个显著特征,包括标准ML、Ocaml (它也支持OOP,但主要是功能性的)和Haskell。
参数多态并不是进行泛型编程的唯一方法。例如,宏系统(如C++中的模板)或动态类型系统是其他方式。
然而,OOP在其各种口味是另一种很好和广泛的方式来进行通用编程,例如通过使用接口(或等效的概念)或鸭类型。从这个意义上说,Go是通用的,因为在该语言中的函数可以接受仅由其接口定义的参数。
https://softwareengineering.stackexchange.com/questions/221446
复制相似问题