WATFIV , o WAT erloo F ORTRAN IV , desarrollado en la Universidad de Waterloo , Canadá, es una implementación del lenguaje de programación de computadoras Fortran . Es el sucesor de WATFOR .
WATFIV se utilizó desde finales de la década de 1960 hasta mediados de la de 1980. WATFIV, a su vez, fue sucedido por versiones posteriores de WATFOR. Debido a que podía completar los tres pasos habituales ("compilar-vincular-ir") en una sola pasada, el sistema se hizo popular para enseñar a los estudiantes programación de computadoras.
Historia
A principios de la década de 1960, los departamentos de informática recién formados iniciaron programas universitarios para enseñar lenguajes de programación informática . 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 . [1] En la primera etapa, el compilador comenzó con el código fuente y produjo el código objeto . En la segunda etapa, un enlazador construyó un programa completo utilizando bibliotecas crecientes de funciones comunes. Finalmente, el programa se ejecutó repetidamente con datos para los típicos problemas científicos y comerciales de los clientes. Cada paso a menudo incluía un nuevo juego de tarjetas perforadas o cinta adhesiva. Los estudiantes, por otro lado, tenían requisitos muy diferentes. Por lo general, sus programas eran cortos, pero por lo general contenían errores de lógica y sintaxis, lo que resultaba en una repetición de los pasos que requería mucho tiempo y en " volcados de memoria" confusos (a menudo, tomaba un día completo enviar y recibir el resultado exitoso o fallido del operador de la computadora) . Una vez que sus programas funcionaron correctamente, se entregaron y no se ejecutaron nuevamente.
En 1961, la Universidad de Wisconsin desarrolló una tecnología llamada FORGO para IBM 1620 que combinaba algunos de los pasos. [2] Se llevaron a cabo experimentos similares en la Universidad de Purdue en el IBM 7090 en un sistema llamado PUFFT. [3]
WATFOR 7040
En el verano de 1965, cuatro estudiantes universitarios de la Universidad de Waterloo , Gus German, James G. Mitchell [4] [5] Richard Shirley y Robert Zarnke, dirigidos por Peter Shantz, desarrollaron un compilador Fortran para la computadora IBM 7040 llamado WATFOR. Sus objetivos eran una velocidad de compilación rápida y un diagnóstico de errores eficaz tanto en el tiempo de compilación como en el de ejecución. [1] Elimina la necesidad de un paso de vinculación por separado y, como resultado, los programas FORTRAN que no contienen errores de sintaxis se colocan en ejecución inmediata. El profesor J. Wesley Graham brindó liderazgo durante todo el proyecto. [6]
Este proceso simple de un solo paso permitió a los programadores sin experiencia aprender a programar con un menor costo de tiempo y recursos informáticos. [7] Para ayudar en la depuración, el compilador usa un enfoque innovador para verificar variables indefinidas (un error extremadamente común entre los programadores principiantes). Utiliza una función de diagnóstico del 7040 que puede establecer deliberadamente áreas de memoria con mala paridad. Cuando un programa intenta hacer referencia a variables que no se habían configurado, la máquina toma una interrupción (manejada por las rutinas de tiempo de ejecución de Watfor) y el error se informa al usuario como una variable indefinida. Esto tiene el agradable efecto secundario de verificar variables indefinidas sin esencialmente sobrecarga de CPU.
WATFOR ganó popularidad rápidamente 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 el 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 a tiempo completo y estudiantes de pregrado para escribir una versión de IBM 360. [8] Los miembros del proyecto, Betty Schmidt, Paul Dirksen, Paul H. Cress , Lothar K. "Ned" Kesselhut, Bill Kindree y Dereck Meek, a quienes más tarde se unieron Mike Doyle, Rod Milne, Ron Hurdal y Lynn Williams, 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 experimentadas en la Universidad de Waterloo. Sandra Ward se encargó de la distribución del software y del soporte al cliente.
WATFIV
Como resultado de las propuestas del comité de 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 y entrada-salida de acceso directo. La Association for Computing Machinery presentó a Paul Cress y Paul Dirksen el premio Grace Murray Hopper por sus contribuciones a los proyectos WATFOR y WATFIV en 1972. [9] El compilador WATFIV fue incluido en el Cuadro de Honor DATAPRO de 1975 y 1976. Personas involucradas con el mantenimiento y la mejora incluyó a Bernie Murphy, Martin Wiseman e Yvonne Johnson.
WATFIV se pronunció como "QUÉ CINCO", pero, como se advirtió en ese momento, también (casi) todavía podría pronunciarse como "PARA QUÉ", como en WAT-F-IV (Waterloo Fortran IV).
Las universidades y corporaciones utilizaron estos compiladores y se han desarrollado varios otros productos de software en la tradición de WATFOR. Por ejemplo, una versión del lenguaje de programación COBOL se llama WATBOL . [10] [11] [12] Daniel D. McCracken dijo que "no es exagerado sugerir que WATFOR revolucionó el uso de las computadoras en la educación". [13] En un momento, se obtuvieron más de 3.000 licencias de mini y mainframe 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 y llamado WATFOR-11. Los miembros del equipo, Jack Schueler, Jim Welch y Terry Wilkinson, se unieron más tarde a Ian McPhee, quien había agregado nuevas declaraciones de control al compilador WATFIV para programación estructurada (SP). Estas nuevas declaraciones incluían el bloque IF (más tarde incluido en el estándar de lenguaje ANSI X3.9-1978), WHILE, UNTIL y otros. WATFIV-S se anunció en 1974 y unos meses más tarde, WATFOR-11S (la "S" que indica las nuevas características del SP) también se anunció. Las características originales del SP se mejoraron más tarde con declaraciones adicionales de Bruce Hay en WATFIV-S en 1980 y de Jack Schueler en WATFOR-11S en 1981.
WATFOR-77
Durante la década de 1970, el subcomité ANSI X3J3 (el grupo de estándares de lenguaje FORTRAN) desarrolló un nuevo estándar de lenguaje que fue aprobado oficialmente en abril de 1978. Este estándar, designado FORTRAN 77 , introdujo muchas declaraciones nuevas en el lenguaje. De hecho, el estándar de lenguaje anterior FORTRAN 66 es un documento muy pequeño y describe, en efecto, un subconjunto de la mayoría de las implementaciones de FORTRAN. Por ejemplo, las implementaciones de WATFIV y WATFOR-11 se basan en la definición de IBM de FORTRAN-IV .
A medida que los programadores usaban las características de FORTRAN 77, se requirió un nuevo compilador para combinar las ventajas del compilador WATFIV con el nuevo estándar de lenguaje. En enero de 1983, un proyecto para desarrollar un compilador Fortran 77 se inició a Watcom Systems Inc . Bajo el liderazgo de Jack Schueler, los empleados de Watcom y los estudiantes de pregrado del programa Cooperativo de Ciencias de la Computación de la Universidad de Waterloo se involucraron 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. Fueron asistidos por Rod Cremasco, John McCormick, David McKee y Brian Stecher. Muchos de los miembros del equipo de proyectos de compiladores anteriores proporcionaron información. Estos incluyeron a 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 sistemas portátiles para facilitar la implementación del compilador en otros sistemas informáticos. Los compiladores anteriores de WATFOR se escribieron completamente en lenguaje ensamblador dependiente de la máquina.
Dos componentes del compilador no son portátiles. El generador de código traduce las declaraciones de FORTRAN en instrucciones nativas de la computadora y las almacena en la memoria. La primera versión de WATFOR-77 genera instrucciones para la arquitectura de la computadora IBM 370. La mayor parte del soporte de 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 desempeño. En septiembre de 1984, se instaló la primera versión en la Universidad de Waterloo para el Departamento de Servicios Informáticos. Fue una implementación para las computadoras IBM 370 que ejecutan 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 de IBM . Este proyecto incluyó a 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 estudiantes de la Facultad de Ingeniería. El compilador puede ejecutarse en una computadora personal IBM de 256 K utilizando IBM PC DOS 2.0 y no requiere hardware especial de punto flotante.
En el otoño de 1985, se entregó una versión japonesa de WATFOR-77 a IBM Japón para la computadora personal IBM JX . Esta versión produce mensajes de error en japonés y es compatible con los conjuntos de caracteres Kanji, Hiragana y Katakana para nombres de variables y cadenas de caracteres. Para admitir el JX, el manual de referencia del idioma y la guía del usuario se tradujeron al japonés. Otra versión de WATFOR-77 con las mismas características mencionadas anteriormente también se desarrolló para la familia japonesa de computadoras personales IBM PS / 55 en la primavera de 1988.
Durante el verano de 1986, la versión IBM PC de WATFOR-77 se adaptó para ejecutarse en Unisys ICON que ejecuta el sistema operativo QNX . Dado que QNX es bastante diferente de IBM PC DOS, se reescribieron partes del sistema de tiempo 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 con el sistema operativo VMS . Los miembros de este proyecto incluyeron a Geno Coschi, Marc Ouellette, Jack Schueler y Terry Skomorowski. Esta implementación estuvo disponible en marzo de 1987.
Además, 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 Watcom C , que produce un código máquina superior a otros compiladores C. El compilador de optimización FORTRAN 77 se envió por primera vez a mediados de 1990.
En octubre de 1990 se celebró el 25 aniversario de WATFOR. [14] Muchos 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 computadoras personales NEC PC-9801 . Esta versión era similar a la versión 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 computadoras personales Intel 80386 e Intel 80486 . La primera versión se envió en el otoño de 1992.
Todavía en 1995, las clases de programación en WATFIV todavía se llevaban a cabo en la Universidad de Mississippi , dirigidas por el profesor Charles H. (Chuckie) Franke.
Ver también
- Watcom
- Donald B. Gillies (adoptante temprano en la Universidad de Illinois)
Referencias
- ^ a b Donald D. Cowan; J. Wesley Graham (julio de 1970). "Características de diseño del compilador WATFOR". Avisos ACM SIGPLAN: Actas de un simposio sobre optimización de compiladores . Asociación de Maquinaria Informática . 5 (7): 41–44. doi : 10.1145 / 390013.808481 .
- ^ Clarence B. Germain (1965). Programación del IBM 1620 (2ª ed.). Prentice Hall. pag. 62.
- ^ Saul Rosen ; Robert A. Spurgeon; Joel K. Donnelly (noviembre de 1965). "PUFFT: el traductor rápido de FORTRAN de Purdue University". Comunicaciones de la ACM . Asociación de Maquinaria Informática . 8 (11): 661–666. doi : 10.1145 / 365660.365671 .
- ^ "Java: donde quieres * estar * mañana: Dr. Jim Mitchell, 1997 Recipiente de la medalla JW Graham en Informática e Innovación" . 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 . Consultado el 1 de abril de 2011 .
- ^ Chris Redmond (8 de septiembre de 1999). "Pionero de la informática de la UW llorado" . UW Gazette . Universidad de Waterloo . Consultado el 3 de abril de 2011 .
- ^ PC Brillinger; DD Cowan (noviembre de 1970). "Un paquete completo para la introducción a la informática" . Boletín de la Asociación de Maquinaria de Computación SIGCSE. págs. 118-126 . Consultado el 18 de diciembre de 2012 .
- ^ Harold Alkema y Kenneth McLaughlin (2007). "Desagregación de la informática en la Universidad de Waterloo" . Universidad de Waterloo . Consultado el 5 de abril de 2011 .
- ^ "1972 - Paul H. Cress" . Premio Grace Murray Hopper . Asociación de Maquinaria Informática . Archivado desde el original el 4 de mayo de 2012 . Consultado el 5 de abril de 2011 .
- ^ RJ Hurdal; WR Milne; CR Zarnke (1972). "WATBOL" . Universidad de Waterloo . Consultado el 5 de abril de 2011 .
- ^ "Cronología - 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 sistemas de automatización de bibliotecas a finales del siglo XX: El desarrollo de sistemas de automatización de bibliotecas a finales del siglo XX . ABC-CLIO . pag. 10. ISBN 9781591587910. Consultado 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 Fortran de propósito general llamado WATFOR y WATFIV y su propia versión del igualmente popular lenguaje de computación empresarial COBOL, llamado WATBOL.
- ^ Daniel D. McCracken (1972). Una guía para la programación de Fortran IV . Wiley. pag. 253. ISBN 978-0-471-58281-6.
- ^ "Aniversario de Plata de WATFOR" . WATCOM News volumen 8 número 1 . 1991. Archivado desde el original el 21 de julio de 2012 . Consultado el 1 de abril de 2011 .
Otras lecturas
- Peter W. Shantz; RA alemán; James G. Mitchell ; Richard SK Shirley; C. Robert Zarnke (enero de 1967). "WATFOR: el compilador de FORTRAN IV de la Universidad de Waterloo". Comunicaciones de la ACM . Asociación de Maquinaria Informática . 10 (1): 41–44. doi : 10.1145 / 363018.363059 .
- Peter James Ponzo (1992). Ciencias de la computación en Waterloo: una historia para celebrar los 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
- Abrir Watcom
- Historia de los lenguajes de programación: WATFOR