Niklaus Wirth

Summary

Niklaus Wirth (Winterthur Suiza, 15 de febrero de 1934-1 de enero de 2024)[1]​ fue un científico suizo de la computación.

Niklaus Wirth

Niklaus Wirth en una conferencia
Información personal
Nombre en alemán Niklaus Emil Wirth Ver y modificar los datos en Wikidata
Nacimiento 15 de febrero de 1934
Winterthur, Suiza
Fallecimiento 1 de enero de 2024 Ver y modificar los datos en Wikidata (89 años)
Zúrich (Suiza) Ver y modificar los datos en Wikidata
Nacionalidad suizo
Educación
Educado en
Supervisor doctoral Harry Huskey y Edward Feigenbaum Ver y modificar los datos en Wikidata
Información profesional
Ocupación informático, profesor
Empleador
Obras notables
Miembro de
Sitio web people.inf.ethz.ch/wirth Ver y modificar los datos en Wikidata
Distinciones Premio Turing en 1984
Firma

En 1959 obtiene el título de Ingeniero en Electrónica en la Escuela Politécnica Federal de Zúrich (ETH) en Suiza. En 1960 obtuvo un M.Sc. de la Universidad Laval, Canadá. En 1963 obtiene un Doctorado (Ph.D.) en la Universidad de California, Berkeley.

De 1963 a 1967 sirvió como profesor auxiliar de Informática en la Universidad de Stanford y de nuevo en la Universidad de Zúrich. A partir de 1968 se convirtió en profesor de Informática en la ETH en Suiza, tomándose dos años sabáticos en la Xerox PARC de California.

Wirth fue el jefe de diseño de los lenguajes de programación Euler, Algol W, Pascal, Modula, Modula-2 y Oberon.[2]​ También ocupó gran parte de su tiempo en el equipo de diseño e implementación de sistemas operativos Lilith y Oberon para el Lola en el diseño del hardware digital y el sistema de simulación.

Su artículo de desarrollo de un programa por refinamiento sucesivo («program development by stepwise refinement») se considera un texto clásico en la ingeniería del software, así como su libro Algoritmos + Estructuras de datos = Programas, que recibió un amplio reconocimiento, y que aún hoy resulta útil en la enseñanza de la programación.[3][4]​ Recibió el Premio Turing por el desarrollo de estos lenguajes de programación en 1984.[5]​ Se jubiló en 1999.

Biografía

editar

Wirth nació en Winterthur, Suiza, en 1934. En 1959, obtuvo una licenciatura en Ciencias (B.S.) en ingeniería electrónica del Instituto Federal Suizo de Tecnología de Zúrich (ETH Zürich). En 1960, obtuvo una Maestría en Ciencias (MSc) de la Université Laval, Canadá. Luego, en 1963, obtuvo un doctorado en Ingeniería eléctrica y ciencias informáticas (EECS) de la Universidad de California, Berkeley, supervisado por el pionero del diseño informático Harry Huskey.

De 1963 a 1967, se desempeñó como profesor asistente de informática en la Universidad de Stanford y nuevamente en la Universidad de Zúrich. Luego, en 1968, se convirtió en profesor de Informática en ETH Zürich, tomando dos sabáticos de un año en Xerox PARC en California (1976-1977 y 1984-1985). Se retiró en 1999.

Participó en el desarrollo de estándares internacionales en programación e informática, como miembro de la Federación Internacional para el Procesamiento de la Información (IFIP) IFIP Working Group 2.1 sobre lenguajes algorítmicos y cálculos,[6]​ que especifica, mantiene y admite los lenguajes de programación ALGOL 60 y ALGOL 68.[7]

En 2004, fue nombrado miembro del Museo de Historia de la Computación «por su trabajo fundamental en lenguajes de programación y algoritmos, incluidos Euler, Algol-W, Pascal, Modula y Oberon».[8]

Lenguajes de programación

editar

Wirth fue el diseñador jefe de los lenguajes de programación Euler (1965), PL360 (1966), ALGOL W (1966), Pascal (1970), Modula (1975), Modula-2 (1978), Oberon (1987), Oberon-2 (1991) y Oberon-07 (2007). También formó parte importante del equipo de diseño e implementó los sistemas operativos Medos-2 (1983, para la estación de trabajo Lilith) y Oberon (1987, para la estación de trabajo Ceres ) y del hardware digital Lola (1995), sistema de diseño y simulación. En 1984, recibió el premio Turing de la Association for Computing Machinery (ACM) por el desarrollo de estos lenguajes. En 1994, fue admitido como miembro de la ACM.

Publicaciones

editar

El artículo de Communications of the ACM de abril de 1971 «Program Development by Stepwise Refinement», [9][10]​ relativo a la enseñanza de la programación, está considerado como un texto clásico en ingeniería del software.[11]​ Se considera que este artículo es el primer trabajo en el que se describe formalmente el método descendente para diseñar programas.[12][13]​ El artículo fue discutido por Fred Brooks en su influyente libro The Mythical Man-Month y fue descrito como «seminal» en la breve biografía de Wirth publicada por la ACM con motivo de su Premio Turing. [14][15]

