Edsger Wybe Dijkstra
Dijkstra nació el 11 de mayo de 1930 en Rotterdam, Holanda, hijo
de un químico y una matemática. Estudió física
y matemáticas en la Universidad de Leyden, terminando en 1951.
Más tarde, realizó un doctorado en física teórica en la misma
universidad en 1956, seguido de un Ph.D. en 1959 en la Universidad 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 Universidad 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 Universidad de Texas en
Austin, hasta que se jubiló en 1999. 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.
Murió en Nuenen, Holanda, el 8 de Agosto de 2002, a causa de cáncer.
El trabajo de Dijkstra siempre se 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. >
>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:
- Algoritmo para encontrar el camino más corto en un grafo: este fue
el primer problema de grafos que resolvió Dijkstra en 1956 y publicado
en 1959 por que en esa época un algoritmo era difícilmente
considerado un logro científico. Hoy en día, este algoritmo
ha sido usado como la base para protocolos de enrutamiento en Internet,
sistemas de posicionamiento global o simplemente para itinerarios de viaje.>
- 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 aporte a la programación estructurada. Dijkstra participó
en el comité que diseño Algol 60, el primer lenguaje de programación
estructurado, y lo promovió intensamente fomentando la verificación
formal de programas y la eliminación del goto. En este tema
fue autor y coautor de varios libros, además de su artículo
corto Go To statement considered
harmful (La instrucción go to es considerada dañina) publicado en Communications
of ACM en 1968, que es legendario.
FUENTE
-Dijkstra. Recuperado el 17 de Septiembre de 2012. Disponible en: http://users.dcc.uchile.cl/~rbaeza/inf/dijkstra.html
-Dijkstra. Recuperado el 17 de Septiembre de 2012. disponible en: http://miriamherz.blogspot.mx/2011/09/participacion-biografia-de-dijkstra.html