认为程序是一系列相互作用的对象，由于方法论的不同，面向对象编程范型又分为基于类编程和基于原型编程，而在函数式编程中一个程序会被看作是一个无状态的函数计算的序列。
概述.正如软件工程中不同的群体会提倡不同的「方法学」一样，不同的编程语言也会提倡不同的「编程范型」。一些语言是专门为某个特定的范型设计的，如Smalltalk和Java支持面向对象编程，而Haskell和Scheme则支持函数式编程，同时还有另一些语言支持多种范型，如Ruby、Common Lisp、Python、Rust