Sobre la importancia de saber programar en C

Hace cerca de 15 años, en la Universidad de los Andes, la programación se enseñaba usando “C“, un lenguaje de programación muy popular desarrollado en los 70, en paralelo con el desarrollo del sistema operativo UNIX.  En los 90, lenguajes de programación como Java fueron reemplazando al lenguaje C tanto en la empresa como en las aulas. Hoy en día, según me dicen, la programación se enseña usando Java y los estudiantes simplemente no aprenden C.

Este cambio preocupa a ciertos de mis colegas quienes consideran que, aún si no se va a usar este lenguaje, un programador debería saber programar en C. Muchos de estos colegas se quejan de los programadores más jovenes acusandolos de “no saber que es un apuntador”, lo cual parece ser, por el tono de la queja, algo muy grave. Qué tan realmente es importante saber programar en C para un programador? Cual es el realmente el fondo del asunto.

Yo supongo que lo que deploran mis colegas es el hecho de que al no haber tenido contacto con un lenguaje con manejo explicito de la memoria, aritmetica de apuntadores, acceso directo a ciertas funciones del sistema, etc, los programadores de hoy en dia sean menos concientes de qué es lo que ocurre con los recursos de la maquina cuando un programa es ejecutado. El verdadero debate es entonces sobre que tanto necesita conocer un programador sobre la manera como sus programas actuaran en terminos de los mecanismos de base de un computador. Personalmente creo que es importante. Por esta misma razon, creo que es importante tener idea de como está implementado un compilador.

Por otra parte, recordemos a Edsger Dijkstra, quién dijo: “computer Science is no more about computers than astronomy is about telescopes”.

11 Comments