Tuesday, 1 December 2009

Review: Grace Hopper and the Invention of the Information Age, Kurt W Beyer (2009)

As one of the inventors of computer programming, Grace Hopper stood with her feet firmly placed on the surfboard of futurity that was riding the new wave of information processing. The book opens in 1944 when, immediately after Pearl Harbor, Hopper volunteered to join the military. A trained mathematician, she found herself in the Navy, looking after a giant, mechanical computer that used electromagnetic contacts to process information.

The building-sized behemoth was tasked with running calculations for the Manhattan Project. Hopper helped run the machine. With an academic background, she started to look for ways to improve its functioning and thus the first 'programs' were born.

After the war, she had a choice of companies and chose one that soon ran into management problems. It was bought by the Rand Corporation. But the new name didn't change Hopper's concerns and interests. As the machines we now know as computers became more and more popular, the need arose for more programmers. Hopper took up the baton and wrote compiler software, which she called 'automatic programming'.

The idea was to enable people without mathematical knowledge to program computers.

Her natural-language compiler was popular within her own company, and was used by customers who bought Sperry Rand computers, but International Busienss Machines (IBM) was soon the biggest manufacturer.

(Beyer puts this success down to IBM's winning a critical Department of Defence contract to build machines to process calculations for a huge, Cold War missile defense system. IBM was, in the 50s, just one of many manufacturers. The DoD contract helped it to quickly become the dominant provider.)

IBM and other manufacturers of computers, such as Honeywell, were busy making their own computer languages. Hopper saw that programming was becoming a major financial drain on customers and suggested setting up working groups to decide on a single, portable language for all computers.

COBOL, as the language was called, was based on the compiler language Hopper herself had developed while working at Sperry Rand.

Hopper fought against resistance from two parties. On the one hand, expert programmers said that the language wasn't elegant enough. It produced code that contained redundancies, and the compiling process took too much time.

On the other hand, she fought against rival manufacturers, who had spent money developing programming languages that looked to be superceded by COBOL.

Hopper's success, Beyer says, came from her strong links in the industry. She was able to convince key stakeholders - especially those in major customer groups, such as the military - that a natural-language compiler was essential as it would allow newbies to quickly become expert programmers. Especially within Defense, which relied on a rotation system for personnel assignment, ease-of-use was key.

She also got other programmers on-side. Having worked in a highly collaborative fashion for decades, Hopper was held in high esteem by the programming fraternity (and sorority). In a sense, then, she 'curated' the development of the first platform-agnostic programming language by marshalling the minds of hundreds of experts, customers, managers, and salespeople.

Even today, 80 percent of computer code is written in COBOL. The quality of the language is, says Beyer, a testament to Hopper's skill in diplomacy, and her hard work over many years establishing a high profile in a male-dominated industry.

No comments: