DEVELOPING SOFTWARE PROGRAMMING
by R. J. Reiman, Historian
All early computers. ENIAC. the IAS machine, Manchester University's Mark 1, the IBM 701, and
Whirlwind were very difficult to program. In general, the first computers were programmed in
machine code of binary numbers, or in codes known as ASSEMBLY LANGUAGES. These used
letters, numbers, symbols, and short words such as ADD. After entry into the computer, it translated
these languages into machine code by means of internal programs called ASSEMBLERS, and the
resulting machine code was punched out on cards or tape and was then re-entered into the computer
by the operator. Later, high-level programming languages which used ordinary English phrases and
mathematical expressions were developed. IBM and Remington Rand then researched advancing
these techniques.
An ENIAC program was a wiring diagram with instructions on connecting the machine's switches and
plug-boards to solve a given problem. Numerical circuits and programming circuits had to be
connected in detail, a 2 or 3 day operation, to solve a complicated problem. ENIAC's team, Herman
Goldstine and John W. Mauchly, with help from John von Neumann, developed FLOW
CHARTING, a pictorial representation of the computer's operation.
By late 1940's, ENIAC was superseded by stored-program computers which enabled avoidance of the computer
wiring step, and allowed instructions to be fed directly by punch cards or magnetic tape decks. This,
however, still required the use of binary numbers which was awkward for people. UNIVAC. at
Mauchly's suggestion, developed a SHORT CODE with letters like SO and numbers like 03 to
simplify an equation such as A=B + C.
In the early 1950's, FLOATING POINT system enabled large numbers to become manageable. For
example, 2,500 became .25 X 10 to the 4th power. This system was not done automatically. In
addition, the programmer had to assign memory address i.e. INDEXING, and also handle
input/output operations.
In 1951, Grace Murray Hopper, a mathematician at Remington Rand, conceived of an internal
program for automatic floating-point operation, called a COMPILER. The compiler generated an
organized program and carried it out. The idea spread to programmers at MIT, J. Halcome Lanin,
and Niel Zierler, invented the first practical compiler for WHIRLWIND, which could use words like
PRINT and STOP, as well as do equations like A + B = C in their natural form. Their compiler
required excessive machine time to operate.
In 1953 John Baccus of IBM began on a compiler and higher language program called FORTRAN, FORmula TRANslation, project. The effort proved difficult to complete, and it took until 1956 before debugging could begin and be concluded in 1957. The program manual for the IBM 704 was 51 pages long, described the high level language, and explained about PUNCH, READ, and DRUM. There were many field problems with FORTRAN, but it was a landmark in the history of computers. You could make the computer do your bidding, with the computer automatically and rapidly translating your instructions into machine code. IBM licensed FORTRAN to competing manufacturers, and now computers could speak the same language! FORTRAN was not, however, suited for business and other applications. These would be filled by COBOL, ALGOL, AND BASIC.