¿Qué es la programación declarativa?

La programación declarativa es una forma de especificar lo que debe hacer un programa, en lugar de especificar cómo hacerlo. La mayoría de los lenguajes de la computadora se basan en los pasos necesarios para resolver un problema, pero algunos idiomas solo indican las características esenciales del problema y lo dejan a la computadora para determinar la mejor manera de resolver el problema. Se dice que los antiguos idiomas respaldan la programación imperativa, mientras que el último admite la programación declarativa.

Uno puede considerar el siguiente ejemplo de SQL para obtener todas las regiones de ventas donde las ganancias exceden un cierto número, por ejemplo, $ 700 en dólares estadounidenses (USD), de los datos de ventas. para obtener los datos. El sistema SQL puede pasar por cada registro de ventas y determinar si la condición está satisfecha o, puede obtener rápidamente los pocos registros principales de los datos previos. La declaración solo indica la naturaleza del DESDatos ired.

Prolog es un lenguaje de programación declarativo que indica las relaciones lógicas entre entidades.

Ancestro (M, C):- Madre (M, C)
Ancestro (x, z):- Madre (x, y), antepasado (y, z)

El programa anterior indica truismos. Si M es la madre de C, entonces M es un antepasado de C. Si X es la madre de alguna persona Y que es un antepasado de Z, entonces X es un antepasado de Z. Dado este y algunos hechos madre-hijo, el programa puede responder preguntas sobre todo el árbol genealógico materno.

Durante la ejecución del programa, el sistema Prolog aumenta una serie de declaraciones verdaderas, creando así una base de conocimiento. Esta base de conocimiento se busca de manera eficiente por sí sola. El creador del programa anterior no especifica cómo buscar.

HTML y CSS son lenguajes de programación declarativos. Por ejemplo, el ejemplo HTML

, indica un borde delgado. Un ejemplo de CSS es Color: azul . Esto especifica el color del texto. Como se puede ver en estos ejemplos, HTML y CSS especifican lo que debería aparecer en una página web pero no cómo hacerlo.

La ventaja de los lenguajes de programación declarativos es principalmente doble. Los programas son concisos; Esto hace que sea fácil incluso que los no programadores obtengan soluciones. En el ejemplo de SQL anterior, un analista o una persona de soporte comercial puede obtener la información deseada. Del mismo modo, Laypersons puede escribir páginas web aceptables con comandos HTML y CSS simples.

La segunda ventaja del modelo de programación declarativo es que el código imperativo repetitivo que indica cómo resolver las cosas se proporciona en el sistema informático detrás de escena. Dicho código se puede hacer altamente eficiente y puede incorporar las mejores ideas de la informática. Puede aprovechar el paralelismo.

OTROS IDIOMAS