The first software

The term “software” did not come into use until 1958. It is probable that it was coined by Princeton University professor John W. Tukey in an article in The American Mathematical Monthly in January of that year (Peterson, 2000).

Grace Murray Hopper, a mathematician who joined the US naval reserve during the war and who rose to become an Admiral. In 1951 Hopper joined Eckert and Mauchly’s fledgling UNIVAC company to develop an instruction code for the machine. She devised the term “automatic programming” to describe her work .

Her work led directly to the development of FORTRAN (“FORmula TRANslator”), the world’s first true computer language. FORTRAN was developed and released in 1954 by an IBM development team led by a young researcher named John Backus.

FORTRAN enabled people to program computers using simple English-like
instructions and mathematical formulas. It led to a number of other languages, the most successful of which was COBOL (Common Business-Oriented Language), initially developed by the US government Committee on Data Systems and Languages (CODASYL) and strongly promoted by Grace Hopper. COBOL and FORTRAN dominated programming until the late 1970s.

These languages became known as 3GLs (third generation languages), so called because they were an evolution from the first and second generations of computer language – machine code and assembler.

Early computers not only didn't have programming languages, also did not have
operating systems. Every function had to be separately programmed, and in the early days there was no distinction between systems and applications software.

The first true operating system is generally agreed to be MAD (Michigan Algorithmic
Decoder), developed at the University of Michigan in 1959.

April 1964 marks the beginning of the modern computer industry, and by extension the software industry. In that month IBM released the System/360, its revolutionary mainframe architecture. The 19 models in the S/360 range could use the same peripherals and software, making it very easy to move to a larger computer within the range, and to move on to new models as they were released.

Previous IBM machines, such as the 1401, were incompatible with other
machines in IBM's range. Every time IBM, or anybody else, brought out a new computer, users had to rewrite their entire applications suite and replace most of their peripherals.


References and useful resources: