首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >任何只支持泛型而不支持OOP的编程语言?

任何只支持泛型而不支持OOP的编程语言?
EN

Software Engineering用户
提问于 2013-12-15 23:11:08
回答 1查看 722关注 0票数 3

我正在写一篇关于OOP和Stepanov创建的泛型编程之间的紧张关系的论文。他对OOP进行了广泛的批评,并说与普通编程相比,OOP在技术上是有缺陷的。

现在我知道我们有很多支持OOP专用语言的编程语言,并且没有通用的支持,比如Google,这是一种现代语言,他们选择不实现泛型,因为它们的复杂性。我知道我们有很多支持Generics和OOP的语言,例如C++和Stepanov的著名的STL库。

我的问题是:我们是否有任何现代的编程语言或者完全不支持OOP的泛型?

编辑:我想补充一下,我试着四处看看,似乎找不到很多东西,所以我想我会在这里问。

补充一下,当我提到泛型和面向对象的编程时,我指的是:

通用诉面向对象编程

C++中面向对象编程与泛型编程的张力

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2013-12-15 23:30:39

泛型编程不仅仅包含“泛型”,而泛型又是参数多态性的另一个名称。这一概念相当广泛,并不局限于面向对象的语言。它是ML语言族的一个显著特征,包括标准ML、Ocaml (它也支持OOP,但主要是功能性的)和Haskell。

参数多态并不是进行泛型编程的唯一方法。例如,宏系统(如C++中的模板)或动态类型系统是其他方式。

然而,OOP在其各种口味是另一种很好和广泛的方式来进行通用编程,例如通过使用接口(或等效的概念)或鸭类型。从这个意义上说,Go是通用的,因为在该语言中的函数可以接受仅由其接口定义的参数。

票数 8
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/221446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档