A quote on a wall leads to the Queen of Code

Here's my quote of the day:

The most dangerous phrase in the language is 'we've always done it that way'

I was visiting with one of our retail customers today and happened to notice this painted in bold letters on the wall in the office building where we were.  The sentiment is familiar, I suspect, to most of us through work in most business and creative settings.   This particular customer happens to have a high focus on creativity in their business, and I thought to myself that this would be a helpful reminder to see each day when walking around the office.

Tonight I started wondering where this quote originated and so I did some research.  It turns out the quote belongs to Rear Admiral Grace Hopper, who was a pioneer computer scientist, mathematician, and leader in the United States Navy and Naval Reserve from 1943 until retirement in 1986 (with a short pause or two - see this story reproduced from a conference proceeding about her.   At her retirement she was 79 years old and was then the oldest service officer in the US military.

See this site for the original photo.

Admiral Hopper had a long career in academia, corporate and military life.  One of her most significant contributions to computer science goes back to something that software developers and computer scientists everywhere today mostly take for granted: the idea that it is possible to write programs in a natural, human language.  Admiral Hopper was a pioneer of the first business computing language, called FLOW-MATIC, and is credited (along with her team) of inventing the first compiler (called A-O) before that.  

Here's more from the same excerpt on her biography:

Pursuing her belief that computer programs could be written in English, Admiral hopper moved forward with the development for Univac of the B-O compiler, later known as FLOW-MATIC. It was designed to translate a language that could be used for typical business tasks like automatic billing and payroll calculation. Using FLOW-MATIC, Admiral Hopper and her staff were able to make the UNIVAC I and II "understand" twenty statements in English. When she recommended that an entire programming language be developed using English words, however, she "was told very quickly that [she] couldn't do this because computers didn't understand English." It was three years before her idea was finally accepted; she published her first compiler paper in 1952.

This idea that computer instructions ("code") would be written in a language using (mostly English - artifact of history) words is so obvious that I suspect even most technologists might question what the alternative would be.  But it wasn't always this way.  I'm of a certain age, and can therefore remember in my much younger years writing programs in what was called "assembly language".  Once or twice I even had to do some machine coding (hand assembling the binary codes) when I did defense-related work as a young engineering student and developer.

 To understand the differences if you are not a developer, try to imagine how long it would take to communicate if, in order to speak you had to:

  1. consciously construct the syllables
  2. consciously group and order the syllables into words
  3. consciously structure the words into sentences.  
  4. consciously group the sentences with appropriate pauses

That is pretty much a metaphor for what this kind of "low level" programming was like.  I remember my bosses measuring productivity even in the mid 80s in dozens of lines of code per day (funny - that remains as minimally useful a productivity measure today as back then).  Now, with some sense of how less productive you can be if this is your only way to develop, step back and consider how our world would work today if we didn't have these high-level symbolic languages.  These languages allowed developers to focus on expressing the ideas and not on the managing the implementation inside the computer.  

Admiral Hopper through a combination of drive, intellect, and excellent communication skills (by the accounts I have read) managed to convince her bosses in the early technology companies of the day that it was possible for non-mathematicians and "computer experts" to develop programs.  With the work she and her staff did to advance first FLOW-MATIC and later COBOL, the foundations were laid for a whole class of useful programs.  She didn't invent COBOL (though some of her staff were among the inventors).  What she did was set the stage for it and then to advance the cause in industry - in effect to drive adoption.  Because of this work, business applications in finance, accounting, payroll, and actuarial science suddenly became a lot easier (and cheaper) to develop.  

Come back to the analogy of constructing syllables and words above.  Would you carry on a 20 minute conversation with someone if you had to do that?  What she and others did made it possible for these conversations (programs) to be developed and maintained in a cost-effective manner.

Here's another quote from Admiral Hopper that was new to me.  It is almost wickedly prescient of a more modern debate we see today:

"In pioneer days they used oxen for heavy pulling, and when one ox couldn't budge a log, they didn't try to grow a larger ox. We shouldn't be trying for bigger computers, but for more systems of computers."

Today we talk about the difference between "scale up" and "scale out" computing.  "Scale up" means "get a bigger computer" while "scale out" means "get more computers and have them talk to one another very rapidly".  Our whole big data world is growing now on "scale out" architectures.  Have you heard of "NoSQL"?  Cassandra, Hadoop, MongoDB, or Redis?  These are examples of "scale-out" systems.  Most techie folks I know attribute Google's paper from 2003 on the "Google File System" as the modern start of this era.  The debate continues and certainly there is work still to do on making computers "bigger".  Maybe history will show a kind of back and forth between the two ideas, but for now "scale out" is the way to grow.  Incidentally, thenewstack.io has a great survey article that covers the history of "scale out" also, and it led me to a Microsoft paper called No One Ever Got Fired For Buying a Cluster that I'd never read (downloaded for later).  

Anyway, the point is that Admiral Hopper started from the original Mark I computer, where, in her words,

 "It was 51 feet long, eight feet high, eight feet deep. And it had 72 words of storage and could perform three additions a second."  

Not only did she make this incredibly important leap that computers would only be useful if programmers could create programs using natural language, but she also seemed to grasp that the power of computing would really grow as the devices could work together as a system.

Coming back from the technology, let's consider another point.  Computer science and related disciplines have been considered areas dominated by men.  Though today we do see more women getting involved than even just 10 or 20 years ago, imagine how unusual it must have seemed (and how hard for Admiral Hopper) to have been in the field in the 1940s and 1950s.  One of the foundational pillars of modern computing in what we still stereotype as a male field was invented and advocated by a very talented woman. 

Today the Grace Hopper Celebration of Women in Computing is billed as the largest gathering of women in technology globally, presented by the Anita Borg Institute.  A recent documentary on her life bills her as the Queen of Code.

To bring this full circle then, I come back to another famous quote from Admiral Hopper in a Navy publication from 1982, on giving some advice to the young:

"You manage things, you lead people"

Good advice for sure, and I think this goes very well with the opening quote of the day.  Our retail customer has the right idea with this wall posting.  I'll summarize my takeaway as follows:

  • Ask questions
  • Don't assume the way it was is the same as the way it is or should be
  • Remember the difference between managing and leading, and practice both

To view or add a comment, sign in

More articles by David Thompson

Others also viewed

Explore content categories