x
1

Dijkstra



Edsger Wybe Dijkstra (AFI: Acerca de este sonido ˈɛtsxər ˈwibə ˈdɛɪkstra ) (Róterdam, 11 de mayo de 1930-Nuenen, 6 de agosto de 2002) fue un científico de la computación de los Países Bajos.

Poco después de su muerte en el 2002, recibió la distinción ACM PODC Influential Paper Award en computación distribuida por su trabajo en la auto-estabilización en programas computacionales. Este premio fue renombrado a Premio Dijkstra el siguiente año en su honor.

Edsger W. Dijkstra nació en Róterdam. Su padre, que fue presidente de la Sociedad Neerlandesa de Química, había aprendido química durante la secundaria y más tarde de su superintendente. Su madre era matemática, pero nunca tuvo un trabajo formal.[1][2]

Dijkstra siempre había considerado emprender una carrera en Derecho y representar a los Países Bajos en las Naciones Unidas. Sin embargo, tras graduarse en la escuela en 1948, bajo la dirección de sus padres estudió matemáticas y física, y finalmente pasó a estudiar Física teórica en la Universidad de Leiden.[3]​ Más tarde trabajó como investigador para Burroughs Corporation a principios de los años 1970. En la Universidad de Texas en Austin, Estados Unidos, ocupó el Schlumberger Centennial Chair in Computer Sciences. En 1965 dio lugar al primer artículo científico en el campo de la computación concurrente y la programación concurrente.[4]​ Entre sus contribuciones a las ciencias de la computación está la solución del problema del camino más corto, también conocido como el algoritmo de Dijkstra, la notación polaca inversa y el relacionado algoritmo shunting yard, THE multiprogramming system, el algoritmo del banquero y la construcción del semáforo para coordinar múltiples procesadores y programas. Otro concepto debido a Dijkstra, en el campo de la computación distribuida, es el de la autoestabilización, una vía alternativa para garantizar la confiabilidad del sistema. El algoritmo de Dijkstra es usado en la ruta más corta primero (SPF) que es usado en el protocolo de enrutamiento Open Shortest Path First (OSPF). También se le debe la autoría de la expresión «Crisis del software», aparecida en su libro The Humble Programmer y usada ampliamente en la famosa reunión de la OTAN de 1968 sobre desarrollo del software. Recibió el Premio Turing en 1972.

Era conocido porque alertó sobre los peligros de la sentencia GOTO en la programación, que culminó en 1968 con la carta al editor que se publicó con el título Go To Statement Considered Harmful (La sentencia Goto considerada perjudicial), visto como un paso importante hacia el rechazo de la expresión GOTO y de su eficaz reemplazo por estructuras de control tales como el bucle while. El famoso título del artículo no era obra de Dijkstra, sino de Niklaus Wirth, entonces redactor de Comunicaciones del ACM. Dijkstra era un aficionado bien conocido de ALGOL, y trabajó en el equipo que desarrolló el primer compilador para este lenguaje. En ese mismo año creó el primer sistema operativo con estructura jerárquica, de niveles o capas. Fue denominado THE (Technische Hogeschool, Eindhoven) que se utilizó con fines didácticos.

Desde los años 1970, el principal interés de Dijkstra fue la verificación formal. La opinión que prevalecía entonces era que uno debe primero escribir un programa y seguidamente proporcionar una prueba matemática de su corrección. Dijkstra objetó que las pruebas que resultan son largas e incómodas, y que la prueba no da ninguna comprensión de cómo se desarrolló el programa. Un método alternativo es la derivación de programas, «desarrollar prueba y programa conjuntamente». Uno comienza con una especificación matemática del programa que se supone va a hacer y aplica transformaciones matemáticas a la especificación hasta que se transforma en un programa que pueda ser ejecutado. El programa que resulta entonces es sabido correcto por la construcción. Muchos de los últimos trabajos de Dijkstra tratan sobre las maneras de hacer fluida la argumentación matemática.

Respecto a su carácter árido y ácido, conocidas son su oposición a la instrucción GOTO y al lenguaje BASIC («mutila la mente más allá de toda recuperación»). Alan Kay expuso que[5]​ en informática, la arrogancia se mide en nanodijkstras.

Dijkstra murió el 6 de agosto de 2002 después de una larga lucha contra el cáncer.

