WATFOR y WATFIV (también conocidos como Waterloo FORTRAN o Waterloo FORTRAN IV ), desarrollados en Canadá en la Universidad de Waterloo , son implementaciones del lenguaje de programación Fortran , destinadas a uso educativo. [ 1 ] WATFOR fue la versión original. WATFIV fue una versión sucesora utilizada desde finales de la década de 1960 hasta mediados de la década de 1980. WATFIV, a su vez, fue sucedida por versiones posteriores de WATFOR.
Debido a que podía completar los tres pasos habituales ("compilar-enlazar-ejecutar") en una sola pasada, el sistema se popularizó para enseñar programación a los estudiantes. Además de un procesamiento más rápido, WATFOR y WATFIV son un dialecto de lenguaje de programación , ya que presentan una versión algo más sencilla de FORTRAN IV, con nuevas características que incluyen entrada y salida sin formato y, en WATFIV, un tipo de cadena de caracteres. [ 1 ]
Historia
A principios de la década de 1960, los departamentos de informática recién formados comenzaron programas universitarios para enseñar lenguajes de programación . El lenguaje Fortran se había desarrollado en IBM , pero sufría de un flujo de trabajo de procesamiento por lotes de tres etapas lento y propenso a errores . [ 2 ] En la primera etapa, el compilador partía del código fuente y producía código objeto . En la segunda etapa, un enlazador construía un programa completo utilizando bibliotecas cada vez mayores de funciones comunes. Finalmente, el programa se ejecutaba repetidamente con datos para los problemas científicos y comerciales típicos de los clientes. Cada paso solía incluir un nuevo conjunto de tarjetas perforadas o cinta. Los estudiantes, por otro lado, tenían requisitos muy diferentes. Sus programas eran generalmente cortos, pero solían contener errores de lógica y sintaxis, lo que resultaba en una repetición de pasos que consumía mucho tiempo y en confusos " volcados de memoria " (a menudo se tardaba un día entero en enviar y recibir la salida, ya fuera correcta o incorrecta, del operador de la computadora). Una vez que sus programas funcionaban correctamente, se entregaban y no se volvían a ejecutar.
En 1961, la Universidad de Wisconsin desarrolló una tecnología llamada FORGO para la IBM 1620 que combinaba algunos de los pasos. [ 3 ] Se llevaron a cabo experimentos similares en la Universidad de Purdue en la IBM 7090 en un sistema llamado PUFFT. [ 4 ]
WATFOR 7040
En el verano de 1965, cuatro estudiantes de pregrado de la Universidad de Waterloo , Gus German, James G. Mitchell [ 5 ] [ 6 ] , Richard Shirley y Robert Zarnke, liderados por Peter Shantz, desarrollaron un compilador de Fortran para la computadora IBM 7040 llamado WATFOR. Sus objetivos eran una rápida velocidad de compilación y un diagnóstico de errores eficaz tanto en tiempo de compilación como de ejecución. [ 2 ] Elimina la necesidad de un paso de enlace separado y, como resultado, los programas FORTRAN que no contienen errores de sintaxis se ejecutan inmediatamente. El profesor J. Wesley Graham lideró todo el proyecto. [ 7 ]
Este sencillo proceso de un solo paso permitió a programadores sin experiencia aprender a programar con un menor coste en tiempo y recursos informáticos. [ 8 ] Para facilitar la depuración, el compilador utiliza un enfoque innovador para comprobar variables no inicializadas (un error extremadamente común entre los programadores novatos). Utiliza una función de diagnóstico del 7040 que puede establecer deliberadamente áreas de memoria con paridad incorrecta. Cuando un programa intenta hacer referencia a variables que no se han inicializado, la máquina recibe una interrupción (gestionada por las rutinas de tiempo de ejecución de Watfor) y el error se notifica al usuario como una variable no inicializada. Esto tiene el agradable efecto secundario de comprobar variables no inicializadas prácticamente sin sobrecarga de CPU.
WATFOR rápidamente ganó popularidad y más de 75 instituciones lo instalaron en sus sistemas IBM 7040. La distribución del compilador estuvo a cargo de Sandra Bruce (de soltera Hope).
WATFOR 360
En 1966, la universidad planeó reemplazar la 7040 con una computadora IBM System/360 , que era mucho más rápida pero no compatible con el software. Se formó un equipo de empleados de tiempo completo y estudiantes de pregrado para escribir una versión para IBM 360. [ 9 ] A los miembros del proyecto, Betty Schmidt, Paul Dirksen, Paul H. Cress , Lothar K. "Ned" Kesselhut, Bill Kindree y Dereck Meek, se unieron más tarde Mike Doyle, Rod Milne, Ron Hurdal y Lynn Williams, y completaron 360 WATFOR a principios de 1967.
Muchas otras instituciones (universidades, colegios, empresas y agencias gubernamentales) comenzaron a utilizar el compilador WATFOR para satisfacer necesidades similares a las de la Universidad de Waterloo. Sandra Ward se encargó de la distribución del software y la atención al cliente.
WATFIV

