Higher Level Languages
Higher Level Languages
Should programming a computer cost more than buying the computer?
Until the mid 1950s, programming digital computers meant creating instructions in the language of the machine itself—a slow, error-prone process. As computers grew more affordable, programming costs began to overshadow hardware costs.
The development of higher-level, more user-friendly programming languages made writing large programs easier. But the cost of creating software was—and is—still huge.
Grace Hopper worked on some of the earliest computers and quickly developed advanced software programs and tools to make programming computers easier. After World War II, she joined EMCC (later Remington-Rand Univac) where she developed “A-0”—often considered the first compiler—a program to help write other programs. She was also involved in the development of the COBOL programming language, still in use today by many large corporations.
Hopper was a natural teacher, beginning her career as a mathematics instructor at Vassar College. In later years, she became a celebrity for her humorous talks on computer history, which included an appearance on Late Night with David Letterman. Throughout her life, she was an active US Navy officer, retiring in 1986 with the rank of Rear Admiral.View Artifact Detail
The committee that developed the COBOL programming language endured criticism, with many skeptics predicting that the new language would be a failure. Committee member Howard Bromberg had this tombstone made for the team as a practical joke, but COBOL turned out to be a great success. By 1997, over 200 billion lines of COBOL code were still running on critical systems around the world. Hopper served on the committee and was an enthusiastic promoter of COBOL.View Artifact Detail
Tech Talk: Moving Beyond Machine Language
As stored in the computer's memory, a program is just a pattern of zeros and ones that encodes a sequence of instructions in the computer's “machine language.” But writing that sequence is tedious and error-prone.
The earliest advance in programming was to create an "assembly language" so that people could write names instead of numbers, both for the operation codes and for the identification of memory locations. The "assembler" program translates that into machine language. But, generally speaking, the programmer still had to write one line in the program for every computer instruction.
The next breakthrough, in higher-level languages like Fortran, was to create a "compiler" program that would translate a more English-like statement into as many machine-language instructions as needed to perform the function.
Language designers have created hundreds of higher-level languages, used by programmers to write millions of programs.
Suppose you were told to write a program to compute the sum of one thousand numbers stored in computer memory. Here are program fragments for three different ways you might have done it in 1960 for the IBM 7090 computer.View Artifact Detail
Early programmers drew charts by hand to design the logical flow of a program.View Artifact Detail