Betty taught Grace how to use flowcharts to set up complex problems, something she had never done. The Mark I had been perfectly linear, all the code just “riding” along on trails of paper tape. But the machines at Eckert-Mauchly could modify instructions along the way, making loops. “Now I had two-dimensional programs to think about,” recalled Grace, which required “thinking in another dimension,” something Betty formalized in her elegant flowcharts. Betty, Grace concluded, “was terrific.” Beyond the C-10 code, Betty made two more significant contributions to computing while she was working at EMCC. The first was cosmetic: she persuaded the engineers to change the UNIVAC’s exterior color from black to the oatmeal beige that would become the universal color of desktop computers (yes, I have Betty to thank for my dun-colored Dell). The second was a program she called a “Sort-Merge Generator,” which took specifications for data files and automatically generated routines for sorting and merging that data, keeping track of all the input and output in the UNIVAC’s tape units.
Grace Hopper was floored by Betty’s Sort-Merge Generator. According to Grace, it marked the first time a computer was ever used to write a program that wrote a program. This would have a huge influence on Grace, and indeed on the entire history of computing. But not everyone saw it that way at first. “At that time the Establishment promptly told us—at least they told me quite frequently—that a computer could not write a program,” Grace remembered. “It was totally impossible; that all that computers could do was arithmetic, and that it couldn’t write programs; that it had none of the imagination and dexterity of a human being. I kept trying to explain that we were wrapping up the human being’s dexterity in the program.”
Indeed, thanks to the dexterity of programmers like Betty and Grace, UNIVAC was the most powerful computer in the world. Its magnetic-tape programs allowed input and output speeds to finally match the speed of its electronic components. The UNIVAC dominated its competition, becoming synonymous with the technology itself: as Kleenex is to tissues and Xerox is to photocopies, in the 1950s, UNIVAC was to computers. Even a young Walter Cronkite consulted it like an oracle. On Election Night, 1952, a UNIVAC running a statistical program live on CBS Election Night coverage predicted Dwight Eisenhower’s landslide victory over Adlai Stevenson when no traditional poll saw it coming. The gimmick was so popular that the computer became a regular feature on CBS.
Despite their public successes, Mauchly and Eckert stumbled behind the scenes. They were academics, with good intentions inversely proportionate to their business expertise. Their stored-program electronic computers were an untested, expensive technology that required a hard sell and no shortage of hand-holding for those clients who did buy in. EMCC’s first major injection of capital—from a Baltimore company, American Totalisator, that made betting-odds calculators for racetracks—fell to pieces after the vice president of the company died in a freak plane crash. Strapped for cash, Mauchly and Eckert tried to sell EMCC to IBM, but Big Blue wanted nothing to do with them—IBM’s aged CEO, Thomas Watson Jr., didn’t believe in magnetic tape and elected to stick with the proven business of punch card systems. They were forced to sell EMCC to a business machine company, Remington Rand, once the proud manufacturer of the world’s two most important weapons: guns and typewriters.
Selling out to Remington Rand wasn’t an inspired decision, but it was grimly practical. The company had been in the punch card business for years, and they anticipated growth in the computing sector. They bought out EMCC’s debts, effectively saving the company from ruin, and promised that their experienced sales teams could sell the UNIVAC in their sleep. Unfortunately, Remington Rand’s senior management knew nothing about Boolean algebra, subroutines, or code. Worse, they had no clue what to do with all the women working in senior positions at EMCC.
“When Remington Rand bought UNIVAC,” Betty Snyder recalled some years later, “as far as I was concerned, that was the end of the line, because their idea of women was to sit beside a typewriter.” Nobody at Remington Rand had ever worked with technical women, and they resisted the idea that a woman could lead a presentation, meet with clients, or even understand the UNIVAC installations they had designed. “I mean, it was just as though they never dreamed that anybody would listen to you and take you seriously,” Betty Jean Jennings complained. It would be the end of the salad days.
Remington Rand had the foresight to buy the Eckert-Mauchly Computer Corporation, but they didn’t know what to do with the group of freethinkers they inherited in the acquisition. It was a crisis of values that would be repeated ad infinitum in the technology business. Eckert-Mauchly was a place where brilliant women coaxed symbols into code and new ideas unraveled on every spool of magnetic tape. But that vision, and the unorthodox environment that nurtured it, struggled to sustain itself in a world of punch card tabulators. The dreamers were bought by a company who “thought these idiots down in Philadelphia were insane,” that “nobody would buy these million-dollar machines, and there were very few applications for which they were really usable.”
The open and transparent company structure of EMCC was gobbled up by Remington Rand’s old-school corporate hierarchy. The company’s central office was in New York City, which may as well have been Mars for all the EMCC team was able to communicate with it. Betty Snyder, who’d never had a title or a department, suddenly had a boss. “That was a disaster,” she said, “because I’d go to him with decisions and he’d make the wrong decisions and I had to live with them.” At EMCC, everyone had served the machine. But at Remington Rand, there were other masters, whose interests were often at odds with their work. In 1990, long after they’d all retired, a group of former Eckert-Mauchly employees got together at the Smithsonian Institution to get their history down on record. Even forty years later, nobody had a nice thing to say about Remington Rand. An excerpt from that oral history:
CERUZZI (moderator): I wonder if there is anyone here who would like to defend Remington Rand management, because . . . [laughter] Do we have any volunteers for this?
TONIK (former UNIVAC programmer): No, not exactly.
CERUZZI: No? Not at all.
The UNIVAC was a million-dollar machine, but Remington Rand’s salesmen were not trained to understand what it could do. They were used to tabulating machines, which ran on punched cards; hard copies were an easy sell for office contracts, as opposed to the UNIVAC’s black magnetic tape, which was unknowable, literally opaque. “There was no feeling” about the UNIVAC, Betty recalled, “except what they were going to get out of it.” The best the salesmen could do was use the computer in a bait-and-switch routine: they’d bring Betty Jean Jennings to sales calls at government agencies, where she would diligently describe everything the stored-program computer was capable of doing. Then they’d hustle her out of the room so that the men could sell some typewriters.
It might’ve been better than the alternative. When Remington Rand’s salesmen did take a crack at selling the UNIVAC, their lack of understanding horrified the old Eckert-Mauchly programmers. At one point, Rem-Rand hired a man unknown to anyone at Eckert-Mauchly to write all of the UNIVAC marketing materials and to finally train sales staff on the machine. He consulted nobody familiar with the UNIVAC. Mauchly was furious. “We are at a loss to understand how anyone, having accepted a position demanding experience he does not have,” he banged out in a memo, “would fail to seek all possible help to discharge his duties.”
Grace Hopper and her programming team were forced to pick up the slack. By 1950, they were pulling multiple shifts: selling and marketing the UNIVAC where Remington Rand couldn’t do it effectively and managing customer support when the client installations inevitably posed problems. They were bound to fail, even if they succeeded: Remington Rand management forcibly scaled down production of the UNIVAC to six a year, but after two years of the programmers handling sales, they’d sold forty-two machines. “The result was they couldn’t deliver the damn things,” a
UNIVAC engineer, Lou Wilson, recalled at the Smithsonian meeting.
Grace, in particular, found herself in an untenable position. She was doing the work of three people in a field most had trouble even defining. At Eckert-Mauchly, she’d been senior mathematician—“it sounded impressive enough to match the salary”—but at Remington Rand, seniority just meant more work. Beyond managing a team of programmers and overseeing custom software projects for each client, she served as clearinghouse for customer support. It was a constant battle. To say nothing of her side hustles: she was always furthering the art, working in what little spare time she had on improvements to programming technique. But it suited her to be busy. She’d had a rough patch in the years between Eckert-Mauchly’s insolvency and its acquisition by Remington Rand, her alcoholism creeping back—she was even arrested for drunk and disorderly conduct in November 1949. But Howard Aiken’s lab at Harvard hadn’t been a pleasure cruise, either, and those punishing circumstances had brought out her best ideas. The same would happen during her most trying years at Remington Rand.
Chapter Four
TOWER OF BABEL
In the early 1950s, programming wasn’t well understood beyond its industry—or even within it, judging from the difficulty Grace had communicating with the sales department of her own company. Not coming from any existing art, programmers began their careers elsewhere: some, like Grace, were mathematicians while others were discovered through aptitude tests or were given a shot because of their affinities for crossword puzzles and plane geometry. To succeed, they had to learn their hardware exhaustively and fail constantly. This created a certain sense of earned privilege. John Backus, a computer scientist at IBM and a contemporary of Grace Hopper’s, famously characterized programmers in the 1950s as a priesthood, “guarding skills and mysteries far too complex for ordinary mortals.” As much as the wizards appreciated shortcuts for their drudgery, “they regarded with hostility and derision more ambitious plans to make programming accessible to a larger population.”
Grace wanted out of the priesthood. She strongly believed that computer programming should be widely known and available to nonexperts. If computers weren’t so painstaking to program, perhaps they’d be easier to sell; if clients could write and rewrite their own code, then her staff wouldn’t have to create custom programs for each UNIVAC installation. Which would be ideal, because there were only a few really good programmers in the world, and their talents were being wasted on dreck. As the world awoke to its possibilities, the computing industry was exploding, and there weren’t enough trained programmers to satisfy demand. Grace and her peers weren’t getting any younger, either; the field needed new blood and it needed to become more accessible. Grace knew that would only happen when two things occurred:
Users could command their own computers in natural language.
That language was machine independent.
That is to say, when a piece of software could be understood by a programmer as well as by its users, and when the same piece of software could run on a UNIVAC as easily as on an IBM machine, code could begin to bend to the wills of the world. Grace called this general idea “automatic programming,” and to anyone who knew her, it was a logical outgrowth of her Harvard work on subroutines and code documentation. She’d always liked finding ways to make programming a little easier, a little more efficient. During the war, her shortcuts saved time and lives. After the war, they saved money and heartache.
To the higher-ups at Remington Rand, however, investing in automatic programming seemed like a distraction from the real business of computer sales. Why make things easier, when what they were selling was expertise? Her fellow programmers had reservations, too: Grace’s proposition might put them out of work. In later years, as the discussion over automatic programming grew more and more contentious, each side of the argument earned a nickname. Those who resisted automatic programming became known as the “Neanderthals.” They might as well have called themselves framebreakers, as Lord Byron had over a century before.
The “space cadets,” on the other hand, believed in a bug-free future, where the programs wrote themselves, or at least pulled their own weight. As utopian as that might have seemed to the Neanderthals, who believed that programming was an expert craft inimitable by machine, the industry-wide need for automatic programming only grew. Remington Rand hadn’t anticipated how much support UNIVAC required; it became a strain on the company just to keep its clients’ computers operational. Grace, who was great at pleading her case to bureaucrats, made it clear that the costs associated with programming threatened to approach the cost of hardware. Remington Rand caved. They created an Automatic Programming Department and put Grace in charge. Her first order of business was to write a compiler, a kind of mediator program that simplifies writing code at the machine level. Just as mechanical computers replaced a generation of human calculators, making programmers of mathematicians like Grace, her compiler—the first of many intermediaries between people and machines—would once again redefine the nature of the job. The mathematician who had become a programmer would soon become, in turn, a linguist.
A quick lesson: computers do not understand English, French, Mandarin Chinese, or any human language. Only machine code, usually binary, can command a computer, at its most elemental level, to pulse electricity through its interconnected logic gates. Broken down, every program is just a maddeningly explicit list of instructions, in this machine code, about where and how electricity should move. The most basic programs specify operations at the hardware level—just one step above physically plugging a computer like the ENIAC together—and more complex programs are aggregations of these basic operations. In Grace’s day, debugging required thinking like a machine, bit by painstaking bit. If the priesthood guarded one mystery above all, it was the secret to achieving limitless patience.
Compilers are fundamental to modern computing. They make programming languages, with their ever-higher levels of symbolic notation, comprehensible to the binary lizard brain of the computer. It’s now a given that using a computer—and even programming one—requires no specific knowledge of its hardware. I don’t speak binary, but through the dozens of software interpreters working in concert whenever I make contact with my computer, we understand each other. Machine code is now so distant from most users’ experience that the computer scientist and writer Douglas Hofstadter has compared examining machine code to “looking at a DNA molecule atom by atom.”
Grace Hopper finished the first compiler, A-0, in the winter of 1951, during the peak of her personnel crisis at Remington Rand. The following May, she presented a paper on the subject, “The Education of a Computer,” at a meeting of the Association for Computing Machinery in Pittsburgh. In the paper, she explained something counterintuitive: that adding this extra step, a layer between the programmer and the computer, would increase efficiency. She used a personal example to illustrate. In the past, mathematicians like her had been stuck with the chore of arithmetic—all those tedious little steps on the way to interesting solutions. Ostensibly, a computer like the UNIVAC took over those arithmetic tasks, freeing the mathematician to think more stimulating thoughts. The reality, however, was that the mathematician became a programmer instead, again consumed by tedious little steps. Grace loved coding, but she admitted that “the novelty of inventing programs wears off and degenerates into the dull labor of writing and checking programs. This duty now looms as an imposition on the human brain.”
Her solution was to insert a third level of operation, empowering the computer to write its own programs. It would do that by compiling selected subroutines—reusable scraps of code saved to the computer’s memory—from the computer’s baked-in subroutine catalog. The compiler could then automatically arrange subroutines and translate them into nitty-gritty machine code. That way, “the programmer may return to being a mathematician,” and the computer, “on the basis of the information supplied by the mathematician . . . usin
g subroutines and its own instruction code, produces a program” on its own. Grace proposed that a smarter machine could support a less-educated programmer, and even a nonprogrammer user, as its education continued. “UNIVAC at present has a well-grounded mathematical education fully equivalent to that of a college sophomore, and it does not forget and does not make mistakes,” she wrote, always the teacher. “It is hoped that its undergraduate course will be completed shortly and it will be accepted as a candidate for a graduate degree.”
Compiling subroutines, rather than hand coding from scratch, removed a huge margin of human error from the exercise of programming. Subroutines were already tested, debugged, and ready to go; strung together by the compiler, programs could be written in hours instead of weeks. Grace’s idea, which would be successively refined by many people in the years to follow, automated much of the drudgery associated with programming, allowing programmers to focus on the creative side of their work, and on the higher-level, systems-oriented thinking that would ultimately advance computer science as a discipline. More important, it represented something conceptually novel: programs writing themselves, a path Betty Holberton had illuminated with her brilliant Sort-Merge Generator. The idea was as appealing to marketers as it was to computer manufacturers. By 1955, Remington Rand was running print advertisements with headlines like, NOW . . . UNIVAC TELLS ITSELF WHAT TO DO!
Broad Band Page 7