WATFOR's Silver Anniversary

The following article is reprinted from WATCOM News 1991, Vol. 8, Issue 1.

This year marks the twenty-fifth anniversary of the implementation of the first WATFOR compiler. Twenty-five years is a relatively short period of time, but as we look at the advances in computing technology, it is amazing to see what has happened. Recall the days when students sat in front of keypunches laboriously preparing their programs and then waiting for hours or even days to receive a listing file containing a list of vague error messages. WATFOR was designed to reduce this time-consuming process and to make learning a more productive, enjoyable experience.

The compiler was initially developed for the IBM 7040 computer in the summer of 1965 by four undergraduate students. WATFOR provided fast compilation and comprehensive error diagnostics. This was accomplished by compiling and executing the program directly in-core without a linkedit. This one-step approach was considered somewhat revolutionary at the time. This allowed students to learn more quickly with very little assistance. Other educational institutions heard about the compiler and it quickly gained popularity at about seventy-five sites. Similar research experiments were carried on at the University of Wisconsin (FORGO on the IBM 1620) and Purdue University (PUFFT on the IBM 7090). Although technology has changed since the original WATFOR compiler was implemented, the need for such a tool in education still exists. Indeed the same design philosophy was also used to implement other language processors at Waterloo.

Since the original implementation, WATFOR has been developed to run on the IBM 360/370, DEC PDP-11 and VAX series of computers to take advantage of structured programming concepts, interactive debugging and character variables. With the advent of microcomputers, computing has become more accessible to end users. A new version of WATFOR called WATFOR-77 has been implemented in this environment. WATFOR-77 combines the load 'n go philosophy with ANSI FORTRAN 77. The technique of writing portable code has made it possible to implement and maintain WATFOR-77 on a wide variety of platforms. WATFOR has received world-wide distribution and is currently licensed for use by many 1000's of users at installations world-wide.

This year WATCOM is adding two new members to the Waterloo FORTRAN family. WATCOM FORTRAN 77 and WATCOM FORTRAN 77 /386 are two new FORTRAN 77 optimizing compilers that combine our WATFOR experience and WATCOM C technology.

For those of us with an historical interest in the project, the accompanying chronology highlights the major milestones.


The original WATFOR development team: Gus German, Richard Shirley, Robert Zamke, Jim Mitchell.

Milestones in the WATFOR evolution:

1965 - WATFOR announced for IBM 7040

1966 - Waterloo gets IBM /360 computer

1967 - WATFOR announced for /360

1967 - WATFOR implemented on XEROX computers

1967 - WATFOR implemented under IBM RAX operating system

1968 - WATFIV announced with CHARACTER variables and DIRECT ACCESS I/O

1970 - WATFIV implemented under DOS in cooperation with the University of Maine

1970 - WATFIV implemented under MUSIC in cooperation with McGill University

1970 - WATFIV implemented on RCA Spectra 70 computer (UNIVAC) in cooperation with the University of Dayton

1970 - WATFIV implemented under MTS in cooperation with the University of British Columbia

1970 - WATFIV implemented under TSS in cooperation with the National Research Council of Canada

1972 - Paul Cress and Paul Dirksen receive Grace Murray Hopper Award

1974 - WATFOR-11 available for DEC PDP-11

1974 - Structured Programming features added to WATFIV and WATFOR-11 (WATFIV-S and WATFOR-11S)

1975/1976 - WATFIV on DATAPRO Honour Roll

1984 - WATFOR-77 available under VM/SP CMS

1985 - WATFOR-77 implemented on IBM PC

1985 - WATFOR-77 delivered to IBM Japan for IBM JX PC

1986 - WATFOR-77 ported to UNISYS ICON under QNX

1987 - WATFOR-77 ported to VAX/VMS

1988 - WATFOR-77 ported to IBM PS/55 for IBM Japan

1990 - WATCOM FORTRAN 77 and WATCOM FORTRAN 77 /386 optimizing compilers begin shipping