WIRTH, Niklaus
Descripción
Niklaus Emil Wirth [Winterthur (Suiza), 1934]. Doctor Ingeniero en Electrónica y en Informática suizo. Pionero en ingeniería de software. Diseñó los lenguajes de programación como Pascal, Modula y Oberon. En particular, el Pascal llegó a ser el lenguaje más utilizado en el mundo. En 1984 recibió el premio Turing, la más alta distinción en ciencias de la computación, por sus desarrollos.
Biografía
Niklaus Emil Wirth nació en Winterthur, en el cantón de Zurich, Suiza, el 15 de febrero de 1934. Su padre era profesor de Geografía en un Instituto de Enseñanza Media. El joven Niklaus tenía su propio espacio donde construía modelos de avión y experimentaba en su laboratorio de Química
En 1959, a la edad de 25 años, se licenció en Ingeniería Electrónica en la Escuela Politécnica Federal de Zurich (Eidgenössische Technische Hochschule Zürich), conocida como la ETH.
Al año siguiente se casó y viajó con su esposa a París, prosiguió viaje al puerto de Le Havre, donde tomaron un barco con destino a Nueva York. Su mejor amigo se lo llevó a Canadá y se matriculó en la Universidad Laval de Quebec, donde logró un máster (M.Sc.) en Ingeniería Electrónica.
En 1963, se trasladó a California, doctorándose en Lenguajes de Programación de Ciencias de la Computación por la Universidad de California en Berkeley, dirigido por el pionero en diseño de ordenadores Harry Huskey.
Niklaus Wirth, en el periodo 1964 a 1967, fue profesor ayudante de informática en la Universidad de Stanford (California). Participó en los trabajos del grupo Algol (Algorithmic Language) de la IFIP (Federación Internacional para el Procesamiento de la Información), con el objeto de mejorar el Algol 60, pionero en el desarrollo de la sintaxis en los lenguajes. En 1965, con Helmut Weber, diseñó el lenguaje de programación Euler, basado en su tesis doctoral, como una extensión y generalización del Algol 60. Dejó el grupo Algol y con Tony Hoare definió el ensamblador de alto nivel PL360, destinado a los ordenadores IBM 360. Partiendo del PL360, Wirth creó el Algol-W.
En 1968 regresó a Suiza y se incorporó a la ETH de Zurich como profesor de Informática, integrándose en un grupo para el estudio de la metodología de programación.
En 1971, publicó “Program Development by Stepwise Refinement”, un texto todavía clásico en la enseñanza de programación.
Wirth trabajó en el lenguaje Algol X, conocido como Algol 68, pero no se sintió satisfecho por la falta de claridad y eficacia. Abordó entonces en solitario un lenguaje más didáctico a partir del Algol W, cuyo diseño culminó en 1972 y que denominó Pascal, orientado para una programación estructurada. Wirth confesó que el lenguaje Pascal “fue el resultado de verse liberado de los condicionantes del consenso necesario para el trabajo en equipo”.
El lenguaje Pascal fue inicialmente concebido como una herramienta didáctica para promocionar el estilo de programación, pero rápidamente trascendió su alcance inicial y evolucionó en un lenguaje de propósito general. El principal secreto del éxito de Pascal fue su simplicidad. Wirth fue capaz de desarrollar un sencillo compilador escrito en el propio Pascal, lo cual era bastante revolucionario por aquel entonces. En el diseño del lenguaje Pascal, Wirth buscó que fuera axiomáticamente definible e independiente de ningún sistema hardware en particular.
En colaboración con Urs Amman, Wirth escribió un primer compilador para el ordenador CDC 6600 instalado en la École Polytéchnique Fédérale de Zurich y donó el código fuente a la Universidad Laval, que se lo había solicitado.
De 1972 a 1974, Wirth diseñó el PCode, un código generado por un compilador, Pascal, independiente de la máquina y ejecutable por cualquier ordenador dotado del programa intérprete adecuado. Este código P-Code será la base del lenguaje Pascal UCSD, empleado en el campus de San Diego de la Universidad de California. Sus principios serán utilizados en el lenguaje Java y en la plataforma Matlab.
En 1975 publicó el libro “Algoritmos + Estructuras de Datos = Programas”, un texto que ganó considerable popularidad, y es todavía cconsiderado de gran utilidad.
En 1976 Wirth desarrolló el lenguaje Modula, derivado del Pascal, pero que permite escribir un sistema completo de explotación.
Niklaus Wirth, en 1976 se tomó un año sabático en la ETH y viajó a California, donde colaboró con Xerox PARC en Palo Alto.
Luego Wirth acometió, finalizándolo en 1981, el proyecto de una estación de trabajo potente denominada Lilith. Mientras ponía a punto la segunda versión de Modula, el lenguaje de explotación Modula-2, destinado a la máquina Lilith, para la que también diseñó un código M-code. Estableció una clara distinción entre los módulos simbólicos y los de sistemas, con lo que consiguió fiabilidad y portabilidad para las grandes aplicaciones.
Entusiasmado por las maneras innovadoras del trabajo en California, Wirth se tomó el curso 1984-1985 del ETH como otro año sabático en EE.UU.
Wirth lideró la creación de la estación Ceres, para la que en 1988 creó el lenguaje Oberon, derivado del Modula pero con la noción de exportación de sus procedimientos, de forma tal que pudiera ser utilizado por cualquier programa. El Oberon es como el Modula-2 un sistema de explotación completo.
Niklaus Wirth ha estado involucrado en el desarrollo de estándares internacionales en programación e informática, como miembro del Grupo de Trabajo IFIP 2.1 sobre Lenguajes y Cálculos Algorítmicos de la Federación Internacional para el Procesamiento de la Información (IFIP), que especifica, mantiene y apoya los lenguajes de programación ALGOL 60 y ALGOL 68.
En 1995, Wirth publicó un artículo “A plea for lean software”, en el que aparece el lema que se popularizó como la Ley de Wirth: “El software se ralentiza más deprisa de lo que se acelera el hardware”. Lo justifica ante el hecho de que el hardware se está volviendo, claramente, más rápido a medida que pasa el tiempo y parte de ese desarrollo está cuantificado por la Ley de Moore. Los programas tienden a hacerse más grandes y complicados con el paso del tiempo y, a veces, los programadores se refieren a la Ley de Moore para justificar la escritura de código lento o no optimizado, pensando que no será un problema porque el hardware sobre el que correrá el programa será cada vez más rápido. Un ejemplo de la Ley de Wirth se puede observar en el tiempo que lleva a un PC a arrancar su sistema operativo, similar a uno de hace cinco o diez años.
Niklaus Wirth ha recibido numerosos premios y reconocimientos:
Niklaus Emil Wirth nació en Winterthur, en el cantón de Zurich, Suiza, el 15 de febrero de 1934. Su padre era profesor de Geografía en un Instituto de Enseñanza Media. El joven Niklaus tenía su propio espacio donde construía modelos de avión y experimentaba en su laboratorio de Química
En 1959, a la edad de 25 años, se licenció en Ingeniería Electrónica en la Escuela Politécnica Federal de Zurich (Eidgenössische Technische Hochschule Zürich), conocida como la ETH.
Al año siguiente se casó y viajó con su esposa a París, prosiguió viaje al puerto de Le Havre, donde tomaron un barco con destino a Nueva York. Su mejor amigo se lo llevó a Canadá y se matriculó en la Universidad Laval de Quebec, donde logró un máster (M.Sc.) en Ingeniería Electrónica.
En 1963, se trasladó a California, doctorándose en Lenguajes de Programación de Ciencias de la Computación por la Universidad de California en Berkeley, dirigido por el pionero en diseño de ordenadores Harry Huskey.
Niklaus Wirth, en el periodo 1964 a 1967, fue profesor ayudante de informática en la Universidad de Stanford (California). Participó en los trabajos del grupo Algol (Algorithmic Language) de la IFIP (Federación Internacional para el Procesamiento de la Información), con el objeto de mejorar el Algol 60, pionero en el desarrollo de la sintaxis en los lenguajes. En 1965, con Helmut Weber, diseñó el lenguaje de programación Euler, basado en su tesis doctoral, como una extensión y generalización del Algol 60. Dejó el grupo Algol y con Tony Hoare definió el ensamblador de alto nivel PL360, destinado a los ordenadores IBM 360. Partiendo del PL360, Wirth creó el Algol-W.
En 1968 regresó a Suiza y se incorporó a la ETH de Zurich como profesor de Informática, integrándose en un grupo para el estudio de la metodología de programación.
En 1971, publicó “Program Development by Stepwise Refinement”, un texto todavía clásico en la enseñanza de programación.
Wirth trabajó en el lenguaje Algol X, conocido como Algol 68, pero no se sintió satisfecho por la falta de claridad y eficacia. Abordó entonces en solitario un lenguaje más didáctico a partir del Algol W, cuyo diseño culminó en 1972 y que denominó Pascal, orientado para una programación estructurada. Wirth confesó que el lenguaje Pascal “fue el resultado de verse liberado de los condicionantes del consenso necesario para el trabajo en equipo”.
El lenguaje Pascal fue inicialmente concebido como una herramienta didáctica para promocionar el estilo de programación, pero rápidamente trascendió su alcance inicial y evolucionó en un lenguaje de propósito general. El principal secreto del éxito de Pascal fue su simplicidad. Wirth fue capaz de desarrollar un sencillo compilador escrito en el propio Pascal, lo cual era bastante revolucionario por aquel entonces. En el diseño del lenguaje Pascal, Wirth buscó que fuera axiomáticamente definible e independiente de ningún sistema hardware en particular.
En colaboración con Urs Amman, Wirth escribió un primer compilador para el ordenador CDC 6600 instalado en la École Polytéchnique Fédérale de Zurich y donó el código fuente a la Universidad Laval, que se lo había solicitado.
De 1972 a 1974, Wirth diseñó el PCode, un código generado por un compilador, Pascal, independiente de la máquina y ejecutable por cualquier ordenador dotado del programa intérprete adecuado. Este código P-Code será la base del lenguaje Pascal UCSD, empleado en el campus de San Diego de la Universidad de California. Sus principios serán utilizados en el lenguaje Java y en la plataforma Matlab.
En 1975 publicó el libro “Algoritmos + Estructuras de Datos = Programas”, un texto que ganó considerable popularidad, y es todavía cconsiderado de gran utilidad.
En 1976 Wirth desarrolló el lenguaje Modula, derivado del Pascal, pero que permite escribir un sistema completo de explotación.
Niklaus Wirth, en 1976 se tomó un año sabático en la ETH y viajó a California, donde colaboró con Xerox PARC en Palo Alto.
Luego Wirth acometió, finalizándolo en 1981, el proyecto de una estación de trabajo potente denominada Lilith. Mientras ponía a punto la segunda versión de Modula, el lenguaje de explotación Modula-2, destinado a la máquina Lilith, para la que también diseñó un código M-code. Estableció una clara distinción entre los módulos simbólicos y los de sistemas, con lo que consiguió fiabilidad y portabilidad para las grandes aplicaciones.
Entusiasmado por las maneras innovadoras del trabajo en California, Wirth se tomó el curso 1984-1985 del ETH como otro año sabático en EE.UU.
Wirth lideró la creación de la estación Ceres, para la que en 1988 creó el lenguaje Oberon, derivado del Modula pero con la noción de exportación de sus procedimientos, de forma tal que pudiera ser utilizado por cualquier programa. El Oberon es como el Modula-2 un sistema de explotación completo.
Niklaus Wirth ha estado involucrado en el desarrollo de estándares internacionales en programación e informática, como miembro del Grupo de Trabajo IFIP 2.1 sobre Lenguajes y Cálculos Algorítmicos de la Federación Internacional para el Procesamiento de la Información (IFIP), que especifica, mantiene y apoya los lenguajes de programación ALGOL 60 y ALGOL 68.
En 1995, Wirth publicó un artículo “A plea for lean software”, en el que aparece el lema que se popularizó como la Ley de Wirth: “El software se ralentiza más deprisa de lo que se acelera el hardware”. Lo justifica ante el hecho de que el hardware se está volviendo, claramente, más rápido a medida que pasa el tiempo y parte de ese desarrollo está cuantificado por la Ley de Moore. Los programas tienden a hacerse más grandes y complicados con el paso del tiempo y, a veces, los programadores se refieren a la Ley de Moore para justificar la escritura de código lento o no optimizado, pensando que no será un problema porque el hardware sobre el que correrá el programa será cada vez más rápido. Un ejemplo de la Ley de Wirth se puede observar en el tiempo que lleva a un PC a arrancar su sistema operativo, similar a uno de hace cinco o diez años.
Niklaus Wirth ha recibido numerosos premios y reconocimientos:
- En 1983, Premio Emmanuel R. Piore del IEEE por sus logros en el campo del procesamiento de la información.
- En 1984, Premio Turing de la Asociación de Maquinaria de Computación (ACM), por el desarrollo de una serie de innovadores lenguajes de programación como EULER, ALGOL-W, MODULA y PASCAL.
- En 1987, Computer Pioneer Award del IEEE (Instituto de Ingenieros Eléctricos y Electrónicos), por el lenguaje Pascal.
- En 1989, Premio de Ciencia y tecnología de IBM Europa.
- En 1992, Miembro de la Academia de Ingeniería de Suiza.
- En 1994, Miembro honorífico de la Academia Nacional de Ingeniería de los Estados Unidos.
- En 1994, Miembro de la Asociación de Maquinaria de Computación (ACM)
- En 1999, Medalla Leonardo da Vinci y Premio de Investigación Sobresaliente en Ingeniería Sw de ACM.
- En 2004, 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.
En 1999 se retiró de la vida laboral.
Más información
- Biografía en "Historia de la Informática"
- Biografía en "Computer History Museum"
- Biografía en "Encyclopaedia Britannica"
- Biografía en "History Computer"
- Entrevista en la web de "Association for Computing Machinery" con motivo de la concesión del premio Alan Turing
- Artículo "Niklaus Wirth inventor de Pascal para la enseñanza de informática" en i-programmer.info