Edsger Wybe Dijkstra (1930-2002)

En su capacidad como herramienta, los computadores serán
sólo un rizo sobre la superficie de nuestra cultura.
En su capacidad de desafío intelectual, 
no tienen precedente en la historia de la humanidad.
Dijkstra en su discurso de recepción del premio Turing, 1972.


 

El premio Turing otorgado por la ACM (Association for Computing Machinery, EEUU) es considerado el equivalente al
premio Nobel de la computación. El primero de ellos fue entregado en 1966 y hasta la fecha diez de nuestros próceres
ya no nos acompañan. Casualmente, cuatro de ellos fallecieron en un lapso menor a 45 días: el 29 de Junio, Ole-Johan Dahl;
el 16 de Julio, John Cocke; el 6 de Agosto, Dijkstra; y el 10 de Agosto, Kristen Nygaard. John Cocke fue uno de los principales diseñadores de las arquitecturas RISC. Ole-Johan y Kristen fueron los desarrolladores de Simula, el precursor de los
lenguajes de programación orientados a objetos,  tema del próximo mes. Hoy dedicaremos estas líneas a Dijkstra, quién
contribuyó al desarrollo de la computación en muchas áreas distintas.

Sus Contribuciones

Dijkstra escribió más de 1300 artículos, pero indudablemente hay tres contribuciones cuyo impacto está presente en numerosos ámbitos de la computación moderna:

 
  • El concepto de abrazo mortal (deadlock) y su solución a través de semáforos y regiones de código con acceso exclusivo. Dijkstra describió el problema con la cena de los famosos cinco filósofos que sólo tenían cinco palillos para comer arroz (ver figura). Si ellos no se ponían de acuerdo y tomaban un palillo cada uno, creaban un deadlock y morían de hambre pues se necesitaban dos palillos para comer. Esta es la base de la programación concurrente y una parte fundamental de cualquier sistema operativo.


Su Vida

Dijkstra nació el 11 de mayo de 1930 en Rotterdam, Holanda, hijo de un químico y una matemática. Estudio física
y matemáticas en la Univ. de Leyden  terminando en 1951. Más tarde, un doctorado en física teórica en la misma universidad en 1956, seguido de un Ph.D. en 1959 en la Univ. de Amsterdam. En 1952 comenzó a trabajar en el Centro Matemático de Amsterdam donde aprendió a programar, siendo el primer programador en Holanda. En 1962 pasó a ser profesor en la Univ.
Tecnológica de Eindhoven hasta 1984. En paralelo, desde 1973 a 1984 fue investigador para Burroughs. Finalmente, en 1984
aceptó la cátedra Schlumberger en la Univ. de Texas at Austin, hasta que jubiló en 1999. Finalmente, el mes pasado,
enfermo de cáncer, murió en Nuenen, Holanda. Dijkstra se casó en 1957 con Maria Debets (más conocida como Ria) y tuvo tres hijos: Marcus, Femke y Rutger, el único que siguió sus pasos en la computación.
 
El trabajo de Dijkstra siempre se ha caracterizó por su elegancia y simplicidad, sin comprometer el rigor de su investigación con consideraciones económicas, políticas o administrativas. Contaba el mismo que al preguntarle a su madre cuán difícil eran las matemáticas, ella le contestó: "aprende todas las fórmulas y que si alguna vez necesitaba
más de cinco líneas para demostrar algo, estaba en el camino equivocado". En 1972 recibió el premio Turing, y su discurso fue publicado en un artículo titulado "The Humble Programmer" (el programador humilde) ese mismo año en Communications of the ACM. Recientemente, en esta misma revista, publicaba un artículo corto titulado "The End of Computing Science?" (El Fin de la Computación), donde recalcaba que el objetivo principal de la computación, ¿Cómo no convertir un programa en un caos?, todavía no se había logrado.

A veces Dijkstra criticaba en forma franca y directa, para muchos de manera arrogante, incluso en público. Para los que lo conocían mejor, sabían que no era nada personal, sólo su forma de ser. Por dar un ejemplo, según el, la pregunta de si los computadores podían aprender a pensar, era como preguntar si los submarinos podían aprender a nadar. Dijkstra gustaba de viajar por parques nacionales en un bus que llamaba el Touring Machine junto a su familia y tocar a Mozart en el piano. Para terminar, otra cita de Dijkstra (introducción a un curso de cálculo en 1995):  “Si en 10 años más, cuando ustedes estén haciendo algo rápido y sucio, repentinamente visualizan que yo estoy mirando por sobre sus hombros y se dicen a si mismos, - a Dijkstra no le hubiera gustado esto -, eso sería suficiente inmortalidad para mi".
 


Si tiene preguntas o sugerencias, envíe e-mail a rbaeza@dcc.uchile.cl