程中不同的群体会提倡不同的「方法学」一样，不同的编程语言也会提倡不同的「编程范型」。一些语言是专门为某个特定的范型设计的，如Smalltalk和Java支持面向对象编程，而Haskell和Scheme则支持函数式编程，同时还有另一些语言支持多种范型，如Ruby、Common Lisp、Python、Rust。很多编程范型已经被熟知他们禁止使用哪些技术，同时允许使用哪些。例如，纯函数式编程不允许有副作用；大部分高阶程序语言都期望使用者进行结构化编程避免非结构化编程，结构化编程不允许使用goto。可能是因为