Software

Software - the set of instructions that directs a computer to do a specific task (2, 80)

Software Timeline - 1940-50's

1944

summer - Harvard Mark I unveiled

- US Navy orders (Lt.)  Grace Hopper to assist (Commander) Aiken with programming. (2, p81) ( Ranks from (3, p203))

- Hopper's first assignment - computer coefficients for arc tangent series
- one of the first programmers in the US (programs on paper tape)
- reusing tapes leads to the idea of a library
- Mark III
- additional device translates math notation into Mark III codes (on mag tape) (2, p83)
- Zuse envisioned a Plan Preparation Machine to punch tapes for his Z4. (2, p84)
- also check syntax
- PPM never completed
- Rutishauser in Zurich on a Z4 realizes a computer can be its own PPM

- EDSAC (J. D. Wheeler)

- store sequences on tape
- read the tape
- store sequence in memory
- execute the sequence as needed
- "Wheeler jump" because predecessor of the subroutine call
- build a library of sequences
1952

- To "compile" (2, p85)

- instruction sequences are on cards in a library
- select appropriate sequences
- punch transitional instructions on cards
- "compile" all of this into a single card deck for execution
- "Compilers" began to automate this process

- Hopper's definitions (2, p85)

- A "compiler" is a "program-making routine, which produces a specific program for a particular problem."
- "Automatic Programming" is the whole process of using compilers.
- Hopper begins building A-0, A-1, .... series of compilers for UNIVAC.
- Yes, she's now working for Eckert and Mauchly rather than Aiken.






1954

- Laning and Zierler  (2, p86)

- Whirlwind
- similar to modern compilers
- generated code from algebraic user input
- not general purpose, but a way of solving algebraic equations
- inefficient object code (7)


- Assemblers more common than compilers (on into the 1960's)

- a few machine instructions for each line of assembler
- including the macro facility
- User Groups (SHARE, others....)

- Sorting a major function of programs, particularly in commercial programs

1956

- Hopper develops B-0, ... series compiler for UNIVAC (2, p92)

- Also called FLOW-MATIC, MATH-MATIC
- Oriented toward business applications


1957

- FORTRAN  for IBM 704 introduced (John Backus) (2, p90)

1959

May - US DoD "COBOL" Committee convenes

1960

- US Gov policy: lease or purchase only machines that run COBOL

Dec - "same" COBOL program runs on two different machines, UNIVAC II and RCA 501 (2, p92)

- COBOL's long identifiers due to Hopper (2, p92)


Software Market Expansion

Growth of Microsoft and others (1, 259-263)

Notes

1. Martin Campbell-Kelly and William Aspray. Computer: A History of the Information Machine (Basic Books, 1996).

2. Paul E. Ceruzzi. A History of Modern Computing (MIT Press, 2000).

3. Brian Randell, ed., The Origins of Digital Computers: Selected Papers (Berlin: Springer-Verlag, 1982).

4. Saul Rosen. "Electronic Computers: A Historical Survey."  In Computing Surveys, Vol 1, No 1, March 1969.  Association for Computing Machinery.

5. Saul Rosen (Ed.).  Programming Systems and Languages.  McGraw Hill Series in Computer Science, 1967.

6. Robert F. Rosin. "Supervisory and Monitor Systems."  In Computing Surveys, Vol 1, No 1, March 1969.  Association for Computing Machinery.

7. Donald Knuth.  "The Early Development of Programming Languages."  In Metropolis, Howlett, and Rota, eds., History of Computing in the Twentieth Century, 239.

8. Jan Bakker, ed., "History of Software," http://www.thocp.net/software/software.htm (History of Computing Foundation, accessed 2004 Oct 27).

Top of page