355 500 произведений, 25 200 авторов.

Электронная библиотека книг » Walter Isaacson » The Innovators: How a Group of Inventors, Hackers, Geniuses, and Geeks Created the Digital Revolution » Текст книги (страница 7)
The Innovators: How a Group of Inventors, Hackers, Geniuses, and Geeks Created the Digital Revolution
  • Текст добавлен: 21 сентября 2016, 18:47

Текст книги "The Innovators: How a Group of Inventors, Hackers, Geniuses, and Geeks Created the Digital Revolution"


Автор книги: Walter Isaacson



сообщить о нарушении

Текущая страница: 7 (всего у книги 42 страниц)

The case did not determine, even legally, who should get what proportion of the credit for the invention of the modern computer, but it did have two important consequences: it resurrected Atanasoff from the basement of history, and it showed very clearly, though this was not the intent of the judge or either party, that great innovations are usually the result of ideas that flow from a large number of sources. An invention, especially one as complex as the computer, usually comes not from an individual brainstorm but from a collaboratively woven tapestry of creativity. Mauchly had visited and talked to many people. That perhaps made his invention harder to patent, but it did not lessen the impact he had.

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.

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

Jean Jennings and Frances Bilas with ENIAC.

Jean Jennings (1924–2011) in 1945.

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.

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

In fact, it was the calm Bloch rather than the spunky Hopper who had the more contentious relationship with Commander Aiken. “Dick was always getting in trouble,” Hopper claimed. “I would try to explain to him that Aiken was just like a computer. He’s wired a certain way, and if you are going to work with him you must realize how he is wired.”15 Aiken, who initially balked at having a woman on his officer corps, soon made Hopper not only his primary programmer but his top deputy. Years later he would recall fondly the contributions she made to the birth of computer programming. “Grace was a good man,” he declared.16

Among the programming practices that Hopper perfected at Harvard was the subroutine, those chunks of code for specific tasks that are stored once but can be called upon when needed at different points in the main program. “A subroutine is a clearly defined, easily symbolized, often repeated program,” she wrote. “Harvard’s Mark I contained subroutines for sine x, log10 x, and 10x, each called for by a single operational code.”17 It was a concept that Ada Lovelace had originally described in her “Notes” on the Analytical Engine. Hopper collected a growing library of these subroutines. She also developed, while programming the Mark I, the concept of a compiler, which would eventually facilitate writing the same program for multiple machines by creating a process for translating source code into the machine language used by different computer processors.

In addition, her crew helped to popularize the terms bug and debugging. The Mark II version of the Harvard computer was in a building without window screens. One night the machine conked out, and the crew began looking for the problem. They found a moth with a wingspan of four inches that had gotten smashed in one of the electromechanical relays. It was retrieved and pasted into the log book with Scotch tape. “Panel F (moth) in relay,” the entry noted. “First actual case of bug being found.”18 From then on, they referred to ferreting out glitches as “debugging the machine.”

By 1945, thanks largely to Hopper, the Harvard Mark I was the world’s most easily programmable big computer. It could switch tasks simply by getting new instructions via punched paper tape rather than requiring a reconfiguration of its hardware or cables. However, this distinction was largely unnoticed, both then and in history, because the Mark I (and even its 1947 successor, the Mark II) used slow and clackety electromechanical relays rather than electronic components such as vacuum tubes. “By the time anybody knew anything about her,” Hopper said of the Mark II, “she was a dead duck, and everybody was going electronic.”19

Computer innovators, like other pioneers, can find themselves left behind if they get stuck in their ways. The same traits that make them inventive, such as stubbornness and focus, can make them resistant to change when new ideas come along. Steve Jobs was famously stubborn and focused, yet he dazzled and baffled colleagues by suddenly changing his mind when he realized he needed to think different. Aiken lacked that agility. He was not nimble enough to pirouette. He had a naval commander’s instinct for centralized authority, so his crew was not as freewheeling as the Mauchly-Eckert team at Penn. Aiken also placed a premium on reliability rather than speed. So he clung to the use of time-tested and dependable electromechanical relays even after it became clear to the people at Penn and Bletchley Park that vacuum tubes were the wave of the future. His Mark I could execute only about three commands per second, while the ENIAC being built at Penn would execute five thousand commands in that time.

