Descubre las Claves Esenciales: Programación Declarativa vs Imperativa Explicada Fácilmentepost-template-default single single-post postid-46 single-format-standard et_pb_button_helper_class et_fixed_nav et_show_nav et_secondary_nav_enabled et_primary_nav_dropdown_animation_fade et_secondary_nav_dropdown_animation_fade et_header_style_left et_pb_footer_columns4 et_cover_background et_pb_gutter et_pb_gutters3 et_right_sidebar et_divi_theme et-db
771 715 4434

Se trate del desarrollo de una aplicación, de la programación de máquinas o del desarrollo de un software de empresa, antes de escribir la primera línea de código, el desarrollador debe decidir qué lenguaje de programación usar. La selección de los posibles lenguajes de programación es muy amplia. Sin embargo, cada uno de ellos se puede clasificar en uno de los dos paradigmas de programación: la programación imperativa y la programación declarativa.

¿Qué es la programación imperativa?

La programación imperativa (del latín imperare = ordenar) es el paradigma de programación más antiguo. Todos estamos habituados a programar y cuando lo hacemos habitualmente usamos un enfoque imperativo. ¿Qué quiere decir esto? Pues simplemente que le decimos al lenguaje de programación cómo tiene que realizar cada uno de los pasos. El código fuente de los lenguajes imperativos encadena instrucciones una detrás de otra que determinan lo que debe hacer el ordenador en cada momento para alcanzar un resultado deseado.

Le decimos qué variables usar, qué bucles y sentencias, etcétera. Es decir, construimos un algoritmo muy concreto para solventar un problema. En resumen: “di qué quieres y cómo lo quieres”.

¿Qué es la programación declarativa?

Un método declarativo es un paradigma de programación en el que se especifica el resultado deseado, el QUÉ se «declara». En la programación declarativa, en cambio, se describe directamente el resultado final deseado. Resumiendo mucho, la programación declarativa es aquella en la que podemos afirmar “di qué quieres, pero no cómo lo quieres”. Es decir, detallamos la solución a un problema sin definir cómo llegar a ella. Para lograrlo, se utilizan mecanismos internos de control a partir de la definición del problema en sí.

Tabla comparativa de paradigmas

Característica Programación Imperativa Programación Declarativa
Enfoque principal CÓMO se hace (Algorítmico) QUÉ se quiere (Abstracción)
Nivel de abstracción Bajo (cerca del sistema) Alto
Estado Modificable durante la ejecución Inmutable / Gestión por funciones
Código Más extenso (instrucciones paso a paso) Más conciso y expresivo

Diferencias en el desarrollo de interfaces

El paradigma de la programación declarativa ha vuelto a la actualidad de la mano de un entorno en el que este modelo siempre había estado ausente: las aplicaciones móviles. Desde sus inicios, la composición de la interfaz de usuario en Android está basada en la clase View. Para actualizar la interfaz de usuario en el modelo View, recorremos el árbol de vistas con funciones como findViewById() y así poder cambiar los nodos mediante llamadas a métodos. Hacer cambios de forma manual en una vista es una fuente de errores.

Lea también: Aspectos Clave del Código Tributario de Panamá

En el enfoque declarativo de Jetpack Compose, los widgets no exponen funciones para cambiar de estado. De hecho, los widgets no se exponen como objetos. Para actualizar la IU, se llama a la misma función que admite composición con diferentes argumentos. Con una simple llamada a la función Composable, toda la interfaz será creada según las especificaciones indicadas.

Ventajas y desventajas de los modelos

Los lenguajes de programación imperativa son comparativamente más fáciles de aprender, ya que el código se lee como unas instrucciones paso a paso. Por otro lado, la desventaja de la programación procedimental es que, si se deben solucionar problemas más complejos, el código se extiende en poco tiempo. Si bien sigue siendo fácil de leer, se reduce la claridad.

En la programación declarativa, mediante el uso de funciones de orden superior como map y filter, nos acercamos más a la forma donde indicamos qué queremos lograr en vez de cómo lograrlo. Como es más sencillo refactorizar el código, la implementación de los cambios de diseño resulta a menudo más fácil. En la práctica, hoy en día se utilizan principalmente formas mixtas de paradigmas, ya que los estilos de programación imperativa y declarativa conllevan ventajas y desventajas.

Lea también: CP Ex Hacienda San Juan De Dios CDMX

Lea también: ¿Cuál es el Código Postal de Hacienda El Rosario, Nuevo León?

tags: #codigo #declarativo #vs #imperativo