¿El término "Ingeniería de software" es un oxímoron?
Ingeniería. Ingeniero. Engine. Máquina. Vamos a hacer una pregunta tonta y peligrosa: ¿qué máquina construye un ingeniero de software? Si te sale rápido, sospechá. Yo llevo treinta años metido en el software y todavía no tengo una respuesta que me convenza.1
Lo interesante no es que la pregunta sea difícil. Lo interesante es que la pregunta no la inventó un crítico externo de la disciplina, ni un filósofo decidido a molestar, ni un estudiante con ganas de quedar bien en un seminario. La escribió Alan Kay, el tipo que acuñó object-oriented, en un apéndice de un manual técnico que casi nadie lee. La dejó ahí, como quien deja una bomba en el cajón de una mesa de luz, y siguió escribiendo software.
Growing a Language
Seguramente has visto presentaciones muy importantes, o interesantes, entretenidas. La presentación de Guy Steele que te propongo, es una como nunca has visto antes. Una presentación que tiene un mensaje importante para transmitir, pero que además usa el propio mensaje como mecanismo para desarrollar la presentación. Tal vez algún detalle no tan relevante esté desactualizado, como las referencias a ciertas características de Java, pero si consideras Java en 1998 y lo analizas desde allí,este material es alimento para la mente.