Um
paradigma de programação fornece e determina a visão que o
programador possui sobre a estruturação e execução do programa. Por exemplo, em
programação orientada a objetos, os programadores podem abstrair um programa como uma coleção de
objetos que interagem entre si, enquanto em
programação funcional os programadores abstraem o programa como uma sequência de funções executadas de modo
empilhado.
Os paradigmas de programação são muitas vezes diferenciados pelas técnicas de programação que
proíbem ou
permitem. Por exemplo, a
programação estruturada não permite o uso de
goto
. Esse é um dos motivos pelo qual novos paradigmas são considerados mais rígidos que estilos tradicionais. Apesar disso, evitar certos tipos de técnicas pode facilitar a prova de conceito de um sistema, podendo até mesmo facilitar o desenvolvimento de algoritmos.