When he went to Penn to see ENIAC and attend some lectures, “Aiken was absorbed in his own way of doing things,” a report on the meeting noted, “and does not appear to have been aware of the significance of the new electronic machines.”20 The same was true of Hopper when she visited ENIAC in 1945. It seemed to her that the Mark I was superior because it was easily programmable. With ENIAC, she said, “you plugged the pieces and essentially you built a special computer for each job, and we were used to the concept of programming and controlling the computer by our program.”21 The time it took to reprogram ENIAC, which could be a whole day, wiped out the advantage it had in processing speed, unless it was doing the same task over and over.

But unlike Aiken, Hopper was open-minded enough that she soon changed her outlook. Advances were being made that year in ways to reprogram ENIAC more quickly. And the people in the forefront of that programming revolution, to Hopper’s delight, were women.

THE WOMEN OF ENIAC

All the engineers who built ENIAC’s hardware were men. Less heralded by history was a group of women, six in particular, who turned out to be almost as important in the development of modern computing. As ENIAC was being constructed at Penn in 1945, it was thought that it would perform a specific set of calculations over and over, such as determining a missile’s trajectory using different variables. But the end of the war meant that the machine was needed for many other types of calculations—sonic waves, weather patterns, and the explosive power of new types of atom bombs—that would require it to be reprogrammed often.

This entailed switching around by hand ENIAC’s rat’s nest of cables and resetting its switches. At first the programming seemed to be a routine, perhaps even menial task, which may have been why it was relegated to women, who back then were not encouraged to become engineers. But what the women of ENIAC soon showed, and the men later came to understand, was that the programming of a computer could be just as significant as the design of its hardware.

The tale of Jean Jennings is illustrative of the early women computer programmers.22 She was born on a farm on the outskirts of Alanthus Grove, Missouri (population: 104), into a family that had almost no money and deeply valued education. Her father taught in a one-room schoolhouse, where Jean became the star pitcher and lone girl on the softball team. Her mother, though she had dropped out of school in eighth grade, helped tutor algebra and geometry. Jean was the sixth of seven children, all of whom went to college. That was back when state governments valued education and realized the economic and social value of making it affordable. She attended Northwest Missouri State Teachers College in Maryville, where the tuition was $76 per year. (In 2013 it was approximately $14,000 per year for in-state residents, a twelve-fold increase after adjusting for inflation.) She started out majoring in journalism, but she hated her advisor so switched to math, which she loved.

When she finished in January 1945, her calculus teacher showed her a flyer soliciting women mathematicians to work at the University of Pennsylvania, where women were working as “computers”—humans who performed routinized math tasks—mainly calculating artillery trajectory tables for the Army. As one of the ads put it:

Wanted: Women With Degrees in Mathematics. . . . Women are being offered scientific and engineering jobs where formerly men were preferred. Now is the time to consider your job in science and engineering. . . . You will find that the slogan there as elsewhere is “WOMEN WANTED!”23

Jennings, who had never been out of Missouri, applied. When she received a telegram of acceptance, she boarded the midnight Wabash train heading east and arrived at Penn forty hours later. “Needless to say, they were shocked that I had gotten there so quickly,” she recalled.24

When Jennings showed up in March 1945, at age twenty, there were approximately seventy women at Penn working on desktop adding machines and scribbling numbers on huge sheets of paper. Captain Herman Goldstine’s wife, Adele, was in charge of recruiting and training. “I’ll never forget the first time I saw Adele,” Jennings said. “She ambled into class with a cigarette dangling from the corner of her mouth, walked over to a table, threw one leg over its corner, and began to lecture in her slightly cleaned up Brooklyn accent.” For Jennings, who had grown up as a spirited tomboy bristling at the countless instances of sexism she faced, it was a transforming experience. “I knew I was a long way from Maryville, where women had to sneak down to the greenhouse to grab a smoke.”25

A few months after she arrived, a memo was circulated among the women about six job openings to work on the mysterious machine that was behind locked doors on the first floor of Penn’s Moore School of Engineering. “I had no idea what the job was or what the ENIAC was,” Jennings recalled. “All I knew was that I might be getting in on the ground floor of something new, and I believed I could learn and do anything as well as anyone else.” She also was looking to do something more exciting than calculating trajectories.

When she got to the meeting, Goldstine asked her what she knew about electricity. “I said that I had had a course in physics and knew that E equaled IR,” she recalled, referring to Ohm’s Law, which defines how a flow of electrical current is related to voltage and resistance. “No, no,” Goldstine replied, “I don’t care about that, but are you afraid of it?”26 The job involved plugging in wires and throwing a lot of switches, he explained. She said that she wasn’t afraid. While she was being interviewed, Adele Goldstine came in, looked at her, and nodded. Jennings was selected.

