Muchas veces los programas lógicos son traducidos a programas con restricciones debido a que la solución es más eficiente que su contraparte.
La diferencia entre ambos radica principalmente en sus estilos y enfoques en el modelado del mundo.
Un programa basado en restricciones busca dichos valores para todas las variables.
El primer lenguaje utilizado a tal efecto fue Prolog.
Por esta razón es que este campo fue llamado inicialmente Programación Lógica con Restricciones.