El libro de texto de 1973, Systematic Programming: An Introduction,[16]​ fue descrito como una fuente de calidad para los matemáticos que desean comprender la naturaleza de la programación en una reseña de 1974.[17]​ En la solapa de la portada de la edición de 1973 se afirmaba que el libro «... está adaptado a las necesidades de las personas que consideran un curso sobre construcción sistemática de algoritmos como parte de su formación matemática básica, más que a las necesidades inmediatas de quienes desean poder codificar ocasionalmente un problema y entregarlo a su ordenador para su solución instantánea."[18]​ Descrito en la reseña como un texto difícil de leer, se recomienda sin embargo como lectura útil para los interesados en las matemáticas numéricas.[19]

En 1974, El Manual de Usuario del Pascal e Informe,[20]​ escrito conjuntamente [i]​ con Kathleen Jensen,[23]​ sirvió de base para numerosos esfuerzos de implementación de distintos lenguajes en la década de 1970 (BSD Pascal[24]​), y en la década de 1980 en los Estados Unidos y por toda Europa.[25][26]

En 1975, escribió el libro Algorithms + Data Structures = Programs, que obtuvo un amplio reconocimiento.[27]​ Las principales revisiones de este libro con el nuevo título Algorithms + Data Structures se publicaron en 1985 y 2004[28][29]​ . Los ejemplos de la primera edición se escribieron en Pascal. Estos fueron reemplazados en las ediciones posteriores con ejemplos escritos en Modula-2 y Oberon respectivamente.[28][29]

Su libro de texto, Programación sistemática: una introducción, se consideró una buena fuente para los estudiantes que querían hacer algo más que codificar. La solapa de la portada de la sexta edición (1973) decía que el libro:

... está diseñado para las necesidades de las personas que ven un curso sobre la construcción sistemática de algoritmos como parte de su formación matemática básica, en lugar de la necesidad inmediata de aquellos que desean poder codificar ocasionalmente un problema y transferirlo a su computadora para una solución instantánea
Niklaus Wirth, 1973

Programación sistemática: una introducción está considerado como un texto desafiante para trabajar, se buscó como lectura imperativa para aquellos interesados en las matemáticas numéricas.[30]

En 1992, él y Jürg Gutknecht publicaron la documentación completa del sistema operativo Oberon. Un segundo libro, con Martin Reiser, pretendía ser una guía de programación.[31]​.

Honores, premios y membresías (selección)

editar
  • 1984: Premios Turing
  • 1988: Premio Computer Pioneer de la IEEE Computer Society
  • 1988: Premio de Ciencia y Tecnología de IBM Europa
  • 1995: Pour le mérite para las ciencias y las artes [1]
  • 1999: Premio a la investigación destacada en ingeniería de software de ACM Sigsoft
  • 2001: Dador del nombre del asteroide (21655) Niklauswirth
  • 2002: Premio de Tecnología de la Fundación Eduard Rhein
  • 2007: Elección a la Academia Europea

Un premio un tanto especial es el nombre de un software para aprender el lenguaje de programación Pascal como «Niki - el robot» en alusión a Niklaus.

Wirth era miembro de la Academia Alemana de Ciencias e Ingeniería, Acatech.[32]

Referencias