Como resultado de las propuestas del comité Fortran del grupo de usuarios SHARE y otros, se produjo una nueva versión llamada WATFIV en 1968. WATFIV introdujo nuevas características como variables CHARACTER, escrituras formateadas en memoria y entrada/salida de acceso directo. [ 1 ] En términos de estrategias de generación de código, WATFIV produjo código absoluto . [ 10 ]
Entre las personas involucradas en el mantenimiento y la mejora se encontraban Bernie Murphy, Martin Wiseman y Yvonne Johnson.
WATFIV se pronunciaba como "WHAT FIVE" (y a veces "WATT FIVE"), pero, como se comprendió en ese momento, también podía (casi) seguir pronunciándose como "WHAT FOR", como en WAT-F-IV (Waterloo Fortran IV).
Impacto de WATFOR y WATFIV
La Asociación para la Maquinaria Informática otorgó a Paul Cress y Paul Dirksen el Premio Grace Murray Hopper por sus contribuciones a los proyectos WATFOR y WATFIV en 1972. [ 11 ] El compilador WATFIV fue incluido en la Lista de Honor de DATAPRO de 1975 y 1976.
Universidades y corporaciones utilizaron estos compiladores y se desarrollaron varios otros productos de software siguiendo la tradición de WATFOR. Por ejemplo, una versión para el lenguaje de programación COBOL se llama WATBOL . [ 12 ] [ 13 ] [ 14 ] Y de la Universidad de Cornell surgió una versión para estudiantes del lenguaje PL/I , llamada PL/C , que tenía objetivos similares a los de WATFOR. [ 15 ] [ 16 ]
El científico informático y autor Daniel D. McCracken dijo que "no es exagerado sugerir que WATFOR revolucionó el uso de las computadoras en la educación". [ 17 ] En un momento dado, se poseían más de 3000 licencias de minicomputadoras y mainframes y más de 100 000 licencias de microcomputadoras en todo el mundo para esta familia de productos de software.
WATFOR-11, -S y -11S
En 1974, se creó un compilador con características similares a la implementación de IBM para la computadora PDP-11 de Digital Equipment Corporation , llamado WATFOR-11. A los miembros del equipo, Jack Schueler, Jim Welch y Terry Wilkinson, se unió posteriormente Ian McPhee , quien había añadido nuevas instrucciones de control al compilador WATFIV para la programación estructurada (SP). Estas nuevas instrucciones incluían el bloque IF (posteriormente incluido en el estándar de lenguaje ANSI X3.9-1978), WHILE, UNTIL y otras. WATFIV-S se anunció en 1974 y, unos meses después, también se anunció WATFOR-11S (la "S" indica las nuevas características de SP). Las características originales de SP fueron posteriormente mejoradas con instrucciones adicionales por Bruce Hay en WATFIV-S en 1980 y por Jack Schueler en WATFOR-11S en 1981.
WATFOR-77
Durante la década de 1970, el subcomité ANSI X3J3 (el grupo de estandarización del lenguaje FORTRAN) desarrolló un nuevo estándar que fue aprobado oficialmente en abril de 1978. Este estándar, denominado FORTRAN 77 , introdujo numerosas instrucciones nuevas en el lenguaje. De hecho, el estándar anterior, FORTRAN 66, es un documento muy breve que describe, en la práctica, solo un subconjunto de la mayoría de las implementaciones de FORTRAN. Por ejemplo, las implementaciones WATFIV y WATFOR-11 se basan en la definición de FORTRAN-IV de IBM .
A medida que los programadores utilizaban las características de FORTRAN 77, se requería un nuevo compilador que combinara las ventajas del compilador WATFIV con el nuevo estándar del lenguaje. En enero de 1983, Watcom Systems Inc. inició un proyecto para desarrollar un compilador de FORTRAN 77. Bajo el liderazgo de Jack Schueler, empleados de Watcom y estudiantes de pregrado del programa cooperativo de Ciencias de la Computación de la Universidad de Waterloo participaron en la creación del compilador WATFOR-77. El trabajo principal fue realizado por Geno Coschi, Fred Crigger, John Dahms, Jim Graham, Jack Schueler, Anthony Scian y Paul van Oorschot . Contaron con la asistencia de Rod Cremasco, John McCormick, David McKee y Brian Stecher. Muchos miembros del equipo de proyectos de compiladores anteriores aportaron ideas, entre ellos Bruce Hay, Ian McPhee, Sandra Ward, Jim Welch y Terry Wilkinson.
A diferencia de los compiladores anteriores, una parte importante de WATFOR-77 se escribió en un lenguaje de sistema portátil para facilitar la implementación del compilador en otros sistemas informáticos. Los compiladores WATFOR anteriores se escribieron completamente en lenguaje ensamblador dependiente de la máquina .
Dos componentes del compilador no son portables. El generador de código traduce las sentencias FORTRAN a instrucciones nativas de la computadora y las almacena en memoria. La primera versión de WATFOR-77 genera instrucciones para la arquitectura de la computadora IBM 370. La mayor parte del soporte en tiempo de ejecución (verificación de variables indefinidas, evaluación de subíndices, funciones intrínsecas) se escribió en lenguaje ensamblador para un buen rendimiento. En septiembre de 1984, la primera versión se instaló en la Universidad de Waterloo para el Departamento de Servicios Informáticos. Era una implementación para computadoras IBM 370 que ejecutaban el sistema operativo VM/SP CMS .
Unos meses antes, en mayo de 1984, se inició un proyecto para implementar el compilador WATFOR-77 en la computadora personal IBM . En este proyecto participaron Geno Coschi, Fred Crigger, Tim Galvin, Athos Kasapi, Jack Schueler, Terry Skomorowski y Brian Stecher. En abril de 1985, esta segunda versión de WATFOR-77 se instaló en la Universidad de Waterloo para uso de los estudiantes de la Facultad de Ingeniería. El compilador puede ejecutarse en una computadora personal IBM de 256 KB con IBM PC DOS 2.0 y no requiere hardware especial de punto flotante.
En otoño de 1985, IBM Japón recibió una versión japonesa de WATFOR-77 para el ordenador personal IBM JX . Esta versión generaba mensajes de error en japonés y era compatible con los conjuntos de caracteres Kanji, Hiragana y Katakana para nombres de variables y cadenas de caracteres. Para dar soporte al JX, el manual de referencia del idioma y la guía del usuario se tradujeron al japonés. En la primavera de 1988, se desarrolló otra versión de WATFOR-77 con las mismas características para la familia de ordenadores personales IBM PS/55 en Japón.
Durante el verano de 1986, la versión de WATFOR-77 para IBM PC se adaptó para ejecutarse en el Unisys ICON , que utiliza el sistema operativo QNX . Dado que QNX es bastante diferente de IBM PC DOS, se reescribieron partes del sistema de ejecución. Esta implementación de WATFOR-77 estuvo disponible en septiembre de 1986.
Durante el verano de 1985, se inició un proyecto para adaptar WATFOR-77 a la serie de computadoras VAX de Digital Equipment Corporation, que utilizaba el sistema operativo VMS . Entre los miembros de este proyecto se encontraban Geno Coschi, Marc Ouellette, Jack Schueler y Terry Skomorowski. Esta implementación estuvo disponible en marzo de 1987.
Asimismo, en la primavera de 1988, se inició un nuevo proyecto para desarrollar un compilador optimizador de FORTRAN 77. Este compilador utiliza el generador de código del compilador C de Watcom , que produce un código máquina superior al de otros compiladores de C. El compilador optimizador de FORTRAN 77 se lanzó al mercado a mediados de 1990.
En octubre de 1990 se celebró el 25 aniversario de WATFOR. [ 18 ] Muchos de los involucrados en el desarrollo de los compiladores de WATFOR fueron invitados a la Universidad de Waterloo para una reunión.
En la primavera de 1992, se adaptó una versión de WATFOR-77 a la familia de ordenadores personales NEC PC-9801 . Esta versión era similar a la de IBM PS/55, pero modificada para adaptarse a las diferencias arquitectónicas. En enero de 1992, comenzó el desarrollo de una versión de 32 bits de WATFOR-77 para los ordenadores personales Intel 80386 e Intel 80486. La primera versión se lanzó en otoño de 1992.
Todavía en 1995, en la Universidad de Mississippi se seguían impartiendo clases de programación en WATFIV , dirigidas por el profesor Charles H. (Chuckie) Franke.
Véase también
- Watcom
- Donald B. Gillies (uno de los primeros en adoptar esta tecnología en la Universidad de Illinois)
Referencias
- 1 2 3 Blatt, John M. (1971). Introducción a la programación en FORTRAN IV: Uso de los compiladores WATFOR/WATFIV . Pacific Palisades, California: Goodyear Publishing Company. págs. iii– vi, 237, 316– 318. ISBN 0-87620-440-X.
- 1 2 Donald D. Cowan; J. Wesley Graham (julio de 1970). "Características de diseño del compilador WATFOR" . ACM SIGPLAN Notices . 5 (7). Association for Computing Machinery : 41–44 . doi : 10.1145/390013.808481 .
- ↑ Clarence B. Germain (1965). Programación del IBM 1620 (2.ª ed.). Prentice-Hall. pág. 62.
- ↑ Saul Rosen ; Robert A. Spurgeon; Joel K. Donnelly (noviembre de 1965). "PUFFT: el traductor rápido de FORTRAN de la Universidad de Purdue" . Communications of the ACM . 8 (11). Association for Computing Machinery : 661–666 . doi : 10.1145/365660.365671 . S2CID 1822147 .
- ↑ "Java: Donde quieres estar mañana: Dr. Jim Mitchell, ganador de la Medalla JW Graham de Computación e Innovación en 1997" . Universidad de Waterloo , Canadá. 30 de mayo de 1997. Consultado el 1 de abril de 2011 .
- ↑ "James Mitchell" . La gente de Oracle Labs . Oracle Corporation. Archivado del original el 16 de junio de 2012. Recuperado el 1 de abril de 2011 .
- ↑ Chris Redmond (8 de septiembre de 1999). "Lloran a un pionero de la informática de la UW" . UW Gazette . Universidad de Waterloo . Archivado del original el 1 de octubre de 2011. Recuperado el 3 de abril de 2011 .
- ↑ PC Brillinger; DD Cowan (noviembre de 1970). "Un paquete completo para introducir la informática" . Boletín SIGCSE de la Association for Computing Machinery. págs. 118–126 . Consultado el 18 de diciembre de 2012 .
- ↑ Harold Alkema y Kenneth McLaughlin (2007). "Desagrupando la informática en la Universidad de Waterloo" . Universidad de Waterloo . Recuperado el 5 de abril de 2011 .
- ↑ Aho, Alfred V.; Sethi, Ravi; Ullman, Jeffrey (1986). Compiladores: Principios, técnicas y herramientas . Reading, Massachusetts: Addison Wesley. pág. 514. ISBN 0-201-10088-6.
- ↑ "1972 – Paul H. Cress" . Premio Grace Murray Hopper . Asociación para la Maquinaria Informática . Archivado del original el 4 de mayo de 2012. Recuperado el 5 de abril de 2011 .
- ↑ RJ Hurdal; WR Milne; CR Zarnke (1972). "WATBOL" . Universidad de Waterloo . Recuperado el 5 de abril de 2011 .
- ↑ "Cronología - Década de 1970: La evolución de la Universidad de Waterloo continúa - 1972" . Universidad de Waterloo . Consultado el 17 de diciembre de 2012. En 1969 y 1970 ,
se completó el compilador WATBOL. El compilador WATBOL para el lenguaje de programación COBOL tenía diagnósticos de velocidad y errores similares a los compiladores WATFOR para FORTRAN.
- ↑ Christopher Brown-Syed (2011). Padres de la invención: El desarrollo de los sistemas de automatización de bibliotecas a finales del siglo XX . ABC-CLIO . pág. 10. ISBN 9781591587910Recuperado el 17 de diciembre de 2012. Durante
la década de 1970, la Universidad de Waterloo, ubicada en el sur de Ontario, Canadá, era casi tan sinónimo de informática como el MIT o Berkeley. Había desarrollado extensiones para el popular lenguaje de programación de propósito general Fortran, llamadas WATFOR y WATFIV, y su propia versión del igualmente popular lenguaje de programación empresarial COBOL, llamada WATBOL.
- ↑ Adams, J. Mack; Inmon, William H.; Shirley, Jim (marzo de 1972). "PL/I en el currículo de ciencias de la computación". Boletín ACM SIGCSE . 4 (1): 116– 126. doi : 10.1145/873684.873713 . S2CID 32179236 .
- ↑ "Disponibilidad de PL/C en MTS" . Boletín del Centro de Computación . Universidad de Michigan. 21 de enero de 1971. pág. 5.
- ↑ Daniel D. McCracken (1972). Guía para la programación en Fortran IV . Wiley. pág. 253. ISBN 978-0-471-58281-6.
- ↑ "Aniversario de Plata de WATFOR" . WATCOM News volumen 8 número 1. 1991. Consultado el 1 de abril de 2011 .
{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
Lecturas adicionales
- Peter W. Shantz; RA German; James G. Mitchell ; Richard SK Shirley; C. Robert Zarnke (enero de 1967). "WATFOR: el compilador FORTRAN IV de la Universidad de Waterloo". Communications of the ACM . 10 (1). Association for Computing Machinery : 41–44 . doi : 10.1145/363018.363059 . S2CID 14472718 .
- Peter James Ponzo (1992). Informática en Waterloo: una historia para celebrar 25 años, 1967-1992 . Universidad de Waterloo.
- Paul H. Cress ; Paul Dirksen; James Wesley Graham (1968). FORTRAN IV con WATFOR . Prentice-Hall.
- Paul Cress (1968). Descripción de /360 WATFOR: un compilador de fortran-IV (PDF) . Departamento de Análisis Aplicado y Ciencias de la Computación, Centro de Computación, Universidad de Waterloo.
- Paul Cress; Paul Dirksen; James Wesley Graham (1970). FORTRAN IV con WATFOR y WATFIV . Prentice-Hall. ISBN 9780133294330.
- Paul Cress; Paul Dirksen; James Wesley Graham (1 de enero de 1980). FORTRAN estructurado con WATFIV-S . Prentice-Hall. ISBN 978-0-13-854752-3.
Enlaces externos
- Open Watcom
- Historia de los lenguajes de programación: WATFOR
- Familia de lenguajes de programación Fortran
- Lenguajes de programación procedimental
- Lenguajes de programación creados en la década de 1960
- Software programado en lenguaje ensamblador