Insights
publication | Legaltech News

Nervous System: Grace Hopper’s Neutral Corner

December 12, 2024
Intelligence That Works

At the dawn of the computer age, programming was a laborious task carried out in binary notation at the machine level. The journey from that crude origin to today’s world of convenience began with a critical step taken by Grace Hopper—a step inspired by her experience playing basketball.

Today it is possible to generate working software code by giving natural language prompts to an artificial intelligence chatbot. This state of affairs would be staggering to the first generation of computer scientists, just as today’s coders would be staggered to attempt to program a computer bit by painstaking bit. At the dawn of the computer age, programming was a laborious task carried out in binary notation at the machine level. The journey from that crude origin to today’s world of convenience began with a critical step taken by Grace Hopper—a step inspired by her experience playing basketball.

In 1944, the US Navy Reserve ordered Dr. Hopper to report to the Bureau of Ordinance Computation Laboratory at Harvard University to assist Commander Howard Aiken in programming his creation, the Automatic Sequence Controlled Calculator (better known simply as the Mark I computer).

Upon Dr. Hopper’s arrival, Commander Aiken bluntly asked, “Where the hell have you been?” When she tried to explain that it took two days’ travel to get to the site, Aiken shook his head. He meant where she had been for the last three months. That was how long it took her to be accepted into the Navy and pass midshipman’s school (which she aced as first in her class).

For that matter, she had to get a dispensation even to apply. It was unusual for a woman to be a Navy lieutenant in 1944, and she was a professor of mathematics at Vassar, a role the military considered a vital wartime asset. But she was determined—and as it happened, she would prove to be of far greater value to the military in her new role.

The first generation of computers had emerged in response to a specific wartime challenge. Firing long-range missiles required a punishing number of hours to calculate properly. Unless the problem could be solved using technology, executing calculations in the traditional manner would take too long to be of any battlefield utility. Calculating machines could do the work much faster, but even they were too slow.

Designed in 1937 and completed by 1943, Howard Aiken’s Mark I could save the day. The problem was, few were qualified to perform the labor-intensive work to actually operate it. Grace Hopper was one of those rare few. Her job, together with Naval Ensigns Richard Bloch and Robert Campbell, was to communicate with the massive device, preparing unique algorithms for each task it needed to perform. This was an especially repetitive exercise where individual components of algorithms might need to be recreated, again and again, every time they were needed.

After the war, Dr. Hopper joined the Eckert-Mauchly Corp to work on the UNIVAC, a computer that stored data, including its own programs—and could learn from that data to develop new programs. This promised the opportunity to make programming much more efficient.

Dr. Hopper started writing individual reusable subroutines that could be compiled into a larger program. These ingredients could be combined to form any number of possible programs, as opposed to the individual bespoke algorithms she had to create for the Mark 1.

She realized that this was a way to avoid transcription errors from sloppy handwriting or inattention by human programmers. She bemoaned that “Programmers couldn’t copy things correctly” as she noted how often the delta mark she used to designate a space was accidentally converted into the number 4 by a programmer, or how often the letter B was swapped for a 13.

In 1951, Hopper was assigned to collect the library of subroutines together into a single compilation, eventually leading to her creation of the first software compiler, called A-O. Using the compiler, a programmer could write out an algorithm in a crude semblance of natural language, where the various nouns and verbs pointed to prewritten subroutines that the compiler could then substitute to create executable code.

There was a hurdle to making the compiler work. Anytime one subroutine needed to reference an earlier part of the code, it was easy enough to put in a reference marker back to the relevant section. But there was no way to know where to point the marker to reference something not yet written.

Here is where Hopper’s time playing basketball came in handy. Under the rules that governed the sport when she played, players were limited to one dribble. So, a player could dribble as far as possible, pass the ball forward to a teammate, run past that player, and then receive a forward pass to retrieve the ball.

Dr. Hopper realized this was an elegant solution to her coding problem. She set aside a section at the end of the system’s memory that she called the “neutral corner.” The neutral corner was basically an empty box, available to be filled with data as needed, that pointed back to the software detour that led into it. As the compiler did its work processing the higher-level language into executable code, any subroutine that pointed to extra content stored in the neutral corner could therefore jump forward in memory, and then back to its original place, on an ad hoc basis.

In large measure thanks to Dr. Hopper’s compiler, the UNIVAC became the first computer embraced by business interests instead of military applications.

The views and opinions expressed in this article are those of the author and do not necessarily reflect the opinions, position, or policy of Berkeley Research Group, LLC or its other employees and affiliates.

Related Professionals

Prepare for what's next.

ThinkSet magazine, a BRG publication, provides nuanced, multifaceted thinking and expert guidance that help today’s business leaders adopt a more strategic, long-term mindset to prepare for what’s next.