Un paradigma de programación es un marco conceptual, un conjunto de ideas que describe una forma de entender la construcción de programa, como tal define:
Los distintos lenguajes de programación proveen implentaciones para las herramientas conceptuales descriptas por los paradigmas. Existen lenguajes que se concentran en las ideas de un único paradigma así como hay otros que permiten la combinación de ideas provenientes de distintos paradigmas.
Dado que un paradigma es un conjunto de ideas, su influencia se ve principalmente en el momento de modelar una solución a un problema dado. No es suficiente saber en qué lenguaje está construido un programa para saber qué marco conceptual se utilizó en el momento de construirlo. El paradigma tiene más relación con el proceso mental que se realiza para construir un programa que con el programa resultante.
Para definir programa es necesario analizarlo desde dos diferentes perspectivas. Uno de esos puntos de vista es análogo al del usuario del programa, interesado en la tarea que realizar el programa. Desde esa perspectiva un programa es aquello que permite que una computadora realice una tarea determinada.
El otro punto de vista es el de aquel que tenga que construir o modificar ese programa (programador), a quien interesará también la forma en que está construido. Desde esta perspectiva no hay una única definición al concepto de programa ya que cada paradigma ofrece una respuesta distinta a esta pregunta.
Paradigma Estructurado
Secuencia ordenada de instrucciones que manipulan un espacio de memoria.
Paradigma de Objetos
Conjunto de objetos que se conocen entre sí a través de referencias y se envían mensajes en un ambiente.
Paradigma Lógico
Conjunto de predicados definidos a través de cláusulas (hechos y reglas) que describen propiedades y relaciones de un conjunto de individuos, sobre los cuales podemos realizar consultas.
Paradigma Funcional
Conjunto de funciones (relaciones que cumplen las propiedades de unicidad y existencia), que pueden ser evaluadas para obtener un resultado.