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]
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 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 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]
^ 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
^ "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 .
^ "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 .
^ 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.
^ "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 .
^ Henderson, Harry (2009). "Wirth, Niklaus". Enciclopedia de informática y tecnología . Infobase Publishing. pág. 514. ISBN978-1-4381-1003-5.
^ 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. ISBN978-3-932588-85-3.
^ 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 .
^ 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 .
^ "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 .
^ 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 .
^ 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 .
^ 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.
^ 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. ISBN978-3-932588-85-3.
^ 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 .
^ Wirth, Niklaus (1995). Diseño de circuitos digitales. Springer.
^ 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.ISBN978-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 .
^ 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 .
^ "ACM Fellows por año". acm.org . Archivado desde el original el 3 de enero de 2024 . Consultado el 3 de enero de 2024 .
^ "Premio a la investigación destacada". SIGSOFT . Consultado el 1 de abril de 2024 .
^ Wirth, Niklaus (febrero de 1995). "Un alegato a favor del software Lean". Computer . 28 (2): 64–68. doi :10.1109/2.348001. S2CID 44803077.
^ Wirth, Desarrollo de programas mediante refinamiento gradual, Comunicaciones de la ACM, 14:221–227, ACM Press, 1971
^ 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. ISBN978-3-642-48355-4.S2CID11348419 .
^ 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. ISBN978-1-4842-3153-1.
^ Brooks, Frederick P. (Frederick Phillips) (1975). El mes mítico del hombre. Reading, Mass.: Addison-Wesley Pub. Co. pág. 143. ISBN978-0-201-00650-6.
^ "Niklaus Wirth: Ganador del premio ACM AM Turing de 1984". Comunicaciones de la ACM . 28 (2). Febrero de 1985. doi :10.1145/1283920.1283941.
^ Wirth, Niklaus (8 de enero de 1973). Programación sistemática: una introducción . Prentice-Hall. ISBN0-13-880369-2.
^ 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.
^ Wirth, Niklaus (1973). "Solapa de la cubierta". Programación sistemática: una introducción . Prentice-Hall. ISBN0-13-880369-2.
^ 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.
^ Manual de usuario y informe de Pascal, segunda edición.
^ "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 .
^ 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.
^ * 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.
^ 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 .
^ 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 .
^ 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 .
^ ab Wirth, Niklaus (1986). "Prefacio a la edición de 1986". Algoritmos y estructuras de datos . Prentice-Hall. pág. 9. ISBN978-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 .
^ Wirth, Niklaus ; Gutknecht, Jürg (1992). Proyecto Oberon: El diseño de un sistema operativo y compilador (PDF) . Addison-Wesley, ACM Press. ISBN978-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.
^ Reiser, Martin; Wirth, Niklaus (1992). Programación en Oberon: pasos más allá de Pascal y Modula (PDF) . Addison-Wesley, ACM Press. ISBN978-0-201-56543-0. Archivado desde el original (PDF) el 16 de abril de 2016 . Consultado el 1 de junio de 2017 .Agotado.
^ 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
Wirth, Niklaus (abril de 1971). "Desarrollo de programas mediante refinamiento paso a paso". Comunicaciones de la ACM . 14 (4): 221–227. doi :10.1145/362575.362577. hdl : 20.500.11850/80846 . S2CID 13214445.
Wirth, N. (1974). "Sobre el diseño de lenguajes de programación" (PDF) . Proc. IFIP Congress 74 : 386–393.
El libro Proyecto Oberon – El diseño de un sistema operativo y un compilador. El libro sobre el lenguaje Oberon y el sistema operativo ya está disponible en formato PDF. El archivo PDF tiene un apéndice adicional Diez años después: de objetos a componentes .
Proyecto Oberon 2013 Segunda edición en línea del libro anterior adaptado para la reimplementación en hardware FPGA.