编程范型、编程范式或程序设计法(英语:Programming paradigm),(范即模范、典范之意,范式即模式、方法),是一类典型的编程风格,是指从事
软件工程的一类典型的风格(可以对照方法学)。
编程范型、编程范式或程序设计法(英语:Programming paradigm),(范即模范、典范之意,范式即模式、方法),是一类典型的编程风格,是指从事
软件工程的一类典型的风格(可以对照
方法学)。如:
函数式编程、
程序编程、
面向对象编程、
指令式编程等等为不同的编程范型。
正如
软件工程中不同的群体会提倡不同的“方法学”一样,不同的
编程语言也会提倡不同的“编程范型”。一些语言是专门为某个特定的范型设计的(如
Smalltalk和
Java支持面向对象编程,而
Haskell和
Scheme则支持函数式编程),同时还有另一些语言支持多种范型(如
Ruby、
Common Lisp、
Python和
Oz)。
很多编程范型已经被熟知他们禁止使用哪些技术,同时允许使用哪些。例如,纯粹的
函数式编程不允许有副作用;
结构化编程不允许使用
goto。可能是因为这个原因,新的范型常常被那些习惯于较早的风格的人认为是教条主义或过分严格。然而,这样避免某些技术反而更加证明了关于程序正确性——或仅仅是理解它的行为——的法则,而不用限制程序语言的一般性。
编程范型和编程语言之间的关系可能十分复杂,由于一个编程语言可以支持多种范型。例如,
C++设计时,支持过程化编程、
面向对象编程以及
泛型编程。然而,设计师和程序员们要考虑如何使用这些范型元素来构建一个程序。一个人可以用C++写出一个完全过程化的程序,另一个人也可以用C++写出一个纯粹的
面向对象程序,甚至还有人可以写出杂揉了两种范型的程序。