by Kurt W Beyer
HOPPER’S CAREER IN THE CONTEXT OF THE HISTORY OF PROGRAMMING
In many ways, Hopper’s career mirrors the rise in prominence of the programming profession. Howard Aiken and Presper Eckert did not foresee the difficulties inherent in the operation of their machines. Fortunately, Grace Hopper, Richard Bloch, Betty Snyder (Holberton), John Mauchly, and others brought the hardware to life. Initially responding to wartime necessity, these pioneers developed early coding techniques, debugging practices, subroutine principles, and batch processing procedures that confirmed the utility of the new technology at a time when the computer’s future success was far from inevitable.
As the technology was transferred from the laboratory to business and government installations in the late 1940s and the early 1950s, Hopper believed programming to be the chief technical bottleneck that hindered the spread of electronic computers.3 The costs associated with defining an application and writing and debugging the necessary programs began to outstrip the price of the hardware. Hopper first attempted to deal with this mounting programming crisis through better organization, training, and maximum personal effort. At Harvard University and at the Eckert-Mauchly Computer Corporation (and later at Remington Rand), her superior managerial skills were employed to train and organize new programmers in order to make the machines more productive.
But by the fall of 1951 Hopper was searching desperately for a technical solution that would help computers “educate” themselves. Her eloquent solution, which she named a compiler, was a master program that could call on relevant subroutines and could manage address and memory allocation, thus relieving the human programmer from the most difficult and menial “housekeeping” tasks.
Compilers, Hopper believed, were the key to “democratizing” computers. They would enable many more people—even the likes of Marilyn Mealey—to communicate with the mechanical giants. Instead of forcing the human to learn machine language, she made the computer learn English, French, German, or any other human language. This concept was embedded into Hopper’s business language FLOW-MATIC, which would serve as the blueprint for COBOL (still the most widely used computer language).
LESSONS OF TECHNICAL INNOVATION
There is much to learn from Grace Hopper’s approach to invention and innovation. Some lessons are apparent; others are quite unexpected. If we view Hopper’s early career as a case study in innovation, we can glean some principles that help to explain her success in rapidly advancing the field of computer programming while also providing compelling guidelines for present-day innovators.
EMPOWER YOUTH
Hopper had the habit of assigning the most difficult technical problems to the youngest and least experienced members of a team. Mildred Koss, shortly after arriving at the Eckert-Mauchly Computer Corporation, was handed the task of having the UNIVAC automatically edit its data for printing. The result was Koss’s “editing generator,” a sophisticated piece of code that created margins, titles, headings, and page numbers on the fly and represented the first attempt to use a computer for word processing. Harry Kahrimanian, just out of college, got an even more daunting assignment: he was asked to create a program that could automatically solve differential equations. Kahrimanian’s differentiator was a watershed in applied mathematics. The user had merely to enter the equation and indicate the number of n derivatives; the computer did the rest. Kahrimanian’s achievement was even more impressive in light of Hopper’s own long and arduous experience working alongside the famed mathematician John von Neumann to solve differential equations on the Harvard Mark I. Had Kahrimanian’s differentiator been available to von Neumann and Hopper, they could have solved the Manhattan Project’s implosion problem in days instead of months.
Common sense would dictate that the most experienced programmers should have been assigned to these difficult tasks, but, as Hopper glibly explained, young people did not know that they were supposed to fail. On a deeper level, Hopper understood that “experts,” be they senior engineers, experienced programmers, or business executives, have difficulty seeing beyond the borders of their specialty. Education, tradition, and community culture create a stable mental framework that helps to explain reality yet also hinders one’s ability to see alternative approaches or adjust to ever-changing circumstances. Hopper felt that young, inexperienced programmers often had the ability to look beyond “what is” and grasp “what could be.”
LEARN FROM THE MARGINS
Since youth is fleeting, Hopper discovered that one could maintain a “youthful,” creative outlook by constantly broadening one’s own knowledge base. Her self-education began during her days as a professor at Vassar College and continued through her stints at Harvard and Remington Rand. At Vassar, Hopper stretched beyond mathematics and audited classes in astronomy, physics, chemistry, geology, biology, zoology, economics, architecture, philosophy, and the history of scientific thought. Besides educating herself in computer hardware and programming while at Harvard, Hopper became quite an expert in military affairs, and was one of the first women to attend the prestigious Naval War College. During her lengthy corporate career, the adaptable Hopper mastered the machinations of a variety of diverse industries, ranging from insurance to aerospace engineering. As a result, her mind was informed enough to transcend her own intellectual discipline. She had freed herself from any particular methodology, and could approach problems from a variety of angles. In a sense, Hopper’s flexible intellect mirrored that of a general computer, for both could adapt to the changing needs of the customer. After learning how a given business or other organization functioned, Hopper could outline detailed computer applications to automate or streamline aspects of the business, from payroll and accounting to industrial process control. Her analysis was captured in code, which turned the general computer into one specifically configured to meet the customer’s needs. Herein lies the true power of the computer revolution: generalized hardware that could be specialized in a thousand different ways by software. Hopper not only grasped this relationship; she helped to invent it.
DISTRIBUTED INVENTION: THE MORE MINDS, THE BETTER
Despite how developed and flexible her own mind had become, Hopper recognized that the more brainpower working together on a given technical problem, the better the outcome. I refer to Hopper’s organizational approach to innovation as distributed invention. Learning from the Harvard Computation Laboratory’s unconstructive tendency to isolate itself from other computer research programs, Hopper understood that, in the long term, a distributed network of inventors, each with his or her particular technical perspective, could sustain a faster rate of innovation than an individual inventor or an isolated team of inventors.
The development of the compiler serves as a case study in distributed invention. Though Hopper created the original A-0 compiler on her own between October 1952 and May 1953, she soon shared her prototype with a number of programmers and users. Through the summer and fall of 1953, personnel at the Census Bureau, the Air Force Air Comptroller, the Army Map Service, the David Taylor Model Basin, Lawrence Livermore Laboratory, New York University, and the Bureau of Ships were experimenting with Hopper’s compiler. This network generated a continuous stream of feedback and rewritten code that led quickly to the more advanced A-1 and A-2 versions of the program.
Hopper’s system of invention differs substantially from the notion of the inventor as a heroic genius working alone in a laboratory or a basement. Such a vision is embedded deeply in the American sense of individualism, and is institutionalized in the many awards and prizes that are bestowed on individual inventors and scientists. Hopper believed that the process of invention should not be confined to herself , her staff , or even her company. Information flowed smoothly between her team and other organizations, with Hopper serving as the conductor of invention rather than its dictator. Today’s freeware and open source movements preserve this doctrine. The roots, however, go back to Hopper and her team of distributed inventors.
PROACTIVE
INVENTION: INVENTOR AS SALESMAN
It is important to note the two roles that Grace Hopper played during the development of what she referred to as automatic programming. First, she was the inventor. She wrote the first compiler, and she directed her programming staff and others to improve and expand on her initial invention. This led to A-0 through A-3, MATH-MATIC, and FLOW-MATIC. Hopper’s second role, however, was as important as the first. She applied her collaborative skills and became the chief marketer of the automatic programming concept. During the 1950s, much of her energy was spent spreading the gospel of automatic programming through lectures, articles, and conference presentations. She was responsible for setting up a series of conferences and workshops dedicated to teaching others how to apply her inventions. Hopper’s example confirms the theories of the historians Thomas Hughes and W. Bernard Carlson, who have proposed that famous innovators such as Elmer Sperry, Thomas Edison, and Elihu Thomson were responsible not only for the invention of new technologies but also for the integration of those technologies into the economic, political, and social fabric of society. Proactive invention extends well beyond the initial moments of creative inspiration; it involves the patient, time-intensive construction of a sustainable infrastructure that supports the new technology. Hopper, like other elite inventors, successfully nurtured her creations through the precarious early stages of technological development. Eventually they became self-sustaining technological systems that influenced the development of the whole computer industry.
HOPPER’S PLACE WITHIN THE PROGRAMMING COMMUNITY
Paradoxically, Hopper’s drive to automate programming threatened to make the very profession she had pioneered obsolete. Back in 1944, when Hopper joined Robert Campbell and Richard Bloch as a “coder” on the Harvard Mark I, what a programmer was, what one did, and how one did it had not yet been defined. Through their efforts during and after the war, Hopper and Bloch in particular created the framework for the profession. They defined the techniques (subroutines), invented the language (debugging), and contributed to the culture (midnight “hacking”) that would be the foundations of the budding profession.
By training others to be programmers, Hopper expanded the community one person at a time. Though she left Vassar to join the Navy in 1943, Hopper never abandoned her calling as a teacher. She conducted classes on programming at the Harvard Computation Laboratory, at the Eckert-Mauchly Computer Corporation, at the University of Pennsylvania through the 1950s and the 1960s, and at George Washington University from 1971 to 1978. Much of her time was also spent lecturing potential users, and her more than 50 papers and articles on programming and computer applications served as the literary foundation for the field.4
Hopper also helped to establish the premier organization for computer professionals: the Association for Computing Machinery, which today has 80,000 members in more than 100 countries. Founded in 1947 by the crewmembers of the Harvard Computation Laboratory, the ACM fostered lateral communication within the nascent industry through conferences, newsletters, and journals. Hopper headed the ACM’s nomenclature committee in 1953 and 1954, served from 1956 to 1958 as an ACM council member, and in 1957 and 1958 was a member of the editorial board of the association’s main publication, Communications of the ACM.
Finally, Hopper organized many of the early formal meetings of programmers. After the “hardware-oriented” 1947 Harvard Symposium on Large-Scale Digital Calculating Machinery, Hopper took it upon herself to create forums for the discussion of issues and concerns relevant to programmers. After leaving Harvard, she maintained her connections with the Navy and co-sponsored a series of conferences during the 1950s centered on programming rather than hardware. Hopper also saw the need to educate business leaders and managers about the utility of computers, and she created a series of workshops in the 1950s that explained how general hardware coupled with automatic programming had become an essential business and decision-making tool. Computers, combined with automatic programming, would usher in an information age that allowed humans to make better, more timely decisions.
COBOL: THE QUINTESSENCE OF DISTRIBUTED INVENTION
Hopper’s boldest organizational feat involved creating the groundwork for the 28 May 1959 meeting of the Committee on Data Systems and Languages (CODASYL). Hopper’s efforts helped 40 representatives from seven government agencies, eleven companies (users), and ten computer manufacturers put aside their differences in the name of creating a common business language. “I don’t think ever before or ever since have I seen in one room so much power to commit men and monies as I saw that day,” said Hopper, reflecting on the first organizational meeting that led to the COBOL programming language.5
CODASYL was the physical embodiment of Hopper’s inventive style. Her collaborative nature predictably led her to a distributed view of invention that transcended organizational boundaries. In 1951 Hopper created the A-0 compiler on her own, but she immediately released it to an ever-growing community programmers, users, and managers. Throughout the 1950s she played the role of facilitator, gathering technical, economic, and social feedback about automatic programming and embedded what she learned in the next iteration of design. For her, the invention of a computer language was an ongoing, organic process that was always adapting to the changing needs of the computing profession.
Such an open system of innovation seems foreign today, when large, competitive software firms race to patent and protect technology. With the unbundling of software from computer hardware by IBM in 1969, the software industry flourished, but so too did a proprietary form of innovation. In comparison, Hopper’s inventive style echoes her academic sensibilities: collegial collaboration, an openness to knowledge dissemination, a healthy skepticism (even of one’s own work), and the belief that the advancement of knowledge can come from a variety of people and sources. In this light, today’s open source movement is less a revolution than a return to the past. Though the Internet offers the programming community a far more powerful collaborative tool, the current open source community’s goals of distributed peer review reflect the outlook of Grace Hopper and her colleagues half a century before.
AMAZING GRACE 2.0
On 1 January 1967, Commander Grace Hopper was placed on the Naval Reserve’s retirement list. Two years earlier, she had stepped down as Director of Automatic Programming Development in the UNIVAC Division of Sperry Rand. Though she remained with UNIVAC as a senior staff scientist and served as a visiting associate professor at the University of Pennsylvania, from all appearances the 60-year-old Hopper was slowly making the transition to retirement. Not surprisingly, 25 years on the cutting edge of the information revolution led to numerous awards. In 1962, she had been elected a fellow of the Institute of Electrical and Electronic Engineers, and in 1964 she had received an achievement award from the Society of Women Engineers. The highlight of these tributes came in 1969 when the Data Processing Management Association named Hopper the first ever Computer Sciences “Man of the Year.”6
But to the surprise of everyone except probably Hopper, “retirement” merely signaled the beginning of a new productive phase in her life. The Navy was experiencing difficulties fully implementing COBOL, and Hopper was once again called upon to develop a COBOL certifier program. What began as a 6-month active duty appointment extended for 20 years. Hopper was named director of the Navy Programming Languages Group, and she remained in that position until 1977. She officially retired from Sperry Rand in 1971, and in 1973 she was promoted to the rank of captain. She also served as an associate professor in management science at George Washington University starting in 1971.7
From 1977 to 1983, Hopper was assigned to the Naval Data Automation Headquarters (NAVDAC) in Washington, where she onitored the state of the art in computing and recommended which technologies should be applied to the Navy’s existing systems. It was during this period that Hopper developed the fleet-wide tactical data system for nuclear submarines, an effort for which she was awarded the Navy’s Meritori
ous Service Medal. She spent her final three years in the service touring and lecturing, and in 1986 she retired as the oldest active officer in the Navy. Hopper was immediately hired as a senior consultant by the Digital Equipment Corporation. She worked for Digital until her death in 1992 at the age of 86.8
Rear Admiral Grace Hopper, 1983. Courtesy of Harvard University Archives.
Today, with the computer industry dominated by Bill Gates and Steve Jobs, it is easy to overlook the role that pioneering woman like Grace Hopper played in shaping the information age. Her ability to transcend organizational gender bias and to elevate her career to uncharted heights was a combination of ability, serendipity, and force of will. Like any career woman during this period, Hopper had to face discrimination. In fact, by constantly placing herself in male-dominated environments, she courted conflict to some extent. Yet she found the strength of character to overcome, turning harassment into self-motivation. Hopper’s confidence in her abilities, in her leadership skills, in her sense of humor, and (most important) in her collaborative skills enabled her to garner respect from even the toughest critics. Moreover, she created a safe work environment for other young, aspiring female programmers, thus tapping into an intellectual talent pool that was overlooked in other more mature industries.
Grace Hopper was many things to many people. She was an inventor, an academic, a naval officer, and a business leader. In her later years, she became a tireless public speaker who inspired a new generation of women and men in the computer industry to carry on her vision of a democratic information age.