CursosEmpresasBlogLiveConfPrecios

Programación declarativa vs. imperativa

Clase 4 de 26 • Curso de Manejo de Datos en C# con LINQ

Clase anteriorSiguiente clase

Contenido del curso

Introducción

  • 1
    Bienvenida al curso

    Bienvenida al curso

    02:26 min
  • 2
    Prerrequisitos

    Prerrequisitos

    02:40 min
  • 3
    ¿Qué es LINQ?

    ¿Qué es LINQ?

    07:21 min
  • 4
    Programación declarativa vs. imperativa

    Programación declarativa vs. imperativa

    Viendo ahora
  • 5
    Utilizando LINQ por primera vez

    Utilizando LINQ por primera vez

    09:34 min

Configuración de proyecto

  • 6
    Creando el proyecto base

    Creando el proyecto base

    06:40 min
  • 7
    Configurando clases

    Configurando clases

    05:46 min
  • 8
    Importando datos

    Importando datos

    15:17 min

Operadores básicos

  • 9
    Usando el operador Where

    Usando el operador Where

    14:08 min
  • 10

    Ejercicio para aplicar el operador Where

    00:07 min
  • 11
    Operadores All y Any

    Operadores All y Any

    09:46 min
  • 12
    Operador Contains

    Operador Contains

    04:54 min
  • 13
    Operadores OrderBy y OrderByDescending

    Operadores OrderBy y OrderByDescending

    10:03 min
  • 14

    Ejercicio operador OrderBy

  • 15
    Operadores Take y Skip

    Operadores Take y Skip

    14:52 min
  • 16
    Selección dinámica de datos

    Selección dinámica de datos

    09:33 min

Operadores de agregación

  • 17
    Operadores LongCount y Count

    Operadores LongCount y Count

    10:02 min
  • 18
    Operadores Min y Max

    Operadores Min y Max

    08:38 min
  • 19
    Operadores MinBy y MaxBy

    Operadores MinBy y MaxBy

    11:09 min
  • 20
    Operadores Sum y Aggregate

    Operadores Sum y Aggregate

    13:24 min
  • 21
    Operador Average

    Operador Average

    05:21 min

Agrupamiento de datos

  • 22
    Cláusula GroupBy

    Cláusula GroupBy

    07:33 min
  • 23

    Ejercicio cláusula GroupBy

    00:07 min
  • 24
    Cláusula Lookup

    Cláusula Lookup

    07:58 min
  • 25
    Cláusula Join

    Cláusula Join

    10:47 min

Cierre de curso

  • 26
    Recapitulación sobre LINQ

    Recapitulación sobre LINQ

    03:20 min
  • Tomar el examen del curso
    • Valeria Delgado

      Valeria Delgado

      student•
      hace 3 años

      ¡Los cursos con este profesor son geniales!, ojalá saquen más pronto

        Luis Antonio Preza Padilla

        Luis Antonio Preza Padilla

        student•
        hace 2 años

        Concuerdo contigo!

      José Ángel Soriano Soriano

      José Ángel Soriano Soriano

      student•
      hace 3 años

      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]); }

        Aylen Adela Rodríguez

        Aylen Adela Rodríguez

        student•
        hace 3 años

        La diferencia de esto es que la imperativa te va a traer varios datos en los cuales listOfNumber[i] == 1, en cambio la declarativa te trae el primero que encuentre que cumpla la condicion. Lo que podes hacer es lisOfNumber.where(x=> x == 1).toArray(); entonces te traerá todos :')

        Fabián Albarracín

        Fabián Albarracín

        student•
        hace 3 años

        o en su defecto aun siendo declarativo para imprimir todos los numeros que son iguales a 1.

        var listofNumbers = new int[] {1, 2, 3, 4, 5}; var items = listofNumbers.Where(p => p == 1); foreach (var item in items) { Console.WriteLine(item); } //Aun sigue siendo un enfoque declarativo ya que estas indicando que condiciones deben cumplir los elementos en lugar de detallar como buscarlos.
      DANIS ABADIA BEJARANO

      DANIS ABADIA BEJARANO

      student•
      hace 3 años

      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.

      Miguel Angel Porras Villarreal

      Miguel Angel Porras Villarreal

      student•
      hace 2 años

      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"); } }
      Leandro Cosme Tomassini

      Leandro Cosme Tomassini

      student•
      hace 2 años

      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.

      Oscar Limbert Jemio Peñafiel

      Oscar Limbert Jemio Peñafiel

      student•
      hace 3 años

      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.

      Eduardo Garcia Mora

      Eduardo Garcia Mora

      student•
      hace 2 años

      Linq utiliza el paradigma de programacion Delcarativo

      Joan Alexander Valerio Rodríguez

      Joan Alexander Valerio Rodríguez

      student•
      hace un año

      Actualmente utilizo LINQ en la empresa de desarrollo de software donde trabajo. Digamos que pude aprender LINQ sobre la marcha y decidí tomar este curso para reforzar lo aprendido.

      Honestamente LINQ es super importante en el desarrollo de software y para nada que es un desperdicio.

      Altamente recomendado este curso y con este tremendo instructor. 10/10

      Ivan Fernando Bedoya Jaramillo

      Ivan Fernando Bedoya Jaramillo

      student•
      hace 2 años

      Soy solo yo o el video de esta clase se pausa demasiado y se queda cargando sin importar cual servidor (A, B, o C) este utilizando ? (ya revisé mi ancho de banda del internet y soporta videos en Full HD sin problemas )

        Miguel Teheran

        Miguel Teheran

        teacher•
        hace 2 años

        Por favor reporta el problema al equipo tecnico de platzi y esperemos una soluci[on rapida

      Carolina Patiño

      Carolina Patiño

      student•
      hace 3 años

      Hay diferencia en los tiempos de respuesta entre usar programación imperativa vs declarativa?

        Francisco Ponce

        Francisco Ponce

        student•
        hace 3 años

        En general, la elección entre programación imperativa y declarativa no afecta directamente los tiempos de respuesta de una aplicación. Tanto la programación imperativa como la declarativa se pueden utilizar para escribir código que resuelva un problema determinado, y ambas pueden producir soluciones eficientes y escalables.

        La diferencia entre programación imperativa y declarativa radica en cómo se enfoca el código y cómo se expresa la lógica de la solución. En programación imperativa, se describe cómo se debe hacer algo paso a paso, utilizando estructuras de control de flujo como bucles, condicionales y funciones. En programación declarativa, se describe qué se debe hacer sin especificar cómo se debe hacer, utilizando abstracciones como funciones de alto nivel, operaciones funcionales y consultas.

        En C#, la programación imperativa es el enfoque predominante, pero el lenguaje también admite un estilo de programación más declarativo mediante el uso de LINQ (Language Integrated Query), que proporciona una sintaxis más concisa y expresiva para trabajar con colecciones de datos.

        En términos de rendimiento, no es necesariamente el enfoque de programación en sí lo que afecta los tiempos de respuesta, sino más bien la calidad del código y la eficiencia de los algoritmos y estructuras de datos utilizados. El rendimiento de una aplicación puede verse afectado por factores como la complejidad del problema, la cantidad de datos que se manejan, la calidad del código y la eficiencia de los algoritmos y estructuras de datos utilizados.

      Oscar Fuentes Esteves

      Oscar Fuentes Esteves

      student•
      hace 2 años

      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.

    Escuelas

    • Desarrollo Web
      • Fundamentos del Desarrollo Web Profesional
      • Diseño y Desarrollo Frontend
      • Desarrollo Frontend con JavaScript
      • Desarrollo Frontend con Vue.js
      • Desarrollo Frontend con Angular
      • Desarrollo Frontend con React.js
      • Desarrollo Backend con Node.js
      • Desarrollo Backend con Python
      • Desarrollo Backend con Java
      • Desarrollo Backend con PHP
      • Desarrollo Backend con Ruby
      • Bases de Datos para Web
      • Seguridad Web & API
      • Testing Automatizado y QA para Web
      • Arquitecturas Web Modernas y Escalabilidad
      • DevOps y Cloud para Desarrolladores Web
    • English Academy
      • Inglés Básico A1
      • Inglés Básico A2
      • Inglés Intermedio B1
      • Inglés Intermedio Alto B2
      • Inglés Avanzado C1
      • Inglés para Propósitos Específicos
      • Inglés de Negocios
    • Marketing Digital
      • Fundamentos de Marketing Digital
      • Marketing de Contenidos y Redacción Persuasiva
      • SEO y Posicionamiento Web
      • Social Media Marketing y Community Management
      • Publicidad Digital y Paid Media
      • Analítica Digital y Optimización (CRO)
      • Estrategia de Marketing y Growth
      • Marketing de Marca y Comunicación Estratégica
      • Marketing para E-commerce
      • Marketing B2B
      • Inteligencia Artificial Aplicada al Marketing
      • Automatización del Marketing
      • Marca Personal y Marketing Freelance
      • Ventas y Experiencia del Cliente
      • Creación de Contenido para Redes Sociales
    • Inteligencia Artificial y Data Science
      • Fundamentos de Data Science y AI
      • Análisis y Visualización de Datos
      • Machine Learning y Deep Learning
      • Data Engineer
      • Inteligencia Artificial para la Productividad
      • Desarrollo de Aplicaciones con IA
      • AI Software Engineer
    • Ciberseguridad
      • Fundamentos de Ciberseguridad
      • Hacking Ético y Pentesting (Red Team)
      • Análisis de Malware e Ingeniería Forense
      • Seguridad Defensiva y Cumplimiento (Blue Team)
      • Ciberseguridad Estratégica
    • Liderazgo y Habilidades Blandas
      • Fundamentos de Habilidades Profesionales
      • Liderazgo y Gestión de Equipos
      • Comunicación Avanzada y Oratoria
      • Negociación y Resolución de Conflictos
      • Inteligencia Emocional y Autogestión
      • Productividad y Herramientas Digitales
      • Gestión de Proyectos y Metodologías Ágiles
      • Desarrollo de Carrera y Marca Personal
      • Diversidad, Inclusión y Entorno Laboral Saludable
      • Filosofía y Estrategia para Líderes
    • Diseño de Producto y UX
      • Fundamentos de Diseño UX/UI
      • Investigación de Usuarios (UX Research)
      • Arquitectura de Información y Usabilidad
      • Diseño de Interfaces y Prototipado (UI Design)
      • Sistemas de Diseño y DesignOps
      • Redacción UX (UX Writing)
      • Creatividad e Innovación en Diseño
      • Diseño Accesible e Inclusivo
      • Diseño Asistido por Inteligencia Artificial
      • Gestión de Producto y Liderazgo en Diseño
      • Diseño de Interacciones Emergentes (VUI/VR)
      • Desarrollo Web para Diseñadores
      • Diseño y Prototipado No-Code
    • Contenido Audiovisual
      • Fundamentos de Producción Audiovisual
      • Producción de Video para Plataformas Digitales
      • Producción de Audio y Podcast
      • Fotografía y Diseño Gráfico para Contenido Digital
      • Motion Graphics y Animación
      • Contenido Interactivo y Realidad Aumentada
      • Estrategia, Marketing y Monetización de Contenidos
    • Desarrollo Móvil
      • Fundamentos de Desarrollo Móvil
      • Desarrollo Nativo Android con Kotlin
      • Desarrollo Nativo iOS con Swift
      • Desarrollo Multiplataforma con React Native
      • Desarrollo Multiplataforma con Flutter
      • Arquitectura y Patrones de Diseño Móvil
      • Integración de APIs y Persistencia Móvil
      • Testing y Despliegue en Móvil
      • Diseño UX/UI para Móviles
    • Diseño Gráfico y Arte Digital
      • Fundamentos del Diseño Gráfico y Digital
      • Diseño de Identidad Visual y Branding
      • Ilustración Digital y Arte Conceptual
      • Diseño Editorial y de Empaques
      • Motion Graphics y Animación 3D
      • Diseño Gráfico Asistido por Inteligencia Artificial
      • Creatividad e Innovación en Diseño
    • Programación
      • Fundamentos de Programación e Ingeniería de Software
      • Herramientas de IA para el trabajo
      • Matemáticas para Programación
      • Programación con Python
      • Programación con JavaScript
      • Programación con TypeScript
      • Programación Orientada a Objetos con Java
      • Desarrollo con C# y .NET
      • Programación con PHP
      • Programación con Go y Rust
      • Programación Móvil con Swift y Kotlin
      • Programación con C y C++
      • Administración Básica de Servidores Linux
    • Negocios
      • Fundamentos de Negocios y Emprendimiento
      • Estrategia y Crecimiento Empresarial
      • Finanzas Personales y Corporativas
      • Inversión en Mercados Financieros
      • Ventas, CRM y Experiencia del Cliente
      • Operaciones, Logística y E-commerce
      • Gestión de Proyectos y Metodologías Ágiles
      • Aspectos Legales y Cumplimiento
      • Habilidades Directivas y Crecimiento Profesional
      • Diversidad e Inclusión en el Entorno Laboral
      • Herramientas Digitales y Automatización para Negocios
    • Blockchain y Web3
      • Fundamentos de Blockchain y Web3
      • Desarrollo de Smart Contracts y dApps
      • Finanzas Descentralizadas (DeFi)
      • NFTs y Economía de Creadores
      • Seguridad Blockchain
      • Ecosistemas Blockchain Alternativos (No-EVM)
      • Producto, Marketing y Legal en Web3
    • Recursos Humanos
      • Fundamentos y Cultura Organizacional en RRHH
      • Atracción y Selección de Talento
      • Cultura y Employee Experience
      • Gestión y Desarrollo de Talento
      • Desarrollo y Evaluación de Liderazgo
      • Diversidad, Equidad e Inclusión
      • AI y Automatización en Recursos Humanos
      • Tecnología y Automatización en RRHH
    • Finanzas e Inversiones
      • Fundamentos de Finanzas Personales y Corporativas
      • Análisis y Valoración Financiera
      • Inversión y Mercados de Capitales
      • Finanzas Descentralizadas (DeFi) y Criptoactivos
      • Finanzas y Estrategia para Startups
      • Inteligencia Artificial Aplicada a Finanzas
      • Domina Excel
      • Financial Analyst
      • Conseguir trabajo en Finanzas e Inversiones
    • Startups
      • Fundamentos y Validación de Ideas
      • Estrategia de Negocio y Product-Market Fit
      • Desarrollo de Producto y Operaciones Lean
      • Finanzas, Legal y Fundraising
      • Marketing, Ventas y Growth para Startups
      • Cultura, Talento y Liderazgo
      • Finanzas y Operaciones en Ecommerce
      • Startups Web3 y Blockchain
      • Startups con Impacto Social
      • Expansión y Ecosistema Startup
    • Cloud Computing y DevOps
      • Fundamentos de Cloud y DevOps
      • Administración de Servidores Linux
      • Contenerización y Orquestación
      • Infraestructura como Código (IaC) y CI/CD
      • Amazon Web Services
      • Microsoft Azure
      • Serverless y Observabilidad
      • Certificaciones Cloud (Preparación)
      • Plataforma Cloud GCP

    Platzi y comunidad

    • Platzi Business
    • Live Classes
    • Lanzamientos
    • Executive Program
    • Trabaja con nosotros
    • Podcast

    Recursos

    • Manual de Marca

    Soporte

    • Preguntas Frecuentes
    • Contáctanos

    Legal

    • Términos y Condiciones
    • Privacidad
    • Tyc promociones
    Reconocimientos
    Reconocimientos
    Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
    Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
    Logo reconocimientoPrimera Startup EdTech · 2018
    Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
    Logo reconocimientoCEO Mejor Emprendedor del año · 2024
    De LATAM conpara el mundo
    YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads