stringtranslate.com

Niklaus Wirth

Niklaus Emil Wirth (15 de febrero de 1934 - 1 de enero de 2024) fue un informático suizo . Diseñó varios lenguajes de programación , incluido Pascal , y fue pionero en varios temas clásicos de la ingeniería de software. En 1984, ganó el Premio Turing , generalmente reconocido como la máxima distinción en ciencias de la computación , "por desarrollar una secuencia de lenguajes informáticos innovadores". [4]

Vida temprana y educación

Niklaus Emil Wirth nació en Winterthur , Suiza, el 15 de febrero de 1934. [5]

Obtuvo una licenciatura en Ciencias (BS) en ingeniería electrónica del Instituto Federal Suizo de Tecnología, Zúrich (ETH Zürich) en 1959. En 1960, obtuvo una maestría en Ciencias (M.Sc.) de la Universidad Laval en Quebec . Luego, en 1963, recibió un doctorado en ingeniería eléctrica y ciencias de la computación (EECS) de la Universidad de California, Berkeley , supervisado por el pionero del diseño de computadoras Harry Huskey . [6]

Carrera

De 1963 a 1967, Wirth trabajó como profesor adjunto de informática en la Universidad de Stanford y de nuevo en la Universidad de Zúrich . En 1968, pasó a ser profesor de informática en la ETH de Zúrich, donde se tomó dos años sabáticos en Xerox PARC en California (1976-1977 y 1984-1985). Se jubiló en 1999. [6]

Aunque Wirth estuvo involucrado en el desarrollo de estándares internacionales en programación e informática, como miembro del Grupo de Trabajo 2.1 de la Federación Internacional para el Procesamiento de la Información (IFIP) sobre Lenguajes Algorítmicos y Cálculos, [7] que especificó , mantiene y soporta los lenguajes de programación ALGOL 60 y ALGOL 68 , [8] se frustró por las discusiones en los grupos de estándares y publicó sus lenguajes más tarde como trabajo personal, principalmente Pascal , Modula-2 y Oberon .

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

Lenguajes de programación

Wirth en 1969

Wirth fue el diseñador jefe de los lenguajes de programación Euler (1965), PL360 (1966), ALGOL W (1966), Pascal (1970), [10] Modula (1975), Modula-2 (1978), [6] Oberon (1987), Oberon-2 (1991) y Oberon-07 (2007). [11] También fue una parte importante del equipo de diseño e implementación de los sistemas operativos Medos-2 (1983, para la estación de trabajo Lilith ), [12] y Oberon (1987, para la estación de trabajo Ceres ), [13] [14] y para el sistema de diseño y simulación de hardware digital Lola (1995) . [15] [16]

En 1984, Wirth recibió el Premio Turing de la Asociación de Maquinaria Computacional (ACM) por el desarrollo de estos lenguajes. [17] En 1994, fue incluido como miembro de la ACM. [18]

En 1999 recibió el Premio ACM SIGSOFT a la Investigación Destacada [19]

Ley de Wirth

En 1995, popularizó el adagio que hoy se conoce como la ley de Wirth . En su artículo de 1995 "A Plea for Lean Software" (Un alegato a favor del software eficiente), atribuyó lo siguiente a Martin Reiser, quien lo expresó así: "El software se está volviendo más lento más rápidamente de lo que el hardware se vuelve más rápido". [20]

Publicaciones

El artículo de abril de 1971 de Communications of the ACM "Program Development by Stepwise Refinement", [21] [22] sobre la enseñanza de la programación, se considera un texto clásico en ingeniería de software. [23] Se considera que el artículo es el primer trabajo que describe formalmente el método descendente para diseñar programas. [24] [25] El artículo fue analizado 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 en relación con su premio Turing. [26] [27]

El libro de texto de 1973, Systematic Programming: An Introduction , [28] fue descrito como una fuente de calidad para los matemáticos que desean comprender la naturaleza de la programación en una revisión de 1974. [29] La solapa de la portada, de la edición de 1973, declaró que el libro "... está adaptado a 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 las necesidades inmediatas de aquellos que desean poder codificar ocasionalmente un problema y entregárselo a su computadora para una solución instantánea". [30] Descrito en la revisión como un texto desafiante para trabajar, sin embargo fue recomendado como lectura útil para aquellos interesados ​​​​en matemáticas numéricas. [31]

