Diferencia entre programación imperativa y declarativa

Un paradigma de programación es un enfoque para resolver problemas usando algún lenguaje de programación o también podemos decir que es un método para resolver un problema usando herramientas y técnicas que están disponibles para nosotros siguiendo algún enfoque. Hay muchos lenguajes de programación que se conocen, pero todos necesitan seguir alguna estrategia cuando se implementan y esta metodología/estrategia son paradigmas. Aparte de las variedades de lenguajes de programación, hay muchos paradigmas para satisfacer todas y cada una de las demandas.

Programming Paradigms

Paradigmas de programación

La programación imperativa , como sugiere el nombre, es un tipo de paradigma de programación que describe cómo se ejecuta el programa. Los desarrolladores están más preocupados por cómo obtener una respuesta paso a paso. Comprende la secuencia de los imperativos de mando. En esto, el orden de ejecución es muy importante y utiliza datos tanto mutables como inmutables. Los lenguajes de programación Fortran, Java , C , C++ son ejemplos de programación imperativa. 

La programación declarativa , como sugiere el nombre, es un tipo de paradigma de programación que describe qué programas se ejecutarán. Los desarrolladores están más preocupados por la respuesta que se recibe. Declara qué tipo de resultados queremos y deja de lado el lenguaje de programación centrándose simplemente en descubrir cómo producirlos. En palabras simples, se enfoca principalmente en el resultado final. Expresa la lógica de la computación. Miranda, Erlang, Haskell, Prolog son algunos ejemplos populares de programación declarativa.

Después de obtener los conceptos básicos de comprensión de ambos lenguajes, ahora analicemos las diferencias clave entre estos dos tipos diferentes de programación.

Programación Imperativa

Programación declarativa  

En esto, los programas especifican cómo se debe hacer.   En esto, los programas especifican lo que se debe hacer.  
Simplemente describe el flujo de control de la computación.  Simplemente expresa la lógica de la computación.  
Su objetivo principal es describir cómo conseguirlo o lograrlo.   Su objetivo principal es describir el resultado deseado sin un dictado directo sobre cómo obtenerlo.  
Sus ventajas incluyen la facilidad de aprendizaje y lectura, el modelo nocional es simple de entender, etc.   Sus ventajas incluyen un código efectivo, que se puede aplicar mediante el uso de formas, fácil extensión, alto nivel de abstracción, etc.  
Su tipo incluye programación procedimental, programación orientada a objetos, enfoque de procesamiento paralelo.   Su tipo incluye programación lógica y programación funcional.  
En esto, el usuario puede tomar decisiones y dar órdenes al compilador.   En esto, un compilador puede tomar decisiones.  
Tiene muchos efectos secundarios e incluye variables mutables en comparación con la programación declarativa.   No tiene efectos secundarios y no incluye variables mutables en comparación con la programación imperativa.  
Da control total a los desarrolladores que son muy importantes en la programación de bajo nivel.   Puede automatizar el flujo repetitivo junto con la simplificación de la estructura del código. 

Publicación traducida automáticamente

Artículo escrito por madhurihammad y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *