Skip to main content

¿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 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 en la computadora para determinar la mejor manera de resolver el problema. Se dice que los lenguajes anteriores admiten la programación imperativa, mientras que los últimos admiten 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, digamos, $ 700 dólares estadounidenses (USD), de los datos de ventas.

Seleccione Región, Beneficio de Ventas donde Beneficio> 700

Esta declaración no indica qué debe hacer el sistema SQL para obtener los datos. El sistema SQL puede revisar cada registro de ventas y determinar si se cumple la condición, o puede obtener rápidamente los pocos registros principales de datos preestablecidos. La declaración solo indica la naturaleza de los datos deseados.

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

antepasado (M, C): - madre (M, C)
ancestro (X, Z): - madre (X, Y), ancestro (Y, Z)

El programa anterior indica truismos. Si M es la madre de C, entonces M es un ancestro de C.Si X es la madre de una persona Y que es ancestro de Z, entonces X es un ancestro de Z. Teniendo en cuenta esto y algunos datos de madre e hijo, el programa puede responder preguntas sobre todo el árbol genealógico materno.

Durante la ejecución del programa, el sistema Prolog acumula una serie de declaraciones verdaderas, creando así una base de conocimiento. Esta base de conocimiento se busca eficientemente 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 <table border = "1"> 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 qué debe 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 para los no programadores obtener soluciones. En el ejemplo SQL anterior, un analista o persona de soporte comercial puede obtener la información deseada. Del mismo modo, los laicos pueden escribir páginas web aceptables con simples comandos HTML y CSS.

La segunda ventaja del modelo de programación declarativa 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 puede hacerse altamente eficiente y puede incorporar las mejores ideas de la informática. Puede aprovechar el paralelismo.