Niklaus Emil Wirth fue una de las figuras que mejor demostró que un lenguaje de programación no necesita ser enorme para ser poderoso. Durante décadas persiguió una idea aparentemente sencilla y, al mismo tiempo, difícil de llevar a la práctica: diseñar lenguajes y sistemas que fueran comprensibles, económicos y suficientemente potentes sin acumular complejidad innecesaria.
Su nombre está unido para siempre a Pascal, pero reducir su carrera a ese lenguaje sería quedarse muy corto. Wirth diseñó o participó en el diseño de Euler, PL360, ALGOL W, Pascal, Modula, Modula-2, Oberon y Lola; trabajó en compiladores, sistemas operativos y estaciones de trabajo; escribió libros que marcaron la enseñanza de programación y contribuyó de forma decisiva al desarrollo de la informática académica en Suiza.
Formación y primeros años
Niklaus Wirth nació el 15 de febrero de 1934 en Winterthur, Suiza. Estudió ingeniería eléctrica en ETH Zürich y obtuvo su diploma en 1959. Un año después completó una maestría en la Université Laval, en Canadá, y en 1963 obtuvo el doctorado en la University of California, Berkeley, bajo la dirección de Harry Huskey.
En Berkeley entró de lleno en el mundo de los computadores, los compiladores y los lenguajes de programación. Después trabajó como profesor asistente en Stanford entre 1963 y 1967 y posteriormente en la Universidad de Zúrich. En 1968 regresó a ETH Zürich como profesor de ciencias de la computación, institución en la que desarrolló la mayor parte de su carrera hasta su jubilación en 1999.
Durante su trayectoria tuvo además dos períodos de estancia en Xerox PARC, en 1976–1977 y 1984–1985. Aquellas visitas tuvieron una influencia importante en su visión sobre estaciones de trabajo, interfaces gráficas y sistemas interactivos.
De ALGOL a Pascal
Wirth comenzó a trabajar en diseño de lenguajes cuando muchas de las ideas que hoy consideramos normales todavía estaban siendo definidas. Participó en el desarrollo de Euler, trabajó con PL360 y diseñó ALGOL W, una evolución de ALGOL 60 que incorporaba ideas sobre tipos y estructuras que después reaparecerían en su trabajo.
Ese proceso desembocó en Pascal, publicado en 1970. ETH Zürich explica que ALGOL W fue una base directa para Pascal, y la propia evolución del lenguaje refleja una preocupación constante de Wirth: ofrecer construcciones suficientemente claras para enseñar a pensar de forma estructurada.
Pascal: enseñar a programar pensando con claridad
Pascal fue diseñado con una finalidad educativa muy marcada. Wirth quería un lenguaje pequeño y coherente que permitiera enseñar programación estructurada, tipos de datos y construcción disciplinada de algoritmos sin obligar al estudiante a navegar por una sintaxis innecesariamente complicada.
El lenguaje tuvo una adopción enorme en universidades y centros de enseñanza. Para varias generaciones, Pascal fue el primer contacto serio con programación estructurada. Su influencia también llegó mucho más allá de las aulas: aparecieron numerosos compiladores, extensiones y descendientes.
De esa tradición surgirían herramientas y dialectos como Object Pascal y, posteriormente, Delphi. Aunque Delphi no fue creado por Wirth, conserva una clara línea histórica con Pascal y ayuda a entender hasta qué punto aquellas decisiones de diseño siguieron teniendo vida décadas después.
Modula, Modula-2 y Oberon: simplificar para avanzar
Wirth no consideraba Pascal una obra terminada que debiera permanecer congelada. Conforme cambiaban los problemas del software, fue desarrollando nuevos lenguajes y revisando sus propias ideas.
- Modula exploró una organización más explícita de los programas en módulos y la programación multiproceso.
- Modula-2, desarrollado alrededor de 1980, refinó esa filosofía y proporcionó módulos, separación de interfaces e implementación y mecanismos adecuados para programación de sistemas y concurrencia.
- Oberon, presentado en 1988, volvió a reducir el lenguaje a un núcleo pequeño, incorporando extensión de tipos y una forma contenida de programación orientada a objetos.
Oberon no fue solo un lenguaje. Wirth y Jürg Gutknecht construyeron alrededor de él un sistema operativo y un entorno completo. La idea era demostrar que un sistema útil, interactivo y autocontenido podía construirse con una cantidad sorprendentemente pequeña de código si la arquitectura se mantenía coherente.
En una entrevista de ETH, Wirth resumió esa búsqueda como un objetivo de toda su vida: crear un lenguaje tan potente como fuera posible y, al mismo tiempo, tan simple como fuera posible. Oberon fue para él el último eslabón de esa cadena.
Lilith: cuando el lenguaje se encuentra con el hardware

