3.1.2 Programación declarativa vs programación algorítmica

 

Tanto la programación declarativa como la algorítmica presentan ventajas que pueden ser muy útiles, dependiendo del área de aplicación.[4]

1. Diseño de lenguaje y escritura de programas

- La sintaxis de los lenguajes declarativos es más sencilla que la de los algorítmicos.

- Los lenguajes algorítmicos proporcionan facilidades para la compilación separada, a diferencia de los declarativos.

- Los algorítmicos tienen gran variedad de mecanismos de reutilización de software, mientras que los declarativos usan el método rudimentario de 'preámbulo de funciones'.

- Es mucho más fácil de analizar un lenguaje declarativo que uno algorítmico, pues este requiere el uso de algún tipo de pseudocódigo.

- Los lenguajes declarativos poseen pocos entornos de desarrollo o plataformas, mientras que el algorítmico cuenta con potentes entornos, muchos de ellos visuales.

 

 

2. Verificación de programas

- Los programas del lenguaje declarativo son fáciles de verificar, mientras que en los algorítmicos esto se complica debido a sus definiciones semánticas complejas.

- De la misma forma, el lenguaje declarativo está más adaptado para permitir a los programas terminar bajo cualquier circunstancia concebible.

- Los lenguajes declarativos poseen buena legibilidad pero no ofrecen buenas herramientas de depuración. Los algorítmicos tienen herramientas de depuración muy potentes.

 

 

3. Coste y eficiencia

- Los lenguajes declarativos suelen ser menos eficientes que otros más convencionales debido a la dificultad de implementar en máquinas de arquitecturas comunes las operaciones de unificación y emparejamiento.

- Un lenguaje declarativo requiere menor cantidad de código que un lenguaje algorítmico.