你总是听到被宣传为多范式的编程语言。我想我理解这意味着什么,但我想知道是否有任何语言是严格单一的范式。
据我了解,四种主要范式是函数式、命令式、逻辑和面向对象。
当然还有其他人。维基百科使用以下列表:并发、约束、数据流、声明式、分布式、函数式、元编程、通用、命令式、逻辑、反射、面向对象、管道、可视化和基于规则。
还是我完全错过了范式的意义?
你总是听到被宣传为多范式的编程语言。我想我理解这意味着什么,但我想知道是否有任何语言是严格单一的范式。
据我了解,四种主要范式是函数式、命令式、逻辑和面向对象。
当然还有其他人。维基百科使用以下列表:并发、约束、数据流、声明式、分布式、函数式、元编程、通用、命令式、逻辑、反射、面向对象、管道、可视化和基于规则。
还是我完全错过了范式的意义?
将任何语言定义为“严格单一范式”的问题在于,凭借图灵完备性,您理论上可以创建具有不同于创建它们的语言的范式的语言。
示例:C 没有对象,因此很难说 C 遵循面向对象的范式,但我可以用 C 编写面向对象的语言。
许多语言都非常努力地尝试成为严格的单一范式(参见:Haskell中的函数示例,Javascript中的面向对象),但是说到底,编程范式是一种思维方式,而不是一种语言的继承特性. Python 是我心目中最好的语言示例,它可以互换地被认为是函数式、面向对象或命令式,这取决于编写它的人的风格。
也就是说,即使它满足了一种深层的求知欲,但通常不应该为了可读性和可维护性而在代码中混合范式。当然,也有很多例外,但请尽量保持以相同的范式方式来思考您的代码。