En 1974, The Pascal User Manual and Report , [32] escrito conjuntamente [i] con Kathleen Jensen, [35] sirvió como base para muchos esfuerzos de implementación del lenguaje en los años 1970 ( BSD Pascal [36] ) y 1980 en los Estados Unidos y en toda Europa. [37] [38]

En 1975, escribió el libro Algorithms + Data Structures = Programs , que obtuvo un amplio reconocimiento. [39] Las revisiones importantes de este libro con el nuevo título Algorithms & Data Structures se publicaron en 1986 y 2004. [40] [41] 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. [40] [41]

En 1992, Wirth y Jürg Gutknecht publicaron la documentación completa del sistema operativo Oberon. [42] Un segundo libro, con Martin Reiser, fue pensado como una guía de programación. [43]

Muerte

Wirth murió el día de Año Nuevo de 2024, a los 89 años. [44]

Véase también

Notas

  1. ^ El primer capítulo (Documentación) es un trabajo conjunto, que según Jensen ha sido editado por Wirth. [33] El segundo capítulo es de Wirth (también publicado por separado [34] ).

Referencias

  1. ^ "Ganadores del premio IEEE Emanuel R. Piore" (PDF) . IEEE . Archivado desde el original (PDF) el 24 de noviembre de 2010 . Consultado el 20 de marzo de 2021 .
  2. ^ "Niklaus Wirth 2004 Fellow". Museo de Historia de la Computación . Archivado desde el original el 3 de julio de 2019. Consultado el 1 de diciembre de 2017 .
  3. ^ Gosch, John (25 de octubre de 1979). Weber, Samuel (ed.). "Wirth trabaja para mejorar a Pascal" (PDF) . Perfil. Electrónica . Paul W. Reiss. pág. 157. ISSN  0013-5070. Archivado (PDF) desde el original el 20 de mayo de 2024. Consultado el 14 de agosto de 2024. [su familia] incluye dos niñas y un niño.
  4. ^ "Niklaus E. Wirth - Ganador del premio AM Turing". Association for Computing Machinery. 2019. Archivado desde el original el 29 de junio de 2017. Consultado el 8 de enero de 2024 .
  5. ^ Henderson, Harry (2009). "Wirth, Niklaus". Enciclopedia de informática y tecnología . Infobase Publishing. pág. 514. ISBN 978-1-4381-1003-5.
  6. ^ abc Pomberger, Gustav; Mössenböck, Hanspeter; Rechenberg, Peter (2000). "Niklaus Wirth: un pionero de la informática". La escuela de Niklaus Wirth: el arte de la simplicidad . Gulf Professional Publishing. pág. 6. ISBN 978-3-932588-85-3.
  7. ^ Jeuring, Johan; Meertens, Lambert ; Guttmann, Walter (17 de agosto de 2016). «Perfil del grupo de trabajo 2.1 del IFIP». Foswiki . Archivado desde el original el 8 de marzo de 2021. Consultado el 4 de octubre de 2020 .
  8. ^ Swierstra, Doaitse; Gibbons, Jeremy ; Meertens, Lambert (2 de marzo de 2011). "AlcanceEtc: IFIP21: Foswiki". Foswiki . Archivado desde el original el 2 de septiembre de 2018 . Consultado el 4 de octubre de 2020 .
  9. ^ "Niklaus Wirth: Becario 2004". Museo de Historia de la Computación (CHM) . Archivado desde el original el 3 de julio de 2019. Consultado el 15 de octubre de 2019 .
  10. ^ Petzold, Charles (9 de septiembre de 1996). «Programming Languages: Survivors and Wannabes». The New York Times . ISSN  0362-4331. Archivado desde el original el 9 de marzo de 2018. Consultado el 8 de marzo de 2018 .
  11. ^ Wirth, Niklaus (3 de mayo de 2016). El lenguaje de programación Oberon-07 (PDF) . ETH Zurich, Departamento de Informática (Informe). Archivado (PDF) del original el 21 de enero de 2021. Consultado el 17 de enero de 2021 .
  12. ^ Knudsen, Svend Erik (1983). Medos-2: a Modula-2 oriented operating system for the personal computer Lilith (Tesis doctoral). ETH Zurich. doi :10.3929/ethz-a-000300091. hdl :20.500.11850/137906. Archivado desde el original el 4 de enero de 2024 . Consultado el 4 de enero de 2024 . Estoy en deuda con el profesor N. Wirth por concebir y coordinar el proyecto Lilith, por darme la oportunidad de diseñar e implementar el sistema operativo Medos-2 y por supervisar esta tesis.
  13. ^ Franz, Michael (2000). "Oberon: La joya olvidada". En Böszörményi, László (ed.). La escuela de Niklaus Wirth: El arte de la simplicidad. Gulf Professional Publishing. págs. 42, 45. ISBN 978-3-932588-85-3.
  14. ^ Proven, Liam (29 de marzo de 2022). "El mundo salvaje de los sistemas operativos que no son C". The Register . Consultado el 4 de abril de 2024 .
  15. ^ Wirth, Niklaus (1995). Diseño de circuitos digitales. Springer.
  16. ^ Eberle, Hans (2000). "Diseño de una red de clústeres". En Böszörményi, László (ed.). La escuela de Niklaus Wirth: el arte de la simplicidad. Publicaciones profesionales del Golfo. pag. 154.ISBN 978-3-932588-85-3Esta clase también inspiró a Niklaus a desarrollar un lenguaje de descripción de hardware simple pero poderoso llamado Lola. Niklaus siempre ha construido los sistemas que investiga o enseña por sí mismo, ya que sabe que esta es la única forma de mantener a un ingeniero honesto y creíble .
  17. ^ Haigh, Thomas (1984). "Niklaus E. Wirth". Premio AM Turing . Association for Computing Machinery. Archivado desde el original el 19 de septiembre de 2017. Consultado el 15 de octubre de 2019 .
  18. ^ "ACM Fellows por año". acm.org . Archivado desde el original el 3 de enero de 2024 . Consultado el 3 de enero de 2024 .
  19. ^ "Premio a la investigación destacada". SIGSOFT . Consultado el 1 de abril de 2024 .
  20. ^ Wirth, Niklaus (febrero de 1995). "Un alegato a favor del software Lean". Computer . 28 (2): 64–68. doi :10.1109/2.348001. S2CID  44803077.
  21. ^ Wirth, Desarrollo de programas mediante refinamiento gradual, Comunicaciones de la ACM, 14:221–227, ACM Press, 1971
  22. ^ Wirth, Niklaus (2001). "Desarrollo de programas mediante refinamiento por pasos". En Broy, Manfred; Denert, Ernst (eds.). Pioneros y sus contribuciones a la ingeniería de software . Berlín, Heidelberg: Springer. doi :10.1007/978-3-642-48354-7. ISBN 978-3-642-48355-4.S2CID11348419  .​
  23. ^ Gehani, Narain (1991). Ada: Programación concurrente. Silicon Press. pág. 209. ISBN 978-0-929306-08-7.
  24. ^ Gill, Nasib Singh. Ingeniería de software. Editorial Khanna. pág. 192. ISBN 978-81-906116-3-3.
  25. ^ Dooley, John F. (25 de noviembre de 2017). Desarrollo, diseño y codificación de software: con patrones, depuración, pruebas unitarias y refactorización. Apress. p. 54. ISBN 978-1-4842-3153-1.
  26. ^ Brooks, Frederick P. (Frederick Phillips) (1975). El mes mítico del hombre. Reading, Mass.: Addison-Wesley Pub. Co. pág. 143. ISBN 978-0-201-00650-6.
  27. ^ "Niklaus Wirth: Ganador del premio ACM AM Turing de 1984". Comunicaciones de la ACM . 28 (2). Febrero de 1985. doi :10.1145/1283920.1283941.
  28. ^ Wirth, Niklaus (8 de enero de 1973). Programación sistemática: una introducción . Prentice-Hall. ISBN 0-13-880369-2.
  29. ^ Abrahams, Paul; Wirth, Niklaus (julio de 1974). "Programación sistemática: una introducción". Matemáticas de la computación . 28 (127): 881. doi :10.2307/2005728. JSTOR  2005728.
  30. ^ Wirth, Niklaus (1973). "Solapa de la cubierta". Programación sistemática: una introducción . Prentice-Hall. ISBN 0-13-880369-2.
  31. ^ Abrahams, Paul (julio de 1974). "Programación sistemática: una introducción de Niklaus Wirth". Matemáticas de la computación . 28 (127). Sociedad matemática americana : 881–883. doi :10.2307/2005728. JSTOR  2005728.
  32. ^ Manual de usuario y informe de Pascal, segunda edición.
  33. ^ "Discurso de Kathleen Jensen en el Simposio Wirth (20.02.2014)". YouTube . 25 de febrero de 2014. Archivado desde el original el 6 de enero de 2024 . Consultado el 6 de enero de 2024 .
  34. ^ Wirth, Niklaus (1973). El lenguaje de programación Pascal (Informe revisado) (Informe). ETH Zurich. pp. 49 p. doi :10.3929/ethz-a-000814158. hdl :20.500.11850/68910.
  35. ^ * https://www.researchgate.net/scientific-contributions/Kathleen-Jensen-2058521472 Archivado el 6 de enero de 2024 en Wayback Machine.
    • https://dl.acm.org/profile/81334487416 Archivado el 6 de enero de 2024 en Wayback Machine.
    • https://dblp.org/pid/06/5848.html Archivado el 6 de enero de 2024 en Wayback Machine.
  36. ^ Joy, William N.; Graham, Susan L.; Haley, Charles B. (1979). Manual del usuario de Berkeley Pascal, versión 1.1, abril de 1979. Universidad de California, Berkeley. Departamento de Ingeniería Eléctrica y Ciencias de la Computación. Archivado desde el original el 8 de enero de 2024 . Consultado el 8 de enero de 2024 .
  37. ^ Blotnick, Srully (julio de 1983). "Don't Fail Me Now" (PDF) . Pascal News (26): 26. Archivado (PDF) del original el 5 de enero de 2024. Consultado el 3 de enero de 2024 .
  38. ^ Hartel, Pieter H. (mayo de 1982). «Pascal para programadores de sistemas» (PDF) . ECODU-32. Archivado (PDF) del original el 22 de marzo de 2020. Consultado el 3 de enero de 2024 .
  39. ^ Citas recopiladas por la Association for Computing Machinery (ACM)
  40. ^ ab Wirth, Niklaus (1986). "Prefacio a la edición de 1986". Algoritmos y estructuras de datos . Prentice-Hall. pág. 9. ISBN 978-0-13-022005-9El cambio más importante que se percibe en todo el texto se refiere al lenguaje de programación utilizado para expresar los algoritmos. Pascal ha sido reemplazado por Modula-2 .
  41. ^ ab Wirth, Niklaus. "Algoritmos y estructuras de datos" (PDF) . ETH Zürich. Archivado (PDF) del original el 17 de abril de 2021. Consultado el 4 de enero de 2024. © N. Wirth 1985 (versión de Oberon: agosto de 2004).
  42. ^ Wirth, Niklaus ; Gutknecht, Jürg (1992). Proyecto Oberon: El diseño de un sistema operativo y compilador (PDF) . Addison-Wesley, ACM Press. ISBN 978-0-201-54428-2. Archivado desde el original (PDF) el 12 de abril de 2013.Agotado. Versión en línea de una 2.ª edición. Archivado el 5 de abril de 2014 en Wayback Machine . Edición de 2005, PDF. Archivado el 8 de julio de 2021 en Wayback Machine.
  43. ^ Reiser, Martin; Wirth, Niklaus (1992). Programación en Oberon: pasos más allá de Pascal y Modula (PDF) . Addison-Wesley, ACM Press. ISBN 978-0-201-56543-0. Archivado desde el original (PDF) el 16 de abril de 2016 . Consultado el 1 de junio de 2017 .Agotado.
  44. ^ Proven, Liam (4 de enero de 2024). «RIP: Niklaus Wirth, pionero del diseño de software y creador de Pascal». The Register . Archivado desde el original el 7 de enero de 2024. Consultado el 6 de enero de 2024 .

Lectura adicional

Enlaces externos