LNG-152Lenguajes y Fundamentos de Programación
C++ avanzado: plantillas, memoria y STL
Metaprogramación con plantillas, punteros inteligentes, algoritmos de la STL y rendimiento medido.
C++
Lenguajes y Fundamentos de Programación · LNG-181
Traits genéricos, macros, unsafe controlado y concurrencia sin condiciones de carrera comprobada en compilación.
Formato asíncrono Desarrollo, Ingeniería / Industria Rust
8 módulos · 40 clases en vídeo · práctica guiada en cada módulo
Una vez superado el comprobador de préstamos, el siguiente escalón de Rust es distinto: se trata de diseñar abstracciones que otros usen, de compartir estado entre hilos sin renunciar a las garantías del lenguaje y de decidir cuándo hay que bajar a unsafe y cómo acotar esa decisión para que siga siendo defendible.
El curso trabaja esas tres áreas con código de tamaño realista. Se diseñan traits con tipos asociados y objetos de rasgo comparando su coste, se escriben macros que eliminan repetición, se construye un servicio concurrente con Tokio y se implementa una estructura que requiere unsafe, documentando cada invariante y comprobándola con Miri y con el detector de errores de memoria.
Al terminar se puede mantener una biblioteca Rust usada por terceros y participar en proyectos del ecosistema con criterio propio. Es el nivel que se pide en desarrollo de infraestructura, motores de datos, sistemas embebidos exigentes y cualquier proyecto donde se elija Rust precisamente por sus garantías en tiempo de compilación.
Curso diseñado con la ficha cerrada. Se produce al confirmarse un grupo o un contrato.
Sigue aprendiendo
LNG-152Lenguajes y Fundamentos de Programación
Metaprogramación con plantillas, punteros inteligentes, algoritmos de la STL y rendimiento medido.
C++
LNG-301Lenguajes y Fundamentos de Programación
Programación dinámica, algoritmos voraces, grafos ponderados y análisis asintótico con medición real.
PythonJupyterLab
LNG-304Lenguajes y Fundamentos de Programación
Hilos, corrutinas, actores y canales: qué modelo elige cada lenguaje y por qué.
PythonGoRust+1