2 puntos por GN⁺ 2024-01-04 | 2 comentarios | Compartir por WhatsApp

2 comentarios

 
bus710 2024-01-06

Kent Beck también dejó un recuerdo sobre el profesor Niklaus Wirth.
https://tidyfirst.substack.com/p/niklaus-wirth-1934-2024

Que incluso el profesor Joe Armstrong haya sido influenciado por el profesor Niklaus Wirth hace pensar que realmente debió de haber sido una persona impresionante.

 
GN⁺ 2024-01-04
Opiniones de Hacker News
  • Además de sus aportes al diseño de lenguajes, Niklaus Wirth dejó uno de los mejores juegos de palabras.
    Su apellido originalmente se pronuncia algo parecido a “Virt”, pero en Estados Unidos todos lo llamaban “Worth”, así que bromeaba diciendo que “en Europa lo llaman por su nombre, y en Estados Unidos por su valor”.

    • Este chiste se originó cuando Adriaan van Wijngaarden presentó a Wirth en una conferencia en los años 60.
      Si hubiera un video de la reacción del público en ese momento, me encantaría verlo.
      https://en.wikiquote.org/wiki/Niklaus_Wirth
      https://lists.racket-lang.org/users/archive/2014-July/063519...
    • En realidad, este chiste funciona bien solo si se usa también el nombre.
      Porque “by value” se pronuncia de una forma que suena, combinando nombre y apellido, como Nickles Worth.
    • Tenía fama de ser una persona de comentarios ingeniosos.
  • Además de sus numerosos logros, Wirth era un héroe para Joe Armstrong e influyó mucho en la simplicidad al estilo Armstrong.
    Joe citaba a menudo a Wirth diciendo que “las ventanas superpuestas pueden ser mejores que las ventanas en mosaico, pero no lo suficiente como para justificar el costo de complejidad de implementarlas”.
    También fue impresionante que, en el simposio por su cumpleaños número 80 en ETH, mostrara un nuevo port de Oberon a un CPU hecho por él mismo que corría sobre una placa de desarrollo FPGA cualquiera y periféricos USB; ojalá algún día yo llegue a ser así a los 80.

    • Wirth era legendario por esa actitud de “no es tanto mejor”.
      Su postura sobre la optimización de compiladores era similar: creía que solo debía agregarse una pasada de optimización cuando mejorara el tiempo de autocompilación del compilador.
      Oberon también soportaba deliberadamente solo multitarea cooperativa.
    • La charla del simposio por su cumpleaños número 80 en ETH, donde mostró Oberon portado a un CPU hecho por él y a una placa FPGA, fue excelente.
      https://www.youtube.com/watch?v=EXY78gPMvl0
    • Según su hija, incluso mucho después de los 80 seguía construyendo cosas y experimentando en casa.
    • Es una meta que bien podría llamarse “Wirthwhile ambition”.
      Al principio escribí “worthwhile”, pero el juego de palabras casi se salía de la pantalla.
      Me gustan no solo los lenguajes de Wirth, sino también trabajos como Algoritmos + estructuras de datos = programas y el refinamiento gradual.
      Pascal fue uno de mis primeros lenguajes, como para mucha gente, y todavía me gusta en forma de Delphi y Free Pascal.
      RIP, guruji.
      Cambié guru por guruji porque en hindi ji es un sufijo honorífico y, por supuesto, guru en sí ya es una palabra que implica respeto.
  • Fui un antiguo alumno suyo.
    Fue una de las personas que me transformó de un adolescente que tecleaba hasta hacer que cualquier cosa funcionara en un programador competente que piensa antes de programar.
    Incluso antes de conocerlo en la universidad, ya programaba en Oberon porque en el mundo Amiga había muchos programadores que usaban lenguajes de Wirth, y lo voy a extrañar mucho.

    • Yo también fui alumno suyo y, más tarde, como estudiante de posgrado en otro instituto, lo vi algunas veces en privado.
      Todos los estudiantes de pregrado lo veneraban, pero no parecía disfrutar especialmente las clases de pregrado.
      Sin embargo, a diferencia de otros profesores, no intentaba descargar esa responsabilidad en los asistentes, y parecía tener una buena relación con los estudiantes de posgrado.
      En la clase de construcción de compiladores se lo veía más involucrado, quizá porque los estudiantes ya tenían algo más de experiencia y porque en ese momento estaba iterando sobre el diseño de Oberon.
      En el examen oral me pidió resolver el problema del dangling ELSE de Pascal, y respondí que resolvería la ambigüedad refinando la gramática del lenguaje.
      Dijo que probablemente funcionaría, pero que era demasiado complicado, y me preguntó de dónde había sacado esa idea; al final confesé que la había visto en el “Dragon Book”, que era casi un competidor de su libro de texto.
      Solo después me di cuenta de que la respuesta que quería era cambiar el lenguaje para exigir un END explícito, como en Modula-2 y Oberon.
      En privado era una persona muy entretenida para conversar y tenía muchísimas anécdotas sobre computadoras.
      En público podía parecer algo dogmático, pero en privado era mucho más tolerante con las “herejías”.
      Una vez salió el tema de Perl y no esperaba que dijera nada bueno, pero, para mi sorpresa, consideraba que un lenguaje de pattern matching/procesamiento de texto tenía un nicho válido, y mencionó SNOBOL como un lenguaje anterior de esa familia.
    • Me da curiosidad cuáles eran esos lenguajes.
      Acabo de restaurar una Amiga 500 con Workbench 2.1 instalado y quisiera honrar su memoria.
    • Amiga fue una de las plataformas donde había bastantes usuarios de Modula-2, incluso más que en PC.
      Porque el mundo PC estaba acostumbrado a Turbo Pascal.
  • begin
    Una noticia realmente triste.
    Me pregunto si hay una fuente mejor que Twitter.
    Edición: https://lists.inf.ethz.ch/pipermail/oberon/2024/016856.html
    Wirth fue el último gran apóstol que quedaba de la simplicidad, la corrección y el software comprensible para las personas; ahora solo quedan Hoare y Moore, y parece que Moore también le cedió el control efectivo de GreenArrays a una generación más joven.
    Es posible que los más jóvenes no sepan qué significó su trabajo no solo en lo académico, sino también en la práctica, así que dejo algunos datos.
    El entorno de desarrollo integrado tal como lo conocemos hoy nació con Turbo Pascal; gran parte del software inicial de Macintosh se escribió en Pascal, y MacPaint es un ejemplo.
    Robert Griesemer, uno de los tres diseñadores originales de Go, fue alumno de Wirth y se doctoró con una extensión de Oberon; los lenguajes de Wirth también fueron una inspiración muy clara para el diseño de Newsqueak.
    TeX también está escrito en Pascal.
    end;
    end.

    • El software simple, correcto y bello se sigue creando, y Wirth no fue el último.
      Solo que la mayor parte no recibe atención, y su canción silenciosa queda tapada por el ruido del software enorme, complejo y frágil que acapara las miradas.
      Esa canción nunca desapareció; solo hay que sintonizar la frecuencia.
    • Todavía no parece haber una fuente mejor, pero es la cuenta real de Bertrand Meyer, creador del lenguaje Eiffel.
    • Martin Odersky, creador de Scala y alumno de Wirth, también parece darlo por cierto.
      https://twitter.com/odersky/status/1742618391553171866
    • Todavía le tengo mucho cariño a la tesis doctoral del alumno de Wirth Michael Franz, que leí por primera vez en 1994.
      Actualmente es profesor en UC Irvine, y también dirigió la tesis de Andreas Gal sobre trace trees, que más tarde se convirtió en TraceMonkey.
    • Si hablamos de la categoría de apóstoles de la simplicidad, la corrección y el software comprensible para las personas, Alan Kay también sigue entre nosotros.
  • Niklaus Wirth también fue quien cambió el título del artículo de Dijkstra a Goto Statement Considered Harmful.
    https://en.wikipedia.org/wiki/Considered_harmful#cite_ref-6

    • Hay un pasaje relacionado que el propio Dijkstra dejó en EWD1308.
      En 1968, Communications of the ACM publicó su texto con el título “The goto statement considered harmful”, y desde entonces ese texto, lamentablemente, ha sido citado con frecuencia por autores que solo leyeron el título, convirtiéndose en una piedra angular de su reputación y en el prototipo de la fórmula de título “X considered harmful”.
      Originalmente había enviado el artículo con el título “A case against the goto statement”, pero, para acelerar la publicación, el editor lo convirtió en una “carta al editor” y le puso un nuevo título según su propio criterio; ese editor era justamente Niklaus Wirth.
      [1] Transcripción - https://www.cs.utexas.edu/%7EEWD/transcriptions/EWD13xx/EWD1...
      PDF - https://www.cs.utexas.edu/%7EEWD/ewd13xx/EWD1308.PDF
  • El profesor Wirth fue una gran inspiración para mí cuando era niño.
    En aquel entonces no entendía del todo lo elegantes y simples que eran sus libros sobre Pascal, pero los leí con mucho empeño, y también seguí con interés el desarrollo del lenguaje Oberon y de la estación de trabajo Lilith.
    Cuando tenía 13 años, dio una charla no muy lejos de donde vivíamos, creo que quizá en Johns Hopkins, y mi padre me llevó.
    Fue una experiencia realmente fantástica y, como se ve en la foto enlazada[1], fue muy amable y alentador.
    [1]: https://mastodon.online/@raph/111693863925852135

  • Un día triste.
    Fue un gigante de la computación y merecía mucha más atención de la que recibió.
    Muchas cosas habrían sido mejores si sus lenguajes se hubieran usado más ampliamente en el desarrollo de software.
    Después de tocar un poco Basic en la C64/128, el primer lenguaje de programación “de verdad” que aprendí fue Pascal.
    Lo aprendí con UCSD Pascal en las Apple II de la escuela y con Turbo Pascal 3.0 en una IBM PC; esa PC todavía no era una máquina sofisticada como una AT, sino una PC portátil con CRT ámbar integrado.
    Cuando compré una Amiga 500, Modula-2 era muy popular en Amiga, y el sistema M2Amiga era, de hecho, el entorno de desarrollo más sólido.
    Modula-2 hacía fácil crear programas estructurados y robustos, y el concepto de módulos estaba adelantado a su época.
    Contrasta con el mundo de C, que siguió recompilando archivos de cabecera durante mucho tiempo después.
    Hoy Go tomó muchas cosas de Modula-2, y por eso me atrajo de inmediato.
    No es casualidad que Robert Griesemer haya sido alumno de Wirth.
    Incluso en los 90, mientras se usaba MS-DOS, Turbo Pascal era el lenguaje principal de todos en PC.
    Era potente y, aun así, accesible para quienes no eran desarrolladores de software de tiempo completo; incorporó muchas extensiones de Modula-2 y también tenía un buen sistema de objetos.
    Alcanzó su punto máximo en las versiones 6 y 7, y, por la velocidad abrumadora de su UI puramente basada en texto, quizá siga siendo hasta hoy mi entorno de desarrollo favorito.
    Turbo Pascal combinaba un buen entorno de desarrollo con un lenguaje que lograba un excelente equilibrio entre potencia y simplicidad.
    Lamentablemente, conocí solo de forma vaga su trabajo posterior, Oberon.
    Levanté el sistema Oberon de forma nativa en una 386 y jugué un poco con él; su eficiencia y la GUI completa para una época en la que la PC estaba en la era de DOS eran extremadamente impresionantes.
    Es una lástima que no recibiera más atención.
    Si hubiera tomado impulso a fines de los 80, no demasiado tarde, podría haber tenido mucho éxito, pero a comienzos de los 90 apareció Windows.
    Desde un punto de vista purista, la cima fue cuando realmente se ganó el título de desarrollador full-stack.
    Porque no solo diseñó Oberon y el sistema operativo, sino también la CPU que los ejecutaba.
    Fue muy impresionante y también tuvo un gran valor educativo.
    END.

  • Wirth fue el diseñador principal de Euler, PL360, ALGOL W, Pascal, Modula, Modula-2, Oberon, Oberon-2 y Oberon-07.
    También participó de forma clave en el diseño y la implementación de Medos-2 para la estación de trabajo Lilith, del sistema operativo Oberon para la estación de trabajo Ceres, y del sistema de diseño y simulación de hardware digital Lola.
    En 1984 recibió el ACM Turing Award por el desarrollo de estos lenguajes.

    • Todavía me pregunto cómo sería distinto el mundo tecnológico actual si Wirth hubiera tenido el instinto de marketing de llamar a Modula Pascal 2.
    • Me gusta bastante Lola.
      Es un lenguaje de descripción de hardware fácil de aprender, influido por Pascal/Oberon, en contraste con Verilog, inspirado en C, o VHDL, inspirado en Ada.
      También me gusta todo el stack de software de Wirth.
      RISC-5, implementado en Lola, no debe confundirse con RISC-V; encima de él están el lenguaje Oberon y el entorno Oberon.
      Si no recuerdo mal, Lola podía generar Verilog, y la idea parecía ser permitir que los estudiantes empezaran con una placa FPGA y construyeran su propia CPU, compilador y sistema operativo.
      También me gustan sus frases ingeniosas.
      Creo que dijo algo como: “Soy un profesor que es programador, y un programador que es profesor”.
      Necesitamos más programadores/profesores así, y sin duda es una inspiración para la gente de sistemas.
    • También colaboró con Apple en el diseño inicial de Object Pascal, y sus estudiantes llevaron a cabo varios proyectos de investigación derivados de Oberon, como Component Pascal, Active Oberon y Zonnon.
    • En mis dos primeros semestres de programación en la universidad aprendí Pascal y MODULA-2.
      MODULA-2 desapareció poco después, pero Pascal todavía se usa en cursos introductorios de programación.
      Me alegra mucho que esos hayan sido los lenguajes que me introdujeron a la programación, y Wirth ocupa un lugar muy especial en mi corazón.
      Sus diseños estaban verdaderamente adelantados a su época.
    • El segundo lenguaje que aprendí, después de Basic, fue Pascal.
      Siempre quise aprender Modula también, pero en su lugar aprendí Delphi.
  • Empecé mi primera empresa basada en Delphi, y Delphi estaba basado en Turbo Pascal.
    Wirth fue una gran inspiración, y su fallecimiento de ninguna manera es una pérdida menor.
    Espero que su trabajo siga inspirando a nuevas generaciones de programadores.
    Una de sus frases dice: “Los europeos suelen pronunciar mi nombre correctamente como ‘Ni-klows Wirt’, pero los estadounidenses lo destrozan invariablemente como ‘Nick-les Worth’. Es decir, los europeos me llaman por mi nombre, y los estadounidenses por mi valor”.

    • Sí.
      Escribí mi tesis de licenciatura sobre llevar modularidad a un lenguaje para monitoreo de sistemas en tiempo real, y me inspiré mucho en su trabajo, especialmente en MODULA-2.
    • Wirth pudo haber adoptado esa cita, pero en realidad comenzó como una ocurrencia de alguien que lo presentaba en una conferencia.
      https://news.ycombinator.com/item?id=38858993
  • Es un día triste para la historia de la computación, y perdimos a un gran diseñador de lenguajes que mostró a muchos una mejor forma de abordar la programación de sistemas.

    • Es triste, pero vivió una vida larga y plena con la que mucha gente solo sueña.
      Quisiera brindar por esa vida y espero que esté en algún Valhalla del código.
    • Yo no estoy tan triste.
      La muerte es parte de la vida.
      Es mucho más triste cuando la vida se desmorona por Alzheimer, demencia, o simplemente al volverse lenta y frágil; cuando termina demasiado pronto; o cuando se desperdicia.
      Estaba por cumplir 90 años y vivió una vida larga, influyente y plena.
      Una vida así merece celebrarse.