SOCORRO!
Suena el teléfono...
Y el pobre administrador vuelve a hacer exactamente lo mismo que había hecho antes . A partir de ese momento todo vuelve a funcionar.
Desgraciadamente, esta escena no describe un hecho paranormal. Todos los días, miles de personas elevan plegarias al cielo y sacrifican gallos a la luna llena esperando a que su sistema funcione. Los que tienen menos paciencia simplemente lo reinstalan. Pensándolo bien, esto es algo surrealista. Pero el hecho es que debido a varios factores, cada vez menos profesionales de la informática son capaces de entender cómo funciona su ordenador, y ante la pregunta de si es posible hacer una cosa o no se limitan a encogerse de hombros y decir "no se, lo voy a probar".
Hace muchos, muchos anos, en una época muy lejana, cuando alguien tenía algún problema se dirigía al brujo de su tribu, quien preparaba una poción mágica a medida; el sujeto podía (por ejemplo) volverse invencible, irresistible para el sexo opuesto, o bien quedar libre de un mal de ojo o una terrible enfermedad.
Hablo de cuando el mundo era para nosotros algo misterioso, sujeto a los caprichos de los "dioses" o las "fuerzas de la naturaleza". Con el avance de la ciencia, muchos misterios han sido explicados. Tenemos un conocimiento cada vez mejor del mundo en el que vivimos y del universo, y ante fenómenos inexplicados (cosa que algunos científicos observan constantemente) lo lógico hoy día es pensar que será cuestión de tiempo obtener una explicación.
Afortunadamente, en este siglo contamos con los suficientes conocimientos como para no atribuír nada a la "magia" y simplemente pensar que no conocemos la explicación de un fenómeno extraño, que simplemente será cuestión de tiempo encontrarla.. Podemos decir que el desarrollo científico ha terminado con el pensamiento mágico.
Con Todo? No, desgraciadamente. Aún queda un campo del conocimiento (o más bien debería decir tecnología) en el cual el pensamiento mágico no sólo no ha desaparecido [se ha atrincherado de forma pertinaz], sino que sigue una alarmante tendencia a crecer: la informática.
Para hacerlo más sangrante aún, la informática es quizá la tecnología de más reciente desarrollo, y ha nacido en pleno siglo XX, que puede ser llamado sin lugar a dudas el siglo de la ciencia. Y ya para ahogarse en sangre, los computadores son unos trastos deterministas, cuyo estado final a partir de un estado inicial está perfectamente determinado (asumiendo que los programas sean correctos y no haya averías) y los hemos creado nosotros. Es decir, no hay excusa para atribuir los problemas a "variables ocultas".
Las causas para esto son varias, aunque la más importante es sin duda el aumento de complejidad innecesaria en los actuales sistemas informáticos, especialmente en los sistemas operativos. Cualquiera que eche un vistazo a APIs como el WIN32 u OS/2 quedará aterrorizado si ha conocido diseños más racionales y sobre todo sencillos. Es un ejercicio de lo más interesante comparar los APIs de sistemas como Amoeba o Plan 9 con WIN32, OS/2, etc.
Esta complejidad a la hora de programar provoca una permanente inseguridad en los programadores, que en muchos casos se limitan a copiar y pegar ejemplos de libros sin entender muy bien qué es lo que están haciendo, y no es raro que se vean obligados a hacer varios intentos por ensayo-error hasta conseguir que funcione.
Pero esto es solamente una parte. Los interfaces de usuario y aplicaciones presuntamente amigables son cada vez menos consistentes, y causan más confusión en el usuario. Eso sí, para que se consuele, le alegran el ojillo con iconos animados, animalillos volantes, asistentes repipis que hasta podrían hablar, etc. La triste realidad es que cuando algo no funciona, cada vez está más extendida la moda de sacar un mensaje claro, informativo, y desgraciadamente obvio: "ERROR: NO FUNCIONA" sin dar la más mínima pista sobre el origen del problema.
Por si esto fuera poco, cada fabricante emplea la terminología que le da la gana a la hora de hablar de aplicaciones estándar. Recuerdo cómo una vez me volví loco configurando un router de un fabricante ahora desaparecido (afortunadamente) porque no entendía lo que ponía en la pantalla. Varias opciones que podían valer "sí" o "no" tenían nombres absurdos, y en inglés; no vale la excusa de la confusión al traducir. Esto hace que de vez en cuando uno reciba llamadas en las que le preguntan si el interface se traduce en el puerto o la dirección se conecta con la resolución del proceso atómico, y tenga que encogerse de hombros y decir "no te entiendo".
De todas maneras, lo que más grave me parece, dado que es lo que va a contribuir a que esta situación no solamente se perpetúe, sino que se agrave enormemente, es el estado de la educación universitaria en informática. Cada vez es más frecuente encontrar recién titulados que no saben lo que es una lista enlazada -la vieron en primer curso una vez- y se han pasado la carrera haciendo programas en el compilador de LANG de la casa Sparkomatic Corp, sin tener la más remota idea de principios generales.
Con la histeria por lo "amigable al usuario" (comparable a la histeria americana por lo políticamente correcto), además, parece que es de mal gusto que los estudiantes de informática sepan qué es lo que ocurre realmente en un computador, y se pasan media carrera empleando herramientas visuales de diseño en lugar de aprender estructuras de datos, algoritmos, programación concurrente, sistemas operativos, etc.
Teniendo en cuenta todo esto, solamente se puede ser pesimista, como Rob Pike (de los Laboratorios Bell) en un artículo publicado recientemente en el que se quejaba de la decadencia de la investigación en sistemas operativos.
Fallando estrepitosamente el pilar fundamental, la educación, el futuro no se presenta nada prometedor; los actuales estudiantes llegarán al mercado laboral sabiendo poco más que manejar un ratón, y completamente incapaces -salvo honrosas excepciones procedentes de un puñado de universidades- de abordar el diseño de un sistema medianamente complejo.
Esto, unido a la creciente complejidad de los sistemas no puede sino agravar el serio problema de costes ocultos que afronta cualquier organización que emplee computadores hoy día, en forma de paradas, horas extras invertidas en resolver problemas absurdos, tensión por parte del personal técnico, etc.
Creo que las universidades tienen la responsabilidad de corregir esta situación rechazando las presiones por parte de casas comerciales para formar "ingenieros certificados", cosa que entra dentro del ámbito de la empresa, y volviendo a la educación fundamental. Nunca debe confundirse educación con formación.
Citando al físico Pedro Miguel Etxenike, premio Max Planck y Príncipe de Asturias de la Investigación, las universidades deben preparar a los estudiantes para ser capaces de crear las herramientas del futuro; en ningún caso la prioridad debe ser el saber manejar las herramientas del presente.
THE END.