WATIAC

Last updated

WATIAC was a virtual computer developed for teaching the principles of assembly language programming to undergraduates. [1] [2] [3] WATIAC, and the WATMAP assembly language that ran on it were developed in 1973 by the newly founded Computer Systems Group, at the University of Waterloo, under the direction of Wes Graham.

In the 1970s most programming was conducted through batch stream processing, where the operating systems of the day, like IBM`s OS-360, would allow a single program to use all the resources of a large computer, for a limited period of time. [4] Since student programs were only run a few times, possibly only once, after they had been successfully written, and debugged, efficient running of those programs was of relatively little importance, compared with quick compilation and relatively good error messages.

Waterloo had been a leader in writing single pass, compile-and-go teaching compilers, with first its WATFOR FORTRAN compiler, and its WATBOL COBOL compiler. [2] [3] WATMAP was developed to be a similar compile-and-go teaching compiler.

Related Research Articles

Computer programming is the process of performing particular computations, usually by designing and building executable computer programs. Programming involves tasks such as analysis, generating algorithms, profiling algorithms' accuracy and resource consumption, and the implementation of algorithms. The source code of a program is written in one or more languages that are intelligible to programmers, rather than machine code, which is directly executed by the central processing unit. To produce machine code, the source code must either be compiled or transpiled. Compiling takes the source code from a low-level programming language and converts it into machine code. Transpiling on the other hand, takes the source-code from a high-level programming language and converts it into bytecode. This is interpreted into machine code. The purpose of programming is to find a sequence of instructions that will automate the performance of a task on a computer, often for solving a given problem. Proficient programming thus usually requires expertise in several different subjects, including knowledge of the application domain, specialized algorithms, and formal logic.

In computing, a compiler is a computer program that translates computer code written in one programming language into another language. The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a low-level programming language to create an executable program.

<span class="mw-page-title-main">Fortran</span> General-purpose programming language

Fortran is a general-purpose, compiled imperative programming language that is especially suited to numeric computation and scientific computing.

PL/I is a procedural, imperative computer programming language initially developed by IBM. The PL/1 ANSI standard, X3.53-1976, was published in 1976. It is designed for scientific, engineering, business and system programming. It has been in continuous use by academic, commercial and industrial organizations since it was introduced in the 1960s.

In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language elements, be easier to use, or may automate significant areas of computing systems, making the process of developing a program simpler and more understandable than when using a lower-level language. The amount of abstraction provided defines how "high-level" a programming language is.

In computer science, imperative programming is a programming paradigm of software that uses statements that change a program's state. In much the same way that the imperative mood in natural languages expresses commands, an imperative program consists of commands for the computer to perform. Imperative programming focuses on describing how a program operates step by step, rather than on high-level descriptions of its expected results.

Watcom International Corporation was a software company, which was founded in 1981 by Wes Graham and Ian McPhee. Founding staff were formerly members of Professor Graham's Computer Systems Group at the University of Waterloo, in Waterloo, Ontario, Canada. Watcom produced a variety of tools, including the well-known Watcom C/C++ compiler introduced in 1988.

<span class="mw-page-title-main">PL/C</span> Programming language developed at Cornell University

PL/C is an instructional dialect of the programming language PL/I, developed at the Department of Computer Science of Cornell University in the early 1970s in an effort headed by Professor Richard W. Conway and graduate student Thomas R. Wilcox. PL/C was developed with the specific goal of being used for teaching programming. The PL/C compiler, which implemented almost all of the large PL/I language, had the unusual capability of never failing to compile a program, through the use of extensive automatic correction of many syntax errors and by converting any remaining syntax errors to output statements. This was important because, at the time, students submitted their programs on IBM punch cards and might not get their output back for several hours. Over 250 other universities adopted PL/C; as one late-1970s textbook on PL/I noted, "PL/C ... the compiler for PL/I developed at Cornell University ... is widely used in teaching programming." Similarly, a mid-late-1970s survey of programming languages said that "PL/C is a widely used dialect of PL/I."

The Dartmouth Time-Sharing System (DTSS) is a discontinued operating system first developed at Dartmouth College between 1963 and 1964. It was the first successful large-scale time-sharing system to be implemented, and was also the system for which the BASIC language was developed. DTSS was developed continually over the next decade, reimplemented on several generations of computers, and finally shut down in 1999.

<span class="mw-page-title-main">History of programming languages</span> Aspect of history

The history of programming languages spans from documentation of early mechanical computers to modern tools for software development. Early programming languages were highly specialized, relying on mathematical notation and similarly obscure syntax. Throughout the 20th century, research in compiler theory led to the creation of high-level programming languages, which use a more accessible syntax to communicate instructions.

Paul H. Cress (1939–2004) was a Canadian computer scientist.

WATFIV, or WATerloo FORTRAN IV, developed at the University of Waterloo, Canada is an implementation of the Fortran computer programming language. It is the successor of WATFOR.

Write once, compile anywhere (WOCA) is a philosophy taken by a compiler and its associated software libraries or by a software library/software framework which refers to a capability of writing a computer program that can be compiled on all platforms without the need to modify its source code. As opposed to Sun's write once, run anywhere slogan, cross-platform compatibility is implemented only at the source code level, rather than also at the compiled binary code level.

The David R. Cheriton School of Computer Science is a professional school within the Faculty of Mathematics at the University of Waterloo. QS World University Rankings ranked the David R. Cheriton School of Computer Science 24th in the world, 10th in North America and 2nd in Canada in Computer Science in 2014. U.S. News & World Report ranked the David R. Cheriton School of Computer Science 42nd in world and second in Canada.

James George Mitchell is a Canadian computer scientist. He has worked on programming language design and implementation, interactive programming systems, dynamic interpreting and compiling, document preparing systems, user interface design, distributed transactional file systems, and distributed, object-oriented operating systems. He has also worked on the design of hardware for computer graphics, high-level programming language execution, and audio input/output.

<span class="mw-page-title-main">History of compiler construction</span>

In computing, a compiler is a computer program that transforms source code written in a programming language or computer language, into another computer language. The most common reason for transforming source code is to create an executable program.

<span class="mw-page-title-main">Wes Graham</span> Canadian computer scientist and professor

James Wesley Graham, OC was a Canadian professor of computer science at the University of Waterloo.

WATBOL is a teaching compiler for the COBOL programming language developed in 1969 at the University of Waterloo. The compiler was a companion product, built under the design philosophy, of Waterloo's earlier, widely used WATFOR teaching compiler. Since programs written by undergraduate students were unlikely to be run more than a few times, after they were successfully written and debugged, the efficiency of the program, once compiled was of secondary importance, compared with giving simpler, clearer error messages, and in simplifying the steps for the student to compile the program. At that time executing a program through the use of commercial compiler was a three-step process. First the Fortran, or COBOL, had to be compiled into assembly language, then the assembly language had to be assembled into binary code; finally the compiled and assembled code had to be linked with previously written libraries of subroutines. WATFOR and WATBOL allowed simple programs to be compiled, linked, and executed in a single step.

Dave Boswell is a Canadian computer scientist who was awarded the J.W. Graham Medal for his contributions to the field in 2003.

Terry Stepien is a Canadian computer scientist, and protege of Wes Graham, an influential professor of Computer Science at Stepien's alma mater, the University of Waterloo. Stepien earned a Bachelor of Mathematics in 1981, and his Masters in 1988.

References

  1. "Chronology - 1970s: The Evolution of The University of Waterloo Continues --1973". University of Waterloo . Retrieved 2012-12-17. The CSG developed WATIAC, a hypothetical computer, and the WATMAP assembler at the request of AA/CS. The integrated system was used to teach assembly language and machine architecture to Mathematics and Computer students.
  2. 1 2 Ron H. Cooper (1974). An Introduction to WATIAC and WATMAP. Waterloo Foundation for the Advancement of Computing. ISBN   9780919884021.
  3. 1 2 J.A. Smith (1975). "Architecture and Operation of the WATIAC Computer". University of Waterloo Department of Computer Science . Retrieved 2012-12-17.
  4. Christopher Brown-Syed (2011). Parents of Invention: The Development of Library Automation Systems in the Late 20th Century: The Development of Library Automation Systems in the Late 20th Century. ABC-CLIO. p. 10. ISBN   9781591587910 . Retrieved 2012-12-17. During the 1970s, the University of Waterloo, located in southern Ontario, Canada, was almost as synonymous with computing as MIT or Berkeley. It had developed extensions to the popular general-purpose Fortran programming language called WATFOR and WATFIV and its own version of the equally popular business computing language COBOL, called WATBOL.