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

She assumed that she would be assigned to a cryptography and code group, but to her surprise she was ordered to report to Harvard University to work on the Mark I, the behemoth digital computer with clunky electromechanical relays and a motorized turning shaft that, as described above, had been conceived by Howard Aiken in 1937. By the time Hopper was assigned to it, the machine had been commandeered by the Navy; Aiken was still running it, but as a commander in the Navy rather than as a member of the Harvard faculty.

When Hopper reported for duty in July 1944, Aiken gave her a copy of Charles Babbage’s memoirs and brought her to see the Mark I. “That is a computing machine,” he told her. Hopper just stared at it silently for a while. “There was this large mass of machinery out there making a lot of racket,” she remembered. “It was all bare, all open, and very noisy.”5 Realizing that she would need to understand it fully in order to run it properly, she spent nights analyzing the blueprints. Her strength came from her ability to know how to translate (as she had at Vassar) real-world problems into mathematical equations, and then to communicate those in commands that the machine would understand. “I learned languages of oceanography, of this whole business of minesweeping, of detonators, of proximity fuses, of biomedical stuff,” she explained. “We had to learn their vocabularies in order to be able to run their problems. I could switch my vocabulary and speak highly technical for the programmers, and then tell the same things to the managers a few hours later but with a totally different vocabulary.” Innovation requires articulation.

Because of her ability to communicate precisely, Aiken assigned her to write what was to become the world’s first computer programming manual. “You are going to write a book,” he said one day, standing next to her desk.

“I can’t write a book,” she replied. “I’ve never written one.”

“Well, you’re in the Navy now,” he declared. “You are going to write one.”6

The result was a five-hundred-page book that was both a history of the Mark I and a guide to programming it.7 The first chapter described earlier calculating machines, with an emphasis on those built by Pascal, Leibniz, and Babbage. The frontispiece was a picture of the portion of Babbage’s Difference Engine that Aiken had mounted in his office, and Hopper began with an epigraph from Babbage. She understood, as had Ada Lovelace, that Babbage’s Analytical Engine had a special quality, one that she and Aiken believed would distinguish the Harvard Mark I from other computers of the time. Like Babbage’s unbuilt machine, Aiken’s Mark I, which received its marching orders via a punch tape, could be reprogrammed with new instructions.

Every evening Hopper read to Aiken the pages she had written that day, which helped her learn a simple trick of good writers: “He pointed out that if you stumble when you try to read it aloud, you’d better fix that sentence. Every day I had to read five pages of what I had written.”8 Her sentences became simple, crisp, and clear. With their strong partnership, Hopper and Aiken became the modern counterparts, a century later, of Lovelace and Babbage. The more she learned about Ada Lovelace, the more Hopper identified with her. “She wrote the first loop,” Hopper said. “I will never forget. None of us ever will.”9

Hopper’s historical sections focused on personalities. In doing so, her book emphasized the role of individuals. In contrast, shortly after Hopper’s book was completed, the executives at IBM commissioned their own history of the Mark I that gave primary credit to the IBM teams in Endicott, New York, who had constructed the machine. “IBM interests were best served by replacing individual history with organizational history,” the historian Kurt Beyer wrote in a study of Hopper. “The locus of technological innovation, according to IBM, was the corporation. The myth of the lone radical inventor working in the laboratory or basement was replaced by the reality of teams of faceless organizational engineers contributing incremental advancements.”10 In the IBM version of history, the Mark I contained a long list of small innovations, such as the ratchet-type counter and the double-decked card feed, that IBM’s book attributed to a bevy of little-known engineers who worked collaboratively in Endicott.II

The difference between Hopper’s version of history and IBM’s ran deeper than a dispute over who should get the most credit. It showed fundamentally contrasting outlooks on the history of innovation. Some studies of technology and science emphasize, as Hopper did, the role of creative inventors who make innovative leaps. Other studies emphasize the role of teams and institutions, such as the collaborative work done at Bell Labs and IBM’s Endicott facility. This latter approach tries to show that what may seem like creative leaps—the Eureka moment—are actually the result of an evolutionary process that occurs when ideas, concepts, technologies, and engineering methods ripen together. Neither way of looking at technological advancement is, on its own, completely satisfying. Most of the great innovations of the digital age sprang from an interplay of creative individuals (Mauchly, Turing, von Neumann, Aiken) with teams that knew how to implement their ideas.

Hopper’s partner in operating the Mark I was Richard Bloch, a Harvard math major who had played flute in the university’s prank-loving band and served a tour of duty in the Navy. Ensign Bloch began working for Aiken three months before Hopper arrived, and he took her under his wing. “I remember sitting down, long into the night, going over how this machine worked, how to program this thing,” he said. He and Hopper alternated twelve-hour shifts tending to the demands of the machine and its equally temperamental commander, Aiken. “Sometimes he would show up at four in the morning,” Bloch said, “and his comment was ‘are we making numbers?’ He was very nervous when the machine stopped.”11

Hopper’s approach to programming was very systematic. She broke down every physics problem or mathematical equation into small arithmetic steps. “You simply step by step told the computer what to do,” she explained. “Get this number and add it to that number and put the answer there. Now pick up this number and multiply it by this number and put it there.”12 When the program was punched into a tape and the moment came to test it, the Mark I crew, as a joke that became a ritual, would pull out a prayer rug, face east, and pray that their work would prove acceptable.

Late at night Bloch would sometimes fiddle with the hardware circuits of the Mark I, which would cause problems for the software programs Hopper had written. She had a piss-and-vinegar personality salted with the language of a midshipman, and the ensuing tongue-lashings she gave to the lanky and calmly amused Bloch were a precursor of the mix of confrontation and camaraderie that was to develop between hardware and software engineers. “Every time I got a program running, he’d get in there at night and change the circuits in the computer and the next morning the program would not run,” she lamented. “What’s more, he was home asleep and couldn’t tell me what he had done.” As Bloch put it, “all hell broke loose” on such occasions. “Aiken didn’t look at these things with great humor.”13

Such episodes gave Hopper the reputation of being irreverent. That she was. But she also had a software hacker’s ability to combine irreverence with a collaborative spirit. This pirate crew camaraderie—something Hopper shared with subsequent generations of coders—actually liberated rather than restrained her. As Beyer wrote, “It was Hopper’s collaborative abilities rather than her rebellious nature that created the space for her independent thought and action.”14