A journey of a thousand miles begins with a single step - laozi

As I'm heading towards discussions about C++ and some cool practical knowledge things for use in Embedded software development, I feel it's important to highlight how we got here by looking at the history of this science.  Let's start by defining Computer Science.  Computer Science is not about coding, programming or software development.  Computer Science is the study of automating algorithmic processes that scale.  Algorithms occur in nature, as everything from how the stars gather together to form galaxies to the spots of a leopard or freckles on a child.  All obey natural laws that are defined within the confines of flow dynamics and were discoveries made possible by algorithmic interpretations made by Alan Turing.  A computer is merely a tool in the same way a microscope is, a tool to observe and work with the natural world by viewing and controlling algorithms.
So how did we get to this modern world?  Let's look at where the term "Computer" comes from.  During World War 2, the ENIAC was born at the University of Pennsylvania.  As the purpose of the ENIAC and early computing was to support the war effort, they were used by those who were called computers.  These human computers were excellent mathematicians, physicists and amazingly well educated.  The first 5 full time paid programmers were: Kay McNulty, Betty Snyder, Marlyn Wescoff, Ruth Lichterman, Betty Jean Jennings, and Fran Bilas.
At the time, all computers weren't just human, a good portion of them were women.  This is partly because the war effort drafted a lot of men, and partly because a good portion of the highly educated mathematicians were all female who were supporting the war effort by calculating complex things like nuclear fission.
The interface to the ENIAC was cumbersome and was an incredibly large endeavor but it was the first of the electronic computers.  However, it wasn't the first non-human computer.  That title rightly goes to Charles Babbage and his adding machine.  Babbage created a miracle of a mechanical machine that could add any two numbers.  However, Babbage's vision was only to get two primary variables to relate to each other and give a single function to arrive at an answer.  The magic of Computer Science was born when Babbage met with a friend's wife Ada Lovelace.  "Lady Ada" as she's known in the field today, saw more than the simple addition function, she saw relations with other functions, optimizations and relationships and created the very first algorithm intended for use on a computer.  Her principals are still studied and used throughout the field.
After the ENIAC, there was the UNIVAC, and one of the Navy's WAVES, Admiral Grace Harper, was serving aboard ship working with the Mark 1 (ship board computer).  Grace Harper was one of those that created the UNIVAC and she was the one to create the very first Compiler.  Her concept was that computers and humans don't speak the same language so creating a compiler to help interpret English into Assembler or Binary instructions was necessary.  Her compiler's first language was FLOW-CONTROL which became COBOL with IBM's guidance.
While working on the UNIVAC, Grace Harper's team discovered a moth that was preventing code from executing correctly due to mechanical obstruction in the Vacuum Tube.  This is where the term "bug" was first coined.  When Grace Harper removed the moth, she did the first act of "debugging."  The moth can still be viewed in her notebook in the Smithsonian.

In writing this post I discovered that there's a wonderful opportunity here to turn this post into a series of posts where I'll feature each tech luminary and discuss how they added their voice to how we got to where we are today.  Each of these people deserve more than a single paragraph, but suffice it to say this industry was founded on the backs of some amazing talent.

Comments

Popular posts from this blog

Drone VR Software Architecture

Build Snapdragon Flight Drone

Soldering new connectors for the drone