¿Por qué C y C++ siguen siendo tan importantes para la inteligencia artificial?
Hoy en día, existen múltiples lenguajes de programación. Muchos de ellos son tan simples de aprender y utilizar que surge la pregunta de por qué se sigue usando C y C++. Las razones son muchas.
Inicialmente el buscador/indexador de Google fue programado en Python. Sin embargo, al ser un lenguaje no compilado, no es tan eficiente. Google decidió entonces migrar su sistema a C++ hace más de 15 años, logrando reducir el uso de la memoria y a su vez incrementar el tiempo de ejecución de cuatro a cinco veces.
La razón por la que C ++ fue una opción obvia fue, en parte, porque da un mayor control sobre la asignación de memoria y la ejecución controlada de las instrucciones. Esto beneficia a programas que deben ejecutarse en reiteradas ocasiones y que no necesitan cambiar frecuentemente (varias veces por semana).
Hoy en día la industria de videojuegos usa C ++ por su alto rendimiento. C ++ sigue siendo relevante incluso frente a lenguajes cada vez más populares como Python y Javascript, porque es un lenguaje de alto nivel, que es casi tan eficiente como uno de bajo nivel. Además, ha logrado adaptarse a nuevos paradigmas de programación y genera un código altamente eficiente.
Otra de las razones por las que sigue siendo tan relevante es porque permite al programador controlar los detalles íntimos del hardware sin llegar al nivel de lenguaje ensamblador.
Los códigos C y C ++ todavía se usan en todas partes. Por ejemplo, la ejecución de las redes neuronales de hoy en día, en tiempo de inferencia o ejecución, utiliza GPUs cuyo lenguaje está basado puramente en versiones de ambos códigos para el caso de los GPUs de NVIDIA, que son extensivamente dominantes en el mercado.
Empresas como SpaceX usan C ++ para sus cohetes. Y el primer framework y el más popular para Deep Learning (TensorFlow) está desarrollado en C++. La razón principal radica en que la cantidad de operaciones que una red neuronal debe ejecutar es gigantesca y necesita aprovechar la memoria y el procesador al máximo.
Eso no significa que C++ sea el mejor lenguaje para todo, o que sea el más popular. Sin duda existen diversas tareas donde la herramienta de programación que se escoja depende del problema en sí. Python es un lenguaje excelente para prototipos y análisis de datos, pero pésimo para tiempo de ejecución en hardware.
A pesar de ser tan popular, C++ nació con varios defectos que han causado diversos problemas de memoria en muchos sistemas computacionales en su historia. No obstante, continúa evolucionando y generando estructuras cada vez más poderosas y depuradas.
Para aquellos que deseen crear sistemas altamente eficientes, C/C++ es sin duda uno de los lenguajes a aprender.
PhD Reyes Rios Cabrera