Uno los primeros conceptos que explico al enseñar el paradigma de la Ingeniería de Software dirigida por modelos (IDM)  es la ecuación básica del modelado de software (Modelos + Transformaciones = Software ) que, obviamente, referencia a la muy conocida ecuación de Niklaus Wirth: Algoritmos + Estructuras de datos = Programas.

La idea es que ligando las dos ecuaciones sería más fácil para los estudiantes entender como la IDM cambia la manera de desarrollar software. Pero me equivoqué. Y no por qué la ecuación IDM no se entienda sinó porqué resulta que ahora ya nadie conoce la ecuación de Wirth, ni de hecho a Wirth mismo ni el lenguaje por el qué se hizo famoso (por si os preguntáis de qué lenguaje hablo: Pascal).

Cada vez que intento utilizar Wirth como ejemplo se me queda cara de tonto viendo las caras de sorpresa de la audiencia. No digo que haya que volver a enseñar Pascal a los estudiantes de primero (el qué lenguaje utilizar para empezar a enseñar programación es ya un asunto my controvertido en sí mismo) pero que uno pueda graduarse en informática sin conocer los conceptos de programación estructurada y como ésta empezó me parece vergonzoso.

Todo informático debería conocer los paradigmas de programación más habituales (estructurado, orientado a objetos, funcional y sus variantes y combinaciones), los puntos fuertes y débiles de cada uno, los lenguajes más representativos de cada grupo, qué razones motivaron su creación,…. Teniendo en cuenta lo rápido que evoluciona el campo de los lenguajes de programación (con nuevos frameworks y lenguajes naciendo y muriendo casi a diario) si el estudiante no tiene un cierto marco mental que le permita situar todos estos movimientos, irá completamente perdido.

Y aún peor, puede incluso llegar a pensar que lo que aprendió en al carrera ya no sirve para nada por qué práctico con un lenguaje X y ahora está de moda el lenguaje Y sin llegar a interiorizar que una cosa son los conceptos de programación fundamentales que aprendió y otra como esos conceptos se plasmas en una sintaxis determinada para un lenguaje concreto.

Una búsqueda rápida de los currículums de informática en las universidades confirma que “historia de la programación” no es un curso que exista en ninguna facultad (que yo conozca). Sí que hay mucha “historia de la informática” pero normalmente estos cursos hablan principalmente del nacimiento de los ordenadores, no de los lenguajes para programarlos.

Espero que alguien me escuche y empieze a crear este tipo de cursos (en ese caso, esta enciclopedia de los lenguajes de programación, con más de 8000 lenguajes y las relaciones entre ellos, puede ser muy útil). Ya sabéis, “quién no conoce la historia está condenado a repetirla”.