In addition to Jean Jennings (later Bartik), the others were Marlyn Wescoff (later Meltzer), Ruth Lichterman (later Teitelbaum), Betty Snyder (later Holberton), Frances Bilas (later Spence), and Kay McNulty (who later married John Mauchly). They were a typical squad thrown together by the war: Wescoff and Lichterman were Jewish, Snyder a Quaker, McNulty an Irish-born Catholic, and Jennings a lapsed Church of Christ Protestant. “We had a wonderful time with each other, mainly because none of us had ever been in close contact with anyone from one of the others’ religions,” according to Jennings. “We had some great arguments about religious truths and beliefs. Despite our differences, or perhaps because of them, we really liked one another.”27

In the summer of 1945, the six women were sent to Aberdeen Proving Ground to learn how to use IBM punch cards and wire up plug boards. “We had great discussions about religion, our families, politics, and our work,” McNulty recalled. “We never ran out of things to say to each other.”28 Jennings became a ringleader: “We worked together, lived together, ate together, and sat up until all hours discussing everything.”29 Since they were all single and surrounded by a lot of single soldiers, there were multiple memorable romances nurtured over Tom Collins cocktails in the booths of the officers’ club. Wescoff found a Marine who was “tall and quite handsome.” Jennings paired up with an Army sergeant named Pete, who was “attractive but not really handsome.” He was from Mississippi, and Jennings was outspoken in her opposition to racial segregation: “Pete told me once that he would never take me to Biloxi because I was so outspoken in my views on discrimination that I’d be killed.”30

After six weeks of training, the six women programmers consigned their boyfriends to memory archives and returned to Penn, where they were given poster-size diagrams and charts describing ENIAC. “Somebody gave us a whole stack of blueprints, and these were the wiring diagrams for all the panels, and they said, ‘Here, figure out how the machine works and then figure out how to program it,’ ” explained McNulty.31 That required analyzing the differential equations and then determining how to patch the cables to connect to the correct electronic circuits. “The biggest advantage of learning the ENIAC from the diagrams was that we began to understand what it could and could not do,” said Jennings. “As a result we could diagnose troubles almost down to the individual vacuum tube.” She and Snyder devised a system to figure out which of the eighteen thousand vacuum tubes had burned out. “Since we knew both the application and the machine, we learned to diagnose troubles as well as, if not better than, the engineers. I tell you, those engineers loved it. They could leave the debugging to us.”32

Snyder described making careful diagrams and charts for each new configuration of cables and switches. “What we were doing then was the beginning of a program,” she said, though they did not yet have that word for it. They wrote out each new sequence on paper to protect themselves. “We all felt that we’d be scalped if we ruined the board,” said Jennings.33

One day Jennings and Snyder were sitting in the second-floor classroom they had commandeered, staring at rolled-out sheets containing the diagrams of ENIAC’s many units, when a man came in to inspect some construction. “Hi, my name is John Mauchly,” he said. “I was just checking to see if the ceiling’s falling in.” Neither woman had met the ENIAC visionary before, but they were not the least bit shy or intimidated. “Boy are we glad to see you,” Jennings declared. “Tell us how this blasted accumulator works.” Mauchly carefully answered the question and then others. When they finished, he told them, “Well, my office is next door. So anytime I’m in my office, you can come in and ask me questions.”

Almost every afternoon, they did. “He was a marvelous teacher,” according to Jennings. He pushed the women to envision the many things ENIAC might someday do, in addition to calculating artillery trajectories. He knew that in order to make it a true general-purpose computer, it would need to inspire programmers who could coax various tasks out of the hardware. “He used to always try to get us to think of other problems,” said Jennings. “He would always want us to invert a matrix or something like that.”34

Around the same time that Hopper was doing so at Harvard, the women of ENIAC were developing the use of subroutines. They were fretting that the logical circuits did not have enough capacity to compute some trajectories. It was McNulty who pushed a solution. “Oh, I know, I know, I know,” she said excitedly one day. “We can use a master programmer to repeat code.” They tried it and it worked. “We began to think about how we could have subroutines, and nested subroutines, and all that stuff,” recalled Jennings. “It was very practical in terms of doing this trajectory problem, because the idea of not having to repeat a whole program, you could just repeat pieces of it and set up the master programmer to do this. Once you’ve learned that, you learn how to design your program in modules. Modularizing and developing subroutines were really crucial in learning how to program.”35


    Ваша оценка произведения:

Популярные книги за неделю