Various groups in Europe wrote ALGOL compilers at this time, but in the United States the only one which had significant use was one Burroughs wrote for its model 220 computer. Some languages emerged which were derivatives of ALGOL, such as NELIAC (Navy Electronics Laboratory International ALGOL Compiler) and MAD (Michigan Algorithm Decoder). NELIAC was first implemented on the computers which UNIVAC developed for the Navy Tactical Data System, and a compiler was later written for the UNIVAC 1108.
MAD is perhaps most famous for the line printer picture of Alfred E. Neumann which was printed when an attempted compilation had too many errors. Underneath the picture it printed the caption: See this man about your program--He might want to publish it. He never worries--but from the looks of your program, you should. MAD faded from the scene in the 1970s.
A very simple MAD program follows:
INTEGER A
START A = 1
WHENEVER A .G. 0
PRINT COMMENT $ A GTR 0$
OTHERWISE
PRINT COMMENT $A LEQ 0$
END OF CONDITIONAL
PRINT COMMENT $ END $
END OF PROGRAM
The WHENEVER OTHERWISE END OF CONDITIONAL is equivalent to an if-else
statement.
UNIVAC developed the 1107, its secondgeneration scientific computer, between 1960 and 1962. There was much talk about ALGOL being its primary language. (In 1959, it had even been proposed to develop an ALGOL compiler for UNIVACs LARC supercomputer, but the LARC project was so far over budget that the proposal never got anywhere and the LARC used a modified FORTRAN). At that time, the company's resources were spread very thin, and much of the software development was farmed out. UNIVAC wrote an operating system (EXEC I) and an assembler (SLEUTH), but development of the FORTRAN and ALGOL compilers was assigned to General Kinetics, a firm in Arlington, VA. General Kinetics ultimately failed to produce either one. The COBOL compiler was assigned to Computer Sciences Corporation (CSC). CSC, with the approval of Bob Bemer, UNIVACs Director of Systems Programming, altered the terms of the contract by writing its own operating system (EXEC II) and producing COBOL for it instead. EXEC II was an excellent operating system, and CSC also developed a FORTRAN compiler for it. Case Institute of Technology in Cleveland provided an ALGOL compiler for the EXEC II environment, as part of the arrangement by which it acquired an 1107. The Case Tech compiler was completed in 1964, and computer science students there were trained in ALGOL, rather than FORTRAN. However, FORTRAN was the most widely used language on the 1107.
SIMULA used a framework of activities and processes. An activity was a class of similar entities called processes. An activity was constructed in a manner similar to an ALGOL procedure, having a declaration (naming the activity and listing its parameters), operations (statements), and data items. For example:
activity machine (speed, holesize); real speed, holesize; begin data items operation statements; end
An instance of machine might be NewMachine (3, 0.625). [This example is taken from UNIVAC 1106/1108 SIMULA (1971).] When SIMULA was revised in 1967, the terms class and object were used in place of activity and process.
In 1965 the Technical Institute at Trondheim, Norway obtained its own 1107 at a discount and began working on a new ALGOL compiler. It was adopted by UNIVAC which named it Norwegian University ALGOL (NU ALGOL). A sample NU ALGOL program follows:
BEGIN
comment program to find sum of set of numbers;
comment declare X and SUM to be real;
REAL X,SUM;
comment format f1 indicates 5 columns, 1 decimal place;
FORMAT F1(A,D5.1);
FORMAT F2(' sum = ',D7.1,A1.0);
FORMAT F3(x1,D5.1,A1.0);
SUM:=0.0;
comment read input value using format f1;
comment when no more data, go to p2;
P1: READ(CARDS,F1,X,P2);
WRITE(PRINTER,F3,X);
SUM:=SUM + X;
GO TO P1;
P2: WRITE(PRINTER,F2,SUM);
END;
NU ALGOL found modest use within the UNIVAC 1100 customer base. The University of Wisconsin, which was making the transition from a Burroughs B5500 to a UNIVAC 1108, developed various extensions to NU ALGOL including the capability of handling ASCII characters in place of the 1108s native Fieldata character set. Wisconsin wrote an e-mail system using NU ALGOL.
Copyright 2002, by George Gray