editar
  1. «Niklaus Wirth has died». Hacker News (en inglés). 3 de enero de 2024. Consultado el 3 de enero de 2024. 
  2. Haigh, Thomas (1984). «Niklaus E. Wirth». A. M. Turing Award. Association for Computing Machinery. Consultado el 15 de octubre de 2019. 
  3. Dasgupta, Sanjoy; Papadimitriou, Christos; Vazirani, Umesh (2008). Algorithms. McGraw-Hill Education. p. 317. ISBN 978-0-07-352340-8. 
  4. Bibliography of Turing Award lectures, DBLP
  5. Chacón Sartori, Camilo (2021). Mentes geniales. La vida y obra de 12 grandes informáticos. Barcelona, España: Marcombo. p. 204. ISBN 9788426733573. 
  6. Jeuring, Johan; Meertens, Lambert; Guttmann, Walter (17 de agosto de 2016). «Profile of IFIP Working Group 2.1». Foswiki. Consultado el 4 de octubre de 2020. 
  7. Swierstra, Doaitse; Gibbons, Jeremy; Meertens, Lambert (2 de marzo de 2011). «ScopeEtc: IFIP21: Foswiki». Foswiki. Consultado el 4 de octubre de 2020. 
  8. «Niklaus Wirth: 2004 Fellow». Computer History Museum (CHM). Consultado el 15 de octubre de 2019. 
  9. Wirth, Program development by stepwise refinement, Communications of the ACM,. 14:221-227, ACM Press, 1971.
  10. Wirth, Niklaus (2001). «Desarrollo de programas mediante el refinamiento por pasos». En Broy, Manfred; Denert, Ernst, eds. Pioneros y sus contribuciones a la ingeniería del software. Berlín, Heidelberg: Springer. ISBN 978-3-642-48355-4. S2CID 11348419. 
  11. Gehani, Narain (1991). Silicon Press, ed. Ada: Programación Concurrente. p. 209. ISBN 978-0-929306-08-7. 
  12. Gill, Nasib Singh. google.com/books?id=mFoJEAAAQBAJ&dq=top-down+method+wirth+stepwise+1971&pg=PA192 Software Engineering. Khanna Publishing House. p. 192. ISBN 978-81-906116-3-3. 
  13. Dooley, John F. (25 de noviembre de 2017). id=LGRADwAAQBAJ&dq=top-down+method+wirth+stepwise&pg=PA54 Software Development, Design and Coding: Con patrones, depuración, pruebas unitarias y refactorización. Apress. p. 54. ISBN 978-1-4842-3153-1. 
  14. Brooks, Frederick P. (Frederick Phillips) (1975). El mítico hombre-mes. Reading, Mass. : Addison-Wesley Pub. Co. p. 143. ISBN 978-0-201-00650-6. 
  15. {«Niklaus Wirth: 1984 ACM A. M. Turing Award Recipient». Communications of the ACM 28 (2). February 1985. doi:10.1145/1283920.1283941. 
  16. Wirth, Niklaus (8 de enero de 1973). Programación sistemática: Una introducción. Prentice-Hall. ISBN 0-13-880369-2. 
  17. Abrahams, Paul; Wirth, Niklaus (July 1974). «Programación sistemática: An Introduction». Mathematics of Computation 28 (127): 881. JSTOR 2005728. doi:10.2307/2005728. 
  18. Wirth, Niklaus (1973). «Cover flap». Programación Sistemática: An Introduction. Prentice-Hall. ISBN 0-13-880369-2. 
  19. Abrahams, Paul (July 1974). «Systematic Programming: An Introduction by Niklaus Wirth». Mathematics of Computation (American Mathematical Society) 28 (127): 881-883. JSTOR 2005728. doi:10.2307/2005728. 
  20. Pascal User Manual and Report Second Edition. 
  21. «Kathleen Jensen's Speech at the Wirth Symposium (20.02.2014)». YouTube. 25 February 2014. Archivado desde el original el 6 January 2024. Consultado el 6 January 2024. 
  22. Wirth, Niklaus (1973), The programming language Pascal (Revised Report) (en inglés), ETH Zurich, pp. 49 p, doi:10.3929/ethz-a-000814158, hdl:20.500.11850/68910 .
  23. * https://www.researchgate.net/scientific-contributions/Kathleen-Jensen-2058521472 (enlace roto disponible en este archivo).
    • https://dl.acm.org/profile/81334487416 (enlace roto disponible en este archivo).
    • https://dblp.org/pid/06/5848.html (enlace roto disponible en este archivo).
  24. Joy, William N.; Graham, Susan L.; Haley, Charles B. (1979). Berkeley Pascal User's Manual, Version 1.1, April, 1979. University of California, Berkeley. Department of Electrical Engineering and Computer Sciences. Archivado desde el original el 8 January 2024. Consultado el 8 January 2024. 
  25. Blotnick, Srully (July 1983). «Don't Fail Me Now». Pascal News (26): 26. Archivado desde el original el 5 January 2024. Consultado el 3 January 2024. 
  26. Hartel, Pieter H. (May 1982). «Pascal for systems programmers». ECODU-32. Archivado desde el original el 22 March 2020. Consultado el 3 January 2024. 
  27. Citations collected por la Association for Computing Machinery (ACM)
  28. a b Wirth, Niklaus (1986). «Preface to the 1986 edition». Algorithms & Data Structures. Prentice-Hall. p. 9. ISBN 978-0-13-022005-9. «El principal cambio que afecta todo el texto es el idioma de programación utilizado para expresar los algoritmos. Pascal ha sido reemplazado por Modula-2 
  29. a b Wirth, Niklaus. «Algorithms and Data Structures». ETH Zürich. Archivado desde el original el 17 April 2021. Consultado el 4 January 2024. «© N. Wirth 1985 (Oberon version: August 2004).» 
  30. Abrahams, Paul (July 1974). «Systematic Programming: An Introduction by Niklaus Wirth». Mathematics of Computation (American Mathematical Society) 28 (127): 881-883. JSTOR 2005728. doi:10.2307/2005728. 
  31. Reiser, Martin; Wirth, Niklaus (1992). Programming in Oberon: Steps Beyond Pascal and Modula. Addison-Wesley, ACM Press. ISBN 978-0-201-56543-0. 
  32. «Niklaus Wirth». acatech - National Academy of Science and Engineering (en inglés británico). Consultado el 4 de enero de 2024. 

Véase también

editar

Enlaces externos

editar
  • (en inglés) Biografía, en ETH Zürich.
  • (en inglés) Página personal en ETH Zürich.
  • (en inglés) Proyectos llevados a cabo por Niklaus Wirth.


Predecesor:
Ken Thompson, Dennis Ritchie
Premio Turing
1984
Sucesor:
Richard Karp
  •   Datos: Q92604
  •   Multimedia: Niklaus Wirth / Q92604


Error en la cita: Existen etiquetas <ref> para un grupo llamado «lower-roman», pero no se encontró la etiqueta <references group="lower-roman"/> correspondiente.