编程范型 - Wikiwand
For faster navigation, this Iframe is preloading the Wikiwand page for 编程范型.

编程范型

维基百科,自由的百科全书

此条目需要补充更多来源。 (2017年12月31日)请协助补充多方面可靠来源以改善这篇条目,无法查证的内容可能会因为异议提出而移除。致用户:请搜索一下条目的标题(来源搜索:"编程范型" — 网页、新闻、书籍、学术、图像),以检查网络上是否存在该主题的更多可靠来源(判定指引)。

编程范型编程范式程序设计法(英语:Programming paradigm),是指软件工程中的一类典型的编程风格。常见的编程范型有:函数式编程指令式编程过程式编程面向对象编程等等。

编程范型提供并决定了程序员程序执行的看法。例如,在面向对象编程中,程序员认为程序是一系列相互作用的对象,由于方法论的不同,面向对象编程范型又分为基于类编程基于原型编程,而在函数式编程中一个程序会被看作是一个无状态的函数计算的序列。

概述

正如软件工程中不同的群体会提倡不同的“方法学”一样,不同的编程语言也会提倡不同的“编程范型”。一些语言是专门为某个特定的范型设计的,如SmalltalkJava支持面向对象编程,而HaskellScheme则支持函数式编程,同时还有另一些语言支持多种范型,如RubyCommon LispPythonRust

很多编程范型已经被熟知他们禁止使用哪些技术,同时允许使用哪些。例如,纯函数式编程不允许有副作用[1];大部分高端程序语言都期望用户进行结构化编程避免非结构化编程结构化编程不允许使用goto。可能是因为这个原因,新的范型常常被那些习惯于较早的风格的人认为是教条主义或过分严格。然而,这样避免某些技术反而更加证明了关于程序正确性,或仅仅是理解它的行为的法则,而不用限制程序语言的一般性。

编程范型和编程语言之间的关系可能十分复杂,由于一个编程语言可以支持多种范型。例如,C++设计时,支持过程式编程面向对象编程以及泛型编程。然而,设计师和程序员们要考虑如何使用这些范型元素来构建一个程序。一个人可以用C++写出一个完全过程化的程序,另一个人也可以用C++写出一个纯粹的面向对象程序,甚至还有人可以写出杂揉了两种范型的程序。

参考文献

  1. ^ F# 编程入门 (1):在表示式(expression)内不可以造成值的改变。

参见

{{bottomLinkPreText}} {{bottomLinkText}}
编程范型
Listen to this article