C++
Un lenguaje de sistemas que suma clases, plantillas y otras abstracciones al control de la máquina al nivel de C.
27 pasos en 1 tours, desde lo básico hasta programas completos.
Los tours
- Primera versión
- 1985
- Creado por
- Bjarne Stroustrup
- Tipado
- Estático y estricto; auto deduce, las plantillas generan, const lo permea todo
- Los fragmentos siguen
- C++26
- Extensiones de archivo
- .cpp, .cc, .hpp
Para qué sirve
C++ es el lenguaje que carga con el peso de la computación: navegadores, motores de juegos, bases de datos, compiladores, sistemas de trading y los bucles de entrenamiento del boom de la IA corren sobre él. Cuando los milisegundos son ingresos o física, la industria sigue recurriendo al único lenguaje que ofrece control afinado a mano y abstracción de alto nivel en el mismo archivo. Toda entrevista seria de sistemas todavía asume que sabes leerlo.
El lenguaje premia saber qué década de él estás escribiendo. El C++ moderno — el dialecto desde C++11, refinado hasta C++20 — reemplazó los punteros crudos con unique_ptr, los bucles manuales con algoritmos y rangos, y los trucos de macros con constexpr. RAII, la idea de que los recursos se atan a la vida de los objetos, sigue siendo el hábito más profundo que enseña el lenguaje, y se transfiere a todas partes.
Sus filos son reales y famosos: el comportamiento indefinido acecha bajo código inocente, los errores de plantillas pueden ocupar páginas, y el lenguaje es tan grande que cada equipo escribe en un subconjunto elegido. Justo por eso la fluidez en el subconjunto moderno — el que practican estos fragmentos — vale tanto: es la diferencia entre pelear con C++ y conducirlo.
De dónde viene
Bjarne Stroustrup comenzó C with Classes en Bell Labs en 1979, buscando las abstracciones de Simula a la velocidad de C, y lo renombró C++ en 1983. El lanzamiento de 1985 y su libro lo hicieron el lenguaje del software serio durante los años noventa, cuando toda aplicación de escritorio y todo juego se distribuían sobre él.
La estandarización llegó en 1998, y luego el lenguaje casi se estancó: C++03 cambió poco, y Java y C# se comieron su nicho de aplicaciones mientras esperaba. C++11 fue el renacimiento — auto, lambdas, semántica de movimiento, punteros inteligentes — tan radical que 'C++ moderno' se fecha desde ahí, con el comité publicando un estándar nuevo cada tres años desde entonces.
C++20 trajo concepts, rangos y corrutinas, las adiciones más grandes desde el 11; C++23 las refinó. El lenguaje ahora evoluciona junto a sus aspirantes a sucesores — Rust el más ruidoso — mientras sigue siendo el titular que nada ha desplazado: el código que renderiza esta página, que entrenó el modelo con el que hablaste hoy y que cruzó tu última operación bursátil es C++.
Cómo se siente teclearlo
C++ se teclea denso, con puntuación doble: :: para los ámbitos, << para los streams, -> para los miembros, y corchetes angulares anidados dentro de corchetes angulares. std:: abre más expresiones que cualquier palabra clave, y la disciplina del punto y coma es absoluta. Los fragmentos llevan umbrales medios — la sintaxis pesa más que la de Python pero es más regular que la del shell — y la memoria muscular de vector<int>, const auto& y nullptr rinde en cada revisión de código que leas de aquí en adelante.
27 pasos en 1 tours, desde lo básico hasta programas completos.