No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Programaci贸n declarativa vs. imperativa

4/26
Recursos

Aportes 7

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

隆Los cursos con este profesor son geniales!, ojal谩 saquen m谩s pronto

EJEMPLO C#
// Declarativo
var listofNumbers = new int[] {1, 2,3 ,4, 5};
var item1 = listofNumbers.FirstOrDefault (p => p=1);
Console.Writeln(item1);

//Imperativo
var listofNumbers = new int[] {1, 2,3 ,4, 5};
for (int i=0; i < listofNumbers.length; i++ ) {
if (listOfNumbers[i] == 1)
Console.Writeln(listOfNumbers[i]);
}

La programaci贸n declarativa podr铆a ser una bomba de humo, por qu茅? y la respuesta es otra pregunta鈥 todo eso y bajo que costo ? dentro de esos metodos probablemente ya hay mucha m谩s programaci贸n imperativa, que en relaci贸n al costo beneficio en algunas ocasiones es optimo y en otras no tanto. Es bueno ser cuidadoso y estudiar los caso donde es practico usar la programaci贸n declarativa cuando se habla de metodos que no fueron creados por nosotros mismos.

Comparativa

**Programacion Declarativa **

  • Paradigama de programacion
  • instruciones donde especifico lo que quiero y no como lo quiero
  • contraciposion de a la programacion impertariva
  • fiable y simple

Nota聽: la programacion declarativa son funciones o metodos ya definidos con una para realizar acciones espeficos, lo cuales no ahoran lineas de condigo. solo tenemos que saber que realiza cada funcion para utilizarla lo mas eficiente posible , poder enteder codigo otro desarrollado con programacion declarativa, por mi parte me gustar no me gusta usar tanto metodos al mismo tiempo porque de pone mas complejo saber que realiza el codigo

**Programacion Imperativa **

  • Paradigama de programacion

  • Secuencia de paso a paso de intrucciones

  • Contraposicion a la programacion declarativa

  • Codigo mas extenso mas facil de interpretar

Nota聽: la programacion imperativa debemos programar paso a paso lo que queremos hacer, tiene sus ventajas es mas facil de compreder al mometo debuguearlo, pero puede se mucho extenso.

Ejemplos

//declarativo
var  ListOfNumeber   =new Int[] { 1, 2, 3, 4, 5 };
var item =   ListOfNumeber.FirstOrDefault(p => p == 1)
console.WriteLine(item )


//Imperativa
var  ListOfNumeber   =new Int[] { 1, 2, 3, 4, 5 };
int[] ListOfNumbers =new int[] { 1, 2, 3, 4, 5 };

for (int i = 0; i < ListOfNumbers.Length; i++)
{
if (ListOfNumbers[i] == 1)
    {
        Console.WriteLine("El valor es igual a 1");
    }
}

Otra diferencia es que la programaci贸n Declarativa es m谩s abstraida que la Imperativa.
Debido a esta diferencia en la abstracci贸n del c贸digo, en la Declarativa, se v茅 m谩s simple pero un poco m谩s dificil de entender, mientras que en la Imperativa ocurre lo contrario, se ve m谩s extenso y no tan dificil de entender.

## Programaci贸n declarativa vs. imperativa: una comparaci贸n **Programaci贸n imperativa:** * Se centra en **c贸mo** se ejecuta el programa, proporcionando instrucciones paso a paso para realizar una tarea. * El programador controla el flujo de ejecuci贸n y el estado del programa. * Ejemplos de lenguajes imperativos: C, Java, Python. **Programaci贸n declarativa:** * Se centra en **qu茅** se quiere obtener del programa, especificando el resultado deseado sin indicar c贸mo se debe alcanzar. * El programador define el problema y deja que el sistema determine c贸mo resolverlo. * Ejemplos de lenguajes declarativos: SQL, Prolog, Haskell. **Ventajas de la programaci贸n declarativa:** * **C贸digo m谩s conciso y legible:** El programador no necesita preocuparse por los detalles de la implementaci贸n. * **Facilidad de mantenimiento:** El c贸digo es m谩s f谩cil de entender y modificar. * **Correcci贸n:** El sistema se encarga de garantizar la correcci贸n del resultado. **Desventajas de la programaci贸n declarativa:** * **Menos control:** El programador tiene menos control sobre el flujo de ejecuci贸n y el estado del programa. * **Menos eficiente:** En algunos casos, la programaci贸n declarativa puede ser menos eficiente que la imperativa. **En resumen:** * La programaci贸n imperativa es adecuada para tareas que requieren un control preciso del flujo de ejecuci贸n. * La programaci贸n declarativa es ideal para tareas en las que el resultado deseado es m谩s importante que el proceso para llegar a 茅l. **La elecci贸n del paradigma de programaci贸n adecuado depende de las necesidades espec铆ficas del proyecto.**
Acabo de descubrir que tiendo a codear de primeras imperativamente, siento que tengo m谩s control, aunque muchas veces termino refactorizando a declarativo cuando compruebo que mi c贸digo funciona.