Dijkstra es conocido como un "personaje" en el mundo de las ciencias de la computación. En el prólogo de su libro A Discipline of Programming, escrito en 1976, declaró la siguiente frase: "Debido a la ausencia de una bibliografía, no ofrezco ni explicación ni apología". De hecho, gran parte de sus artículos y libros no tienen ninguna referencia. Esta ausencia de referencias fue criticada por muchos investigadores. Sin embargo, Dijkstra eligió esta forma de trabajar para remarcar su autosuficiencia.

Aunque parezca irónico, Dijkstra, uno de los mayores desarrolladores del software de su época, evitó el uso de computadores en su trabajo durante décadas. Cuando, finalmente, sucumbió a la tecnología, únicamente utilizó los ordenadores para enviar correos electrónicos y hacer búsquedas en la red. Dijkstra nunca utilizó un computador para realizar ninguno de sus trabajos, todos ellos fueron realizados a mano.

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.

Dijkstra también destacó como escritor de ensayos. En uno de ellos, en tono humorístico describió una empresa ficticia en la que había trabajado como presidente llamada Mathematics Inc. Esta empresa se había dedicado a comercializar teoremas matemáticos (un paralelismo a lo que estaba ocurriendo con las empresas tecnológicas, las cuales estaban haciendo una abusiva comercialización de los programas que desarrollaban). Al concluir este discurso Dijkstra aseguró que era la empresa más emocionante, y a la vez miserable, jamás concebida.

Desde 1952 hasta 1962, Dijkstra trabajó en el Mathematisch Centrum en Ámsterdam, donde colaboró con Bram Jan Loopstra y Carel S. Scholten, los cuales habían sido contratados para construir un computador. Su modo de trabajo fue muy disciplinado: en primer lugar, debían escribir un manual de programación. Posteriormente los diseñadores de hardware debían tener fe en que Dijkstra, el programador, escribiera las líneas de códigos para una máquina todavía inexistente. De su experiencia aprendieron la gran importancia que tiene una documentación clara y que una tediosa depuración de un programa puede ser evitada si se ha hecho un diseño cuidadoso. En este centro, Dijkstra y Jaap Zonneveld desarrollaron un compilador para el lenguaje de programación ALGOL, que tuvo una gran influencia en su posterior actividad científica.

Dijkstra fue uno de los pioneros en el establecimiento de la programación distribuida. Gracias a este tipo de programación, Dijkstra fue el primero en presentar una solución al problema de exclusión mutua.

Desde la década de 1970 el principal interés de Dijkstra fue la verificación formal. La verificación formal es un método de validación estática, en el que, partiendo de un conjunto de axiomas, reglas de inferencia y algún lenguaje lógico, se puede encontrar una demostración de un programa. En 1976 Dijkstra publicó su libro A Discipline of Programming el cual presentó su método de desarrollo sistemático de programas, junto con sus pruebas de corrección.

En su exposición, utilizó su Lenguaje de Comandos Guardados. Este lenguaje, con su dependencia en el no determinismo, la semántica de la precondición más débil y el método de desarrollo propuesto, produjeron un impacto considerable en el campo de las ciencias de ese momento.

En 1984, para añadir mayor apoyo a su enfoque de la programación, publicó junto con Wim Feijen un libro de texto para estudiantes de primer año de informática, llamado Een methode van programmeren. La versión inglesa se publicó en 1988, llamada A Method of Programming.

Dijkstra fue uno de los mayores oponentes de la visión de las ciencias de la computación desde el punto de vista de la ingeniería. Mediante el término "ciencias de la computación", que sustituyó a "ciencias del computador", Dijkstra quería hacer énfasis en los mecanismos abstractos que esta ciencia tiene.

Dijkstra consideraba que el trabajo de un programador no era la realización de programas, sino diseñar las distintas clases de computación para el posterior desarrollo de estos. Este pensamiento queda reflejado en su obra The Humble Programmer (1972).

También, se opuso a que la ingeniería del software estuviera bajo la tutela de la academia de la computación. Sobre esto, Dijkstra argumentó que, "Al igual que a la economía es considerada como "La Ciencia Miserable", a la ingeniería del software debería ser considerada como "La disciplina Condenada", debido a que no se acerca, ni siquiera, a su objetivo, ya que este es contradictorio en sí mismo". [6]




Escribe un comentario o lo que quieras sobre Dijkstra (directo, no tienes que registrarte)


Comentarios
(de más nuevos a más antiguos)


Aún no hay comentarios, ¡deja el primero!