Edsger Wybe Dijkstra es uno de los científicos más importantes en toda la historia de la computación. Nació un 11 de mayo de 1930 y falleció el 6 de agosto del 2002 (después de una larga lucha contra el cáncer). Originario de Róterdam, Dijkstra de joven pensaba que estudiaría derecho, a pesar de que su padre era químico y su madre matemática. Eventualmente decidió estudiar física y matemáticas y terminó graduándose como físico teórico, por la Universidad de Leiden. A principios de los años 70s del siglo pasado, trabajó para Burroughs Corporation. También fue catedrático en la Universidad de Texas en Austin, y fue el primer científico que escribiese un artículo sobre computación y programación concurrente, en el año 1965.
Dijkstra es muy conocido en el mundo de la computación por su trabajo en algoritmos, particularmente los que tienen que ver con cómputo concurrente y distribuido. Fue uno de los primeros en proponer el problema de los 5 filósofos, que presenta una situación hipotética donde cinco filósofos se sientan alrededor de una mesa redonda, cada uno con un plato de pasta y un tenedor entre cada par de filósofos adyacentes. La dificultad radica en permitir que cada filósofo alterne entre dos estados, pensamiento y comer, sin que se produzcan bloqueos mutuos mientras intentan adquirir los tenedores adyacentes necesarios para comer. Esto es una clara analogía para representar el problema de la sincronización de procesos en un sistema operativo.
Y desde luego, Dijkstra hizo otras importantes contribuciones, como la notación polaca inversa (que usan las calculadoras HP), o el algoritmo del banquero. Vamos, el científico holandés mostró como podría resolverse una serie de problemas de cómputo usando el concepto de semáforo. Recibió el premio Turing en 1972, galardón equivalente al Nobel de cómputo (que no existe).
Edsger Dijkstra era por sí mismo un personaje notable. En una ocasión escribió una nota (cuartilla y media), en donde aclaraba que la sentencia GOTO era perjudicial y que había que eliminarla de los lenguajes de programación, pues existían estructuras de control que evitaban esta instrucción, origen del código espaguetti. Hay que aclarar que internamente, en el lenguaje más elemental de las computadoras, el GOTO existe y debe usarse, pero se puede enmascarar en estructuras de control mucho más ordenadas que le dan un nivel mayor de abstracción a las ideas en la programación. La nota de Dijkstra puede verse aquí https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.pdf.
Dijkstra era muy ingenioso en sus escritos, los cuales –curiosamente– los hacía a máquina y sin usar procesadores de palabras. Por ejemplo, en “A Discipline of Programming” escribió en el prólogo del libro: “En cuanto a la ausencia de bibliografía, no ofrezco ni explicaciones ni disculpas”. Desde una edad muy temprana destacó por su ingenio y elocuencia. Cuando era pequeño le aseguró a su madre que no resolvería ningún problema o cuestión que le ocupará más de cinco líneas de un folio. No tenía celular y vivía una vida que se consideraba espartana. No tenía televisión tampoco pero sí un piano. Le agradaba mucho ir a conciertos y Mozart era su compositor favorito.
A los 50 años del la creación de BASIC recordamos lo que Dijkstra, uno de sus más acérrimos críticos dijo en 1975: que “era imposible enseñar buena programación a los estudiantes que tenían una exposición previa al BASIC” y quizás exageró cuando indicó que “como programadores potenciales están mutilados mentalmente más allá de toda posibilidad de regeneración”. Pero no hay que extrañarse de Dijkstra en este sentido, pues dijo que FORTRAN era un “desorden infantil”, PL/1 una “enfermedad mortal” y COBOL una “ofensa criminal”.
Otras frases ingeniosas de Dijkstra:
Si dentro de 10 años, cuando estés haciendo algo rápido y sucio, de repente visualizas que estoy mirando por encima de tus hombros y te dices: “A Dijkstra no le hubiera gustado esto”, bueno, eso sería suficiente inmortalidad para mí.
La programación orientada a objetos es una idea excepcionalmente mala que sólo podría haberse originado en California.
No compitan conmigo: en primer lugar, tengo más experiencia y, en segundo lugar, he elegido las armas.
