Изменить стиль страницы

Mauchly and Eckert should be at the top of the list of people who deserve credit for inventing the computer, not because the ideas were all their own but because they had the ability to draw ideas from multiple sources, add their own innovations, execute their vision by building a competent team, and have the most influence on the course of subsequent developments. The machine they built was the first general-purpose electronic computer. “Atanasoff may have won a point in court, but he went back to teaching and we went on to build the first real electronic programmable computers,” Eckert later pointed out.78

A lot of the credit, too, should go to Turing, for developing the concept of a universal computer and then being part of a hands-on team at Bletchley Park. How you rank the historic contributions of the others depends partly on the criteria you value. If you are enticed by the romance of lone inventors and care less about who most influenced the progress of the field, you might put Atanasoff and Zuse high. But the main lesson to draw from the birth of computers is that innovation is usually a group effort, involving collaboration between visionaries and engineers, and that creativity comes from drawing on many sources. Only in storybooks do inventions come like a thunderbolt, or a lightbulb popping out of the head of a lone individual in a basement or garret or garage.

I. For the equation an + bn = cn, in which a, b, and c are positive integers, there is no solution when n is greater than 2.

II. Every even integer greater than 2 can be expressed as the sum of two primes.

III. A process in which a number is divided by 2 if it is even, and is tripled and the result added to 1 if odd, when repeated indefinitely, will always eventually lead to a result of 1.

IV. By then Atanasoff had retired. His career after World War II had been spent in the field of military ordnance and artillery, not computers. He died in 1995. John Mauchly remained a computer scientist, partly as a consultant with Sperry and as the founding president of the Association for Computing Machinery. He died in 1980. Eckert likewise remained with Sperry much of his career. He died in 1995.

The Innovators: How a Group of Inventors, Hackers, Geniuses, and Geeks Created the Digital Revolution _82.jpg

Howard Aiken and Grace Hopper (1906–92) with a part of Babbage’s Difference Engine at Harvard in 1946.

The Innovators: How a Group of Inventors, Hackers, Geniuses, and Geeks Created the Digital Revolution _83.jpg

Jean Jennings and Frances Bilas with ENIAC.

The Innovators: How a Group of Inventors, Hackers, Geniuses, and Geeks Created the Digital Revolution _84.jpg

Jean Jennings (1924–2011) in 1945.

The Innovators: How a Group of Inventors, Hackers, Geniuses, and Geeks Created the Digital Revolution _85.jpg

Betty Snyder (1917–2001) in 1944.

CHAPTER THREE

PROGRAMMING

The development of the modern computer required another important step. All of the machines built during the war were conceived, at least initially, with a specific task in mind, such as solving equations or deciphering codes. A real computer, like that envisioned by Ada Lovelace and then Alan Turing, should be able to perform, seamlessly and quickly, any logical operation. This required machines whose operations were determined not just by their hardware but by software, the programs they could run. Once again Turing laid out the concept clearly. “We do not need to have an infinity of different machines doing different jobs,” he wrote in 1948. “A single one will suffice. The engineering problem of producing various machines for various jobs is replaced by the office work of ‘programming’ the universal machine to do these jobs.”1

In theory, machines such as ENIAC could be programmed and even pass for general-purpose machines. But in practice, loading in a new program was a laborious process that often involved replugging by hand the cables that connected different units in the computer. The wartime machines could not switch programs at electronic speeds. This would require the next major step in the creation of the modern computer: figuring out how to store programs inside a machine’s electronic memory.

GRACE HOPPER

Starting with Charles Babbage, the men who invented computers focused primarily on the hardware. But the women who became involved during World War II saw early on the importance of programming, just as Ada Lovelace had. They developed ways to code the instructions that told the hardware what operations to perform. In this software lay the magic formulas that could transform the machines in wondrous ways.

The most colorful programming pioneer was a gutsy and spirited, yet also charming and collegial, naval officer named Grace Hopper, who ended up working for Howard Aiken at Harvard and then for Presper Eckert and John Mauchly. Born Grace Brewster Murray in 1906, she was from a prosperous family on the Upper West Side of Manhattan. Her grandfather was a civil engineer who took her around New York on surveying trips, her mother was a mathematician, and her father was an insurance executive. She graduated from Vassar with a degree in math and physics, then went on to Yale, where in 1934 she earned her PhD in math.2

Her education wasn’t as unusual as you might think. She was the eleventh woman to get a math doctorate from Yale, the first being in 1895.3 It was not all that uncommon for a woman, especially from a successful family, to get a doctorate in math in the 1930s. In fact, it was more common than it would be a generation later. The number of American women who got doctorates in math during the 1930s was 113, which was 15 percent of the total number of American math doctorates. During the decade of the 1950s, only 106 American women got math doctorates, which was a mere 4 percent of the total. (By the first decade of the 2000s things had more than rebounded, and there were 1,600 women who got math doctorates, 30 percent of the total.)

After marrying a professor of comparative literature, Vincent Hopper, Grace joined the faculty of Vassar. Unlike most math professors, she insisted that her students be able to write well. In her probability course, she began with a lecture on one of her favorite mathematical formulasI and asked her students to write an essay about it. These she would mark for clarity of writing and style. “I’d cover [an essay] up with ink, and I would get a rebellion that they were taking a math course not an English course,” she recalled. “Then I would explain, it was no use trying to learn math unless they could communicate it with other people.”4 Throughout her life, she excelled at being able to translate scientific problems—such as those involving trajectories, fluid flows, explosions, and weather patterns—into mathematical equations and then into ordinary English. This talent helped to make her a good programmer.

By 1940 Grace Hopper was bored. She had no children, her marriage was unexciting, and teaching math was not as fulfilling as she had hoped. She took a partial leave from Vassar to study with the noted mathematician Richard Courant at New York University, focusing on methods for solving partial differential equations. She was still studying with Courant when the Japanese attacked Pearl Harbor in December 1941. America’s entry into World War II offered her a way to change her life. During the following eighteen months, she quit Vassar, divorced her husband, and at age thirty-six joined the U.S. Navy. She was sent to the Naval Reserve Midshipmen’s School at Smith College in Massachusetts, and in June 1944 graduated first in her class as Lieutenant Grace Hopper.