ENES

C y C++

Dos lenguajes veteranos y rápidos debajo de sistemas operativos, navegadores y juegos.

Kernels de sistemas operativos, navegadores y motores de juegos apilados sobre una capa de C y C++ que está justo encima de la memoria y el hardware

C es un lenguaje de programación que creó Dennis Ritchie en los Bell Labs a principios de los años 70 para escribir el sistema operativo Unix. C++ vino después: Bjarne Stroustrup lo empezó en 1979 como "C con clases" y le sumó programación orientada a objetos y muchas otras cosas encima de C. Son lenguajes distintos, pero C++ puede usar código C directamente, así que suelen nombrarse juntos.

Los dos se compilan directo a código de máquina y le dan al programador control directo sobre la memoria: pedís un pedazo de memoria, lo usás y lo devolvés. Ese control es lo que los hace rápidos y lo que les permite correr donde casi nada más entra, desde microcontroladores hasta el kernel de Linux. El núcleo de Windows, macOS y Linux, navegadores como Chrome y Firefox, muchas bases de datos y la mayoría de los grandes motores de juegos están escritos en buena parte en C o C++.

El precio de ese control es el riesgo. Si te olvidás de devolver memoria, o leés más allá del final de una lista, el programa se puede colgar o, peor, abrir un agujero de seguridad. Una parte grande de los bugs de seguridad graves en proyectos grandes de C y C++ viene justamente de esos errores, y por eso lenguajes más nuevos como Rust buscan la misma velocidad con la seguridad de memoria incorporada. Igual, décadas de código que funciona hacen que C y C++ no se vayan a ningún lado.

Para quedarse

Para seguir leyendo

Términos relacionados

Más de Software