Después de trabajar con la Xerox Alto durante una estancia en PARC en 1976–1977, Wirth regresó a Suiza convencido de que la computación interactiva con pantalla gráfica y mouse representaba el futuro. En ETH impulsó entonces el desarrollo de una estación de trabajo propia: Lilith.
Lilith fue desarrollada entre 1978 y 1980 por Wirth y su equipo. Incorporaba una pantalla gráfica de alta resolución, mouse y un entorno con ventanas, iconos y menús emergentes cuando este tipo de interacción todavía era poco habitual fuera de los grandes centros de investigación.
El software del sistema fue escrito en Modula-2. Esta relación entre lenguaje, compilador, sistema operativo y máquina era esencial para Wirth: no veía cada capa como un mundo aislado, sino como partes de un mismo diseño que debían poder entenderse conjuntamente.
ETH utilizó decenas de equipos Lilith durante los años ochenta para investigación, docencia y trabajo administrativo. Aunque los intentos de comercialización no prosperaron, el proyecto se convirtió en una plataforma fundamental para la investigación informática del departamento.
Ceres y la construcción de sistemas completos
La idea de construir sistemas completos continuó con Ceres, una estación de trabajo desarrollada en ETH y presentada en 1986 junto con Hans Eberle. Estos proyectos mostraban que Wirth no era simplemente un diseñador de sintaxis: se consideraba ante todo un ingeniero y quería comprender y controlar la cadena completa, desde el hardware hasta las aplicaciones.
Lola y el diseño de hardware
En la década de 1990 Wirth llevó esa filosofía todavía más cerca del hardware mediante Lola, un lenguaje de descripción lógica para especificar circuitos digitales. Lola se utilizó en ETH tanto en enseñanza como en herramientas para diseño de circuitos y componentes programables.
A diferencia de un lenguaje de programación convencional, un lenguaje de descripción de hardware no describe simplemente una secuencia de instrucciones: representa estructuras y relaciones físicas o lógicas que pueden convertirse en circuitos. Para Wirth era otra forma de reducir la distancia conceptual entre software y hardware.
Algorithms + Data Structures = Programs
Uno de sus libros más conocidos lleva un título que se convirtió casi en una fórmula: Algorithms + Data Structures = Programs, publicado originalmente en 1976.
La idea continúa siendo útil porque recuerda algo que a veces se pierde cuando la enseñanza se concentra demasiado en la sintaxis: un programa no es únicamente una secuencia de instrucciones. La elección de estructuras de datos y el algoritmo que opera sobre ellas están profundamente relacionados.
El Premio Turing de 1984
En 1984 la Association for Computing Machinery concedió a Niklaus Wirth el ACM A.M. Turing Award. La cita oficial destacó el desarrollo de una secuencia de lenguajes innovadores: Euler, ALGOL W, Modula y Pascal, y señaló especialmente la importancia pedagógica de Pascal y su influencia posterior en lenguajes, sistemas y arquitectura.
Wirth recibió además numerosos reconocimientos durante su carrera. Entre ellos estuvo el IEEE Computer Society Computer Pioneer Award de 1987 por Pascal.
La llamada “ley de Wirth” y la historia real de la frase
Con frecuencia se llama ley de Wirth a la idea de que “el software se vuelve más lento con mayor rapidez de la que el hardware se vuelve más rápido”. La frase representa muy bien la preocupación de Wirth por el crecimiento descontrolado de programas y sistemas.
Sin embargo, la atribución merece un matiz. En textos posteriores Wirth se refirió explícitamente a esta observación como “Reiser’s law”, por Martin Reiser. En materiales docentes de ETH también aparece la formulación de Reiser de 1991 —el software tiende a superar al hardware en tamaño y lentitud— y una paráfrasis posterior de Wirth en su artículo de 1995 A Plea for Lean Software.
Por eso resulta más correcto decir que la frase quedó popularmente asociada a Wirth porque la difundió y porque encajaba perfectamente con su filosofía de ingeniería, no que necesariamente fuera una máxima que él reclamara como creación propia.
La preocupación de fondo sí fue inequívocamente suya: los procesadores más rápidos y la memoria más barata no deberían servir de excusa para diseñar software innecesariamente pesado, difícil de comprender o ineficiente.
Su papel en la informática de ETH Zürich
La influencia de Wirth tampoco se limitó a sus proyectos técnicos. En 1981 participó, junto a Carl August Zehnder, Jürg Nievergelt y Peter Läuchli, en la creación de la división independiente de informática de ETH y del correspondiente programa de estudios, base del actual Department of Computer Science.
Durante décadas formó a generaciones de estudiantes y ayudó a establecer la informática como disciplina académica independiente en Suiza. ETH considera sus contribuciones fundamentales para el desarrollo del departamento y de la enseñanza de ciencias de la computación en el país.
Fallecimiento y legado
Niklaus Wirth falleció el 1 de enero de 2024, pocas semanas antes de cumplir 90 años. Tenía 89 años.
Su legado es difícil de encerrar en un solo producto. Pascal marcó la enseñanza de programación; Modula-2 y Oberon continuaron explorando modularidad y diseño de sistemas; Lilith y Ceres demostraron su interés por el computador completo; Lola acercó el diseño de lenguajes al hardware; y sus libros transmitieron una forma de pensar que privilegiaba claridad, estructuras bien definidas y soluciones que pudieran ser comprendidas por quienes las construían.
Tal vez esa sea la parte más vigente de su trabajo. En una industria donde cada generación dispone de más memoria, más núcleos y más potencia, Wirth insistió durante toda su carrera en una pregunta mucho más incómoda: ¿podemos resolver el problema de una manera más simple?
Para continuar por la parte técnica puedes leer Los lenguajes de programación, sus tipos y clasificaciones y nuestro artículo sobre Delphi y Object Pascal. También puedes visitar la sección de personalidades famosas en el mundo de la informática.
Fuentes y referencias
- ETH Zürich — Computer pioneer Niklaus Wirth has died
- ETH Zürich, Department of Computer Science — Niklaus Wirth
- ETH Zürich — 50 years of Pascal
- ETH Zürich — From the archives: Lilith workstation
- ACM — Niklaus Wirth, A.M. Turing Award
- IEEE Computer Society — Niklaus Wirth
- Niklaus Wirth — personal archive at ETH Zürich
- Niklaus Wirth — A Brief History of Software Engineering
- ETH Research Collection — Lola system notes
Este artículo forma parte de nuestra serie dedicada a las personas que ayudaron a construir la informática que conocemos hoy.
