40 puntos por GN⁺ 2023-11-29 | 1 comentarios | Compartir por WhatsApp
  • Este curso está dirigido a personas que ya están familiarizadas con C y la programación orientada a objetos, y tiene como objetivo mejorar su dominio de la programación en C++
  • Abarca desde los fundamentos de la programación en C++ hasta la semántica y los conceptos avanzados de C++
  • Es gratuito, se actualiza con frecuencia, incluye conceptos y funciones del estándar más reciente del lenguaje, y adopta un enfoque de enseñanza práctico

Contenido principal de cada capítulo

  • Conceptos básicos: explicación de los tipos básicos de C++, operadores, reglas de conversión, gestión de memoria, funciones y preprocesamiento.
  • Programación orientada a objetos: comprensión del concepto de clases, herencia, polimorfismo y sobrecarga de operadores.
  • Templates y metaprogramación: exploración en profundidad de templates de funciones y clases, utilidades en tiempo de compilación y SFINAE.
  • Unidades de traducción: explicación sobre linkage, One Definition Rule y cómo manejar múltiples unidades de traducción.
  • Convenciones de código: guía sobre organización de proyectos y principales convenciones de código.
  • Ecosistema: información sobre depuración, pruebas, Cmake, documentación y otras herramientas.
  • Utilidades: panorama general de las principales bibliotecas std, contenedores, iteradores y algoritmos.
  • Temas avanzados: estudio más profundo de semántica de movimiento, deducción de tipos, smart pointers y concurrencia.
  • Optimización: estrategias sobre conceptos básicos, optimización de código, optimización no relacionada con código y benchmarking.

Opinión de GN⁺

Este curso cubre todos los aspectos de la programación en C++, incluido el estándar más reciente del lenguaje, por lo que es un recurso esencial para que un ingeniero de software principiante evolucione hasta un nivel experto. Su enfoque práctico, basado en casos reales, ofrece a los estudiantes conocimientos útiles que resultan muy beneficiosos para mejorar sus habilidades de programación.

1 comentarios

 
GN⁺ 2023-11-29
Opiniones en Hacker News
  • El creador de este curso es líder de equipo en NVIDIA y principal ingeniero de software de CUDA cuSPARSE

    • Considerando la relación del creador del curso con NVIDIA y CUDA, esta experiencia puede ser útil para personas con buen dominio de C++.
  • He tenido mucho éxito usando ChatGPTv4 para escribir código moderno de C++ compatible con CUDA

    • ChatGPTv4 puede ayudar a convertir código Rust a C++ moderno compatible con el compilador CUDA nvcc más reciente.
    • Durante el proceso de conversión, explica las diferencias entre lenguajes y recomienda usar std::* para escribir código más flexible.
  • Volví a C++ después de un largo descanso, y las versiones recientes como C++17 son suficientemente buenas, pero el soporte de Unicode deja que desear

    • Las versiones recientes de C++ son lo bastante buenas para usarse, pero se señala que el soporte de Unicode es incómodo y necesita mejoras.
  • Como desarrollador embebido, estoy buscando buenos materiales para empezar a aprender C++

    • Una persona con experiencia en desarrollo embebido está buscando materiales para aprender C++ y pasar a trabajo de mayor nivel.
    • Hay cursos de distintos precios, pero le cuesta elegir uno adecuado para una situación compleja.
  • Me pregunto si hay alguien que pueda comparar este curso con learncpp.com

    • Se piden opiniones sobre la utilidad de este curso en comparación con el sitio web learncpp.com.
  • Sirve para retomar habilidades de C olvidadas desde la universidad, pero hace falta más práctica real de programación

    • Se expresa una preferencia por aprender mediante práctica real de programación más que con estudio teórico.
  • Creo que aprender solo con diapositivas es difícil

    • Se critica que aprender mediante diapositivas es ineficiente y se muestra preferencia por otros métodos de aprendizaje.
  • Los smart pointers no deberían considerarse un "tema avanzado" en C++

    • Se enfatiza que los smart pointers son la mejor forma de manejar memoria, por lo que incluso quienes empiezan deberían aprenderlos.
    • También se menciona que es importante entender new y delete, pero que en la práctica es preferible usar unique_ptr o shared_ptr.
  • Me pregunto si en el C++ moderno realmente hay que usar new/delete

    • Una persona que está empezando en C++ plantea dudas sobre la necesidad de las palabras clave new/delete en el C++ moderno.
  • Pide que le expliquen cómo leer la sección de reglas de conversión

    • Como no está familiarizado con la notación de la sección de reglas de conversión, pide ayuda y busca una explicación adicional de esa parte.