WEBVTT - TechStuff Remembers Grace Hopper

0:00:04.440 --> 0:00:12.280
<v Speaker 1>Welcome to Tech Stuff, a production from iHeartRadio. Hey there,

0:00:12.320 --> 0:00:15.920
<v Speaker 1>and welcome to tech Stuff. I'm your host, Jonathan Strickland.

0:00:15.960 --> 0:00:19.800
<v Speaker 1>I'm an executive producer with iHeartRadio and how the tech

0:00:19.960 --> 0:00:23.840
<v Speaker 1>are you? So? Here in the United States, we are

0:00:24.000 --> 0:00:28.360
<v Speaker 1>observing Memorial Day today, and on this day, the United

0:00:28.400 --> 0:00:32.520
<v Speaker 1>States honors the memory of US military personnel who died

0:00:32.760 --> 0:00:37.120
<v Speaker 1>while serving. The subject of our episode today was in

0:00:37.159 --> 0:00:40.640
<v Speaker 1>the United States Military. She even rose to the rank

0:00:40.760 --> 0:00:43.760
<v Speaker 1>of Rear admiral in the United States Navy. However, she

0:00:43.880 --> 0:00:47.159
<v Speaker 1>did not die while in service. So I want to

0:00:47.200 --> 0:00:50.960
<v Speaker 1>make clear that this episode does not dismiss the countless

0:00:50.960 --> 0:00:53.519
<v Speaker 1>people who have given their lives in service to the

0:00:53.560 --> 0:00:57.280
<v Speaker 1>United States Military, but rather to remember someone who made

0:00:57.640 --> 0:01:04.319
<v Speaker 1>enormous contributions to technology, particularly while a member of the

0:01:04.440 --> 0:01:08.080
<v Speaker 1>US military. And we also associate her with a story

0:01:08.120 --> 0:01:11.320
<v Speaker 1>that usually gets told incorrectly. In fact, I've been guilty

0:01:11.319 --> 0:01:15.160
<v Speaker 1>of telling it incorrectly myself in the past. The person

0:01:15.160 --> 0:01:19.160
<v Speaker 1>I'm talking about is, of course, Grace Hopper, who sometimes

0:01:19.160 --> 0:01:26.880
<v Speaker 1>gets the affectionate nickname Grandma Cooebol. Note I said cobol Cobol,

0:01:28.080 --> 0:01:31.759
<v Speaker 1>not cobold, as in the Nasty Little critters in Dungeons

0:01:31.800 --> 0:01:36.400
<v Speaker 1>and Dragons. Grace Hopper was born in nineteen oh six

0:01:36.840 --> 0:01:40.680
<v Speaker 1>in New York City to a well off family. Her father,

0:01:41.120 --> 0:01:45.920
<v Speaker 1>a Yale graduate, owned an insurance company, and she grew

0:01:46.000 --> 0:01:49.480
<v Speaker 1>up not wanting for anything really. She attended private schools

0:01:50.160 --> 0:01:54.840
<v Speaker 1>and she matriculated at Vassar. She focused her studies on science,

0:01:55.000 --> 0:02:00.640
<v Speaker 1>specifically in physics and in mathematics. She graduated Vassar in

0:02:00.720 --> 0:02:04.360
<v Speaker 1>nineteen twenty eight, and then she followed in her father's footsteps.

0:02:04.440 --> 0:02:08.920
<v Speaker 1>She enrolled in Yale for graduate studies. In nineteen thirty,

0:02:09.040 --> 0:02:13.000
<v Speaker 1>she earned her master's degree in mathematics. She continued her

0:02:13.040 --> 0:02:16.760
<v Speaker 1>graduate studies and pursued a PhD. Around the same time,

0:02:16.840 --> 0:02:20.400
<v Speaker 1>she also accepted a job to teach mathematics at her

0:02:20.400 --> 0:02:24.320
<v Speaker 1>alma mater, Vasser. Her mentor during this time was a

0:02:24.320 --> 0:02:28.280
<v Speaker 1>fella named Howard Ingstrom. He was just four years older

0:02:28.320 --> 0:02:33.240
<v Speaker 1>than Hopper herself. So just a quick word about Ingstrom.

0:02:33.280 --> 0:02:35.959
<v Speaker 1>The story is not really about him, but we need

0:02:36.000 --> 0:02:38.240
<v Speaker 1>to at least get an idea of who he was,

0:02:38.560 --> 0:02:42.160
<v Speaker 1>and it is a bit important. While he was a mathematician,

0:02:42.280 --> 0:02:46.880
<v Speaker 1>his actual degrees were in chemical engineering, and then he

0:02:46.919 --> 0:02:48.920
<v Speaker 1>would go on to be one of the co creators

0:02:49.560 --> 0:02:54.079
<v Speaker 1>of the UNIVAC computer. Now, keep in mind at the

0:02:54.160 --> 0:02:56.600
<v Speaker 1>time we're at right now, with Grace Hopper's timeline, we're

0:02:56.600 --> 0:02:59.959
<v Speaker 1>in the nineteen thirties. The concept of an electro mcanennic

0:03:00.320 --> 0:03:05.519
<v Speaker 1>computer is really just starting to become coherent. Around this time.

0:03:05.560 --> 0:03:08.600
<v Speaker 1>There were people working on it, but these were very

0:03:08.800 --> 0:03:12.639
<v Speaker 1>very early days with the idea of an electro mechanical computer. Now,

0:03:12.680 --> 0:03:18.280
<v Speaker 1>there had been earlier examples of purely mechanical computational machines

0:03:18.720 --> 0:03:23.560
<v Speaker 1>like Babbage's difference engine, Babbage's analytical engine. Those were at

0:03:23.639 --> 0:03:29.880
<v Speaker 1>least concepts that were computational engines that used mechanical components

0:03:29.919 --> 0:03:34.560
<v Speaker 1>to calculate things. Considering where Happer's career would take her,

0:03:35.160 --> 0:03:37.800
<v Speaker 1>having a mentor who was an early contributor to computer

0:03:37.880 --> 0:03:42.000
<v Speaker 1>science and design is meaningful and they would have other

0:03:42.120 --> 0:03:45.520
<v Speaker 1>encounters in the future. But back to Hopper herself. She

0:03:45.640 --> 0:03:49.400
<v Speaker 1>had the opportunity to study with the German American mathematician

0:03:49.760 --> 0:03:53.360
<v Speaker 1>Richard Courrant, whose work in the field of applied mathematics

0:03:53.440 --> 0:03:57.120
<v Speaker 1>was renowned, and she earned her PhD from Yale in

0:03:57.240 --> 0:04:00.160
<v Speaker 1>nineteen thirty four, and she earned it in mathematics and

0:04:00.200 --> 0:04:04.200
<v Speaker 1>mathematical physics. So then we skip ahead a few years.

0:04:04.560 --> 0:04:09.480
<v Speaker 1>On December seventh, nineteen forty one, Japanese forces bombed the

0:04:09.600 --> 0:04:13.440
<v Speaker 1>US base at Pearl Harbor in Hawaii. The United States,

0:04:13.720 --> 0:04:17.120
<v Speaker 1>which had resisted entering into the conflict we would call

0:04:17.240 --> 0:04:21.800
<v Speaker 1>World War two, found itself drawn into the conflict, and

0:04:21.839 --> 0:04:24.320
<v Speaker 1>Hopper wanted to be part of the war effort, and

0:04:24.360 --> 0:04:29.599
<v Speaker 1>she applied to become enlisted in the Navy. However, the

0:04:29.680 --> 0:04:33.520
<v Speaker 1>Navy rejected her, partly because Grace Hopper was of a

0:04:33.600 --> 0:04:38.960
<v Speaker 1>petite build, diminutive in size some would describe her, and

0:04:39.080 --> 0:04:43.080
<v Speaker 1>also because at age thirty four at this time, the

0:04:43.160 --> 0:04:48.440
<v Speaker 1>Navy considered her to be too old to join the effort. Nevertheless,

0:04:49.040 --> 0:04:52.400
<v Speaker 1>she persisted, and Grace Hopper would end up joining the

0:04:52.520 --> 0:04:57.599
<v Speaker 1>US Naval Women's Reserve in nineteen forty three. So while

0:04:57.640 --> 0:05:00.919
<v Speaker 1>she wasn't an active member of the Navy, she was

0:05:00.920 --> 0:05:03.800
<v Speaker 1>an active member of the Navy Reserves, and she received

0:05:03.839 --> 0:05:07.680
<v Speaker 1>an assignment to work on the Bureau of Ship's computation

0:05:07.880 --> 0:05:12.040
<v Speaker 1>project at Harvard University. There, she worked with a Harvard

0:05:12.120 --> 0:05:16.640
<v Speaker 1>graduate named Howard Aiken. When Aiken was a graduate student

0:05:16.680 --> 0:05:21.080
<v Speaker 1>at Harvard, he lamented that his doctoral thesis relied upon

0:05:21.240 --> 0:05:27.400
<v Speaker 1>complex calculations that were tedious to perform by hand, and so,

0:05:27.720 --> 0:05:30.960
<v Speaker 1>like many innovators before him, he decided the best option

0:05:31.640 --> 0:05:34.240
<v Speaker 1>was to find people he could work with to invent

0:05:34.279 --> 0:05:37.640
<v Speaker 1>a device that could do those kinds of calculations automatically.

0:05:38.120 --> 0:05:41.560
<v Speaker 1>So he was able to work with a relatively young

0:05:41.640 --> 0:05:46.800
<v Speaker 1>company called International Business Machines better known today as just IBM,

0:05:47.520 --> 0:05:50.640
<v Speaker 1>and together they would be able to bring his wish

0:05:50.960 --> 0:05:54.880
<v Speaker 1>into reality. So Iiken would kind of act as the

0:05:55.000 --> 0:05:59.920
<v Speaker 1>director or at least the guide officer, like he's guided

0:06:00.120 --> 0:06:05.080
<v Speaker 1>the development of this machine to perform these calculations automatically.

0:06:05.160 --> 0:06:09.960
<v Speaker 1>The result was a device called the Automatic Sequence Controlled

0:06:10.160 --> 0:06:15.479
<v Speaker 1>Calculator ASCC, but later and better known as just the

0:06:15.520 --> 0:06:21.040
<v Speaker 1>Harvard Mark one. So Hopper joined the Bureau of Ships

0:06:21.480 --> 0:06:24.080
<v Speaker 1>right around the time that the Mark one had been

0:06:24.320 --> 0:06:29.280
<v Speaker 1>shipped to Harvard from IBM. So the Mark one didn't

0:06:29.320 --> 0:06:34.320
<v Speaker 1>look anything like a modern computer does. It was an

0:06:34.400 --> 0:06:39.480
<v Speaker 1>electro mechanical device. It had moving parts like there were

0:06:40.080 --> 0:06:44.160
<v Speaker 1>shafts that would turn and gears that would turn, and

0:06:44.200 --> 0:06:47.160
<v Speaker 1>all sorts of stuff like it was. It was a

0:06:47.240 --> 0:06:52.080
<v Speaker 1>real machine, and it also had electrical parts right there

0:06:52.080 --> 0:06:55.600
<v Speaker 1>were electrical switches, there were various relays, and there were

0:06:55.800 --> 0:07:01.320
<v Speaker 1>miles and miles of cables, something like hundred miles it was.

0:07:01.440 --> 0:07:04.080
<v Speaker 1>You know, I've seen different estimates, but yes, hundreds of

0:07:04.120 --> 0:07:08.200
<v Speaker 1>miles of cables connecting all these different components. The whole

0:07:08.240 --> 0:07:13.280
<v Speaker 1>thing collectively weighed more than four tons. If you were

0:07:13.400 --> 0:07:16.200
<v Speaker 1>to look at the deal and get a tape measure out,

0:07:16.640 --> 0:07:19.920
<v Speaker 1>it was about fifty one feet long. It was eight

0:07:20.000 --> 0:07:24.160
<v Speaker 1>feet tall and then two feet deep, right, so like

0:07:25.040 --> 0:07:26.520
<v Speaker 1>you might want to think, it was like fifty one

0:07:26.520 --> 0:07:30.240
<v Speaker 1>feet wide, eight feet tall, and then two feet deep

0:07:30.320 --> 0:07:34.200
<v Speaker 1>something like that. That's a definitely not a desktop computer

0:07:34.560 --> 0:07:39.360
<v Speaker 1>unless you have a truly ginormous desk. This computer could

0:07:39.360 --> 0:07:43.040
<v Speaker 1>store a few dozen numbers, and you could actually then

0:07:43.160 --> 0:07:46.360
<v Speaker 1>use those numbers for multiple calculations. So that was useful, right, right,

0:07:46.400 --> 0:07:49.520
<v Speaker 1>You didn't have to insert the same number every time

0:07:49.560 --> 0:07:51.640
<v Speaker 1>you wanted to do a different calculation. You could actually

0:07:51.680 --> 0:07:55.240
<v Speaker 1>store a number in this device. In fact, more than

0:07:55.320 --> 0:07:57.240
<v Speaker 1>seventy numbers at a time, and I think it was

0:07:57.280 --> 0:07:59.960
<v Speaker 1>something like it was more than twenty decimal points or

0:08:00.400 --> 0:08:04.080
<v Speaker 1>decimal digits that you could store in this per number.

0:08:04.640 --> 0:08:06.720
<v Speaker 1>The length of time it would take to generate an

0:08:06.760 --> 0:08:10.640
<v Speaker 1>answer would depend upon the nature of the calculation, so

0:08:11.080 --> 0:08:15.080
<v Speaker 1>simple operations like addition or subtraction would take around a

0:08:15.200 --> 0:08:19.680
<v Speaker 1>second for this machine to perform. More complex mathematical functions

0:08:20.000 --> 0:08:24.320
<v Speaker 1>could require a minute or more. But it was all automatic.

0:08:25.160 --> 0:08:27.240
<v Speaker 1>At least it was once you input all the data,

0:08:27.360 --> 0:08:31.960
<v Speaker 1>which you would do by using switches. Lots and lots

0:08:31.960 --> 0:08:35.440
<v Speaker 1>of switches. The Mark one had more than a thousand

0:08:35.840 --> 0:08:39.560
<v Speaker 1>switches in various switch banks, so you had to use

0:08:39.600 --> 0:08:42.800
<v Speaker 1>all these in order to input the data you wanted

0:08:42.960 --> 0:08:46.960
<v Speaker 1>to then operate upon. Now to tell the computer what

0:08:47.080 --> 0:08:50.880
<v Speaker 1>you wanted done to the input, remember inputs just one thing.

0:08:51.280 --> 0:08:55.480
<v Speaker 1>You also have to instruct the computer what operation to perform. Well.

0:08:55.520 --> 0:08:58.040
<v Speaker 1>To do that, you would use a program, and in

0:08:58.080 --> 0:09:03.160
<v Speaker 1>those days, a program consisted of you know, punch cards

0:09:03.440 --> 0:09:06.400
<v Speaker 1>in some cases, but in the case of the Mark one,

0:09:06.520 --> 0:09:11.079
<v Speaker 1>it was essentially paper tape that had holes punched into it,

0:09:11.600 --> 0:09:14.040
<v Speaker 1>and you would feed the tape through the computer and

0:09:14.080 --> 0:09:17.600
<v Speaker 1>those holes would allow for specific connections within the computer,

0:09:18.000 --> 0:09:21.520
<v Speaker 1>and in turn that served as instructions for the computer.

0:09:21.600 --> 0:09:26.240
<v Speaker 1>It would perform a specific operation depending upon which contacts

0:09:26.280 --> 0:09:31.080
<v Speaker 1>allowed to go through. So programming a computer meant physically

0:09:31.120 --> 0:09:35.280
<v Speaker 1>punching holes in cards or in tape, and Grace Hopper

0:09:35.640 --> 0:09:39.200
<v Speaker 1>would be one of the first three people to do this.

0:09:39.520 --> 0:09:42.880
<v Speaker 1>So she was one of the first three computer programmers

0:09:43.360 --> 0:09:47.440
<v Speaker 1>for the Harvard Mark one computer. Now she wasn't just

0:09:47.920 --> 0:09:51.760
<v Speaker 1>a programmer, She never was just a programmer. She was

0:09:51.800 --> 0:09:54.880
<v Speaker 1>also an instructor. Remember, she had come from a background

0:09:54.880 --> 0:09:58.599
<v Speaker 1>of teaching. She taught at Vassar before she joined the

0:09:58.679 --> 0:10:02.480
<v Speaker 1>Navy Reserves. So it became her job to write a

0:10:02.600 --> 0:10:05.000
<v Speaker 1>user manual for the Mark one. The story goes that

0:10:05.559 --> 0:10:08.520
<v Speaker 1>I Can initially didn't want to give Hopper very much

0:10:08.559 --> 0:10:13.280
<v Speaker 1>responsibility because he mistakenly believed that due to the fact

0:10:13.280 --> 0:10:16.400
<v Speaker 1>she was a woman, she would be limited in that capacity.

0:10:16.720 --> 0:10:19.960
<v Speaker 1>And then Hopper proved him wrong, and so then he said,

0:10:20.000 --> 0:10:21.960
<v Speaker 1>all right, you know what, you know what you're doing,

0:10:22.640 --> 0:10:25.880
<v Speaker 1>write the instruction manual for the Mark one. Now, as

0:10:25.920 --> 0:10:29.960
<v Speaker 1>you might imagine, the complexity of the Mark one required

0:10:30.000 --> 0:10:35.720
<v Speaker 1>a pretty long instruction manual. From what I understand, the

0:10:35.800 --> 0:10:40.959
<v Speaker 1>manual had more than five hundred and fifty pages of instructions. Yikes. Now,

0:10:41.000 --> 0:10:45.120
<v Speaker 1>keep in mind again it's an electro mechanical system, really complicated.

0:10:45.600 --> 0:10:48.400
<v Speaker 1>Literally lots of moving parts, which means there's lots of

0:10:48.400 --> 0:10:51.800
<v Speaker 1>potential points of failure. So it makes sense that any

0:10:51.960 --> 0:10:54.800
<v Speaker 1>comprehensive manual would need to be long. But can you

0:10:54.880 --> 0:10:59.360
<v Speaker 1>imagine being put in charge of writing a comprehensive instruction

0:10:59.440 --> 0:11:03.839
<v Speaker 1>manual for such a complicated machine. She did it, and

0:11:04.200 --> 0:11:06.959
<v Speaker 1>she would work on various projects that would contribute either

0:11:07.080 --> 0:11:10.560
<v Speaker 1>directly or indirectly to the war effort. So the lab

0:11:10.679 --> 0:11:16.040
<v Speaker 1>she worked in, the calculations they were performing using this computer,

0:11:16.600 --> 0:11:20.840
<v Speaker 1>they were for all sorts of things, including things like numbers,

0:11:20.880 --> 0:11:25.079
<v Speaker 1>tables for stuff like rocket trajectories or specific types of artillery,

0:11:25.480 --> 0:11:29.240
<v Speaker 1>so that soldiers in the field would have a reference

0:11:29.520 --> 0:11:31.800
<v Speaker 1>and they would know what settings to use when they

0:11:31.840 --> 0:11:35.440
<v Speaker 1>were targeting enemies. Right like you know where the enemy is,

0:11:35.600 --> 0:11:37.679
<v Speaker 1>or you're told where the enemy is in relation to

0:11:37.720 --> 0:11:40.439
<v Speaker 1>where you are, you have to actually make the calculations

0:11:40.480 --> 0:11:44.480
<v Speaker 1>of how to position, say a piece of artillery, how

0:11:44.520 --> 0:11:47.920
<v Speaker 1>to position the gun barrel, so that when you fire,

0:11:47.960 --> 0:11:50.920
<v Speaker 1>you're actually going to hit that target and not something else,

0:11:51.080 --> 0:11:53.520
<v Speaker 1>Right Like, you don't want to end up hitting a

0:11:53.559 --> 0:12:00.400
<v Speaker 1>civilian building. You're aiming at a military unit or or

0:12:00.440 --> 0:12:04.320
<v Speaker 1>something like that. You need these tables so that you understand,

0:12:04.880 --> 0:12:10.240
<v Speaker 1>based upon the equipment you're using and the firepower behind it,

0:12:10.400 --> 0:12:12.200
<v Speaker 1>that you are actually going to hit the thing you're

0:12:12.240 --> 0:12:17.480
<v Speaker 1>aiming at. That's the kind of calculations that Hopper's team

0:12:17.600 --> 0:12:21.960
<v Speaker 1>was working on, and some of the work that was

0:12:22.000 --> 0:12:24.760
<v Speaker 1>done with the Harvard Mark one would also end up

0:12:24.800 --> 0:12:28.480
<v Speaker 1>being used by the Manhattan Project that was the top

0:12:28.520 --> 0:12:32.160
<v Speaker 1>secret mission to develop the atomic bomb. They also would

0:12:32.800 --> 0:12:38.080
<v Speaker 1>depend upon calculations made by the Mark one. Now, at

0:12:38.160 --> 0:12:41.920
<v Speaker 1>the conclusion of World War Two, Hopper would choose to

0:12:42.040 --> 0:12:45.640
<v Speaker 1>stay with Harvard. She was given the opportunity to go

0:12:45.720 --> 0:12:48.760
<v Speaker 1>back to Vassar, but she decided she would stick with

0:12:48.840 --> 0:12:52.760
<v Speaker 1>Harvard and work on computer systems. We're going to take

0:12:52.760 --> 0:12:54.640
<v Speaker 1>a quick break, but when we come back, we'll talk

0:12:54.720 --> 0:13:08.959
<v Speaker 1>more about the contributions Grace Hopper made to computing. Okay,

0:13:09.000 --> 0:13:12.240
<v Speaker 1>we're back. So, as I mentioned before the break, after

0:13:12.280 --> 0:13:16.000
<v Speaker 1>World War Two, Grace Hopper decided that she was going

0:13:16.040 --> 0:13:19.640
<v Speaker 1>to stay at Harvard, at least briefly. She would stay

0:13:19.640 --> 0:13:25.160
<v Speaker 1>there so she was an intrinsic part of the team

0:13:25.440 --> 0:13:28.880
<v Speaker 1>that developed the Mark two, the successor of the Mark one,

0:13:29.040 --> 0:13:34.000
<v Speaker 1>so a more complicated and sophisticated computer. She also worked

0:13:34.000 --> 0:13:37.560
<v Speaker 1>on the design of the Mark III, which obviously followed

0:13:37.559 --> 0:13:41.600
<v Speaker 1>the Mark two, and at this point Harvard was still

0:13:41.640 --> 0:13:44.880
<v Speaker 1>receiving support from the US Navy, which had a vested

0:13:44.920 --> 0:13:51.880
<v Speaker 1>interest in having access to sophisticated computational machines. Around this time,

0:13:51.960 --> 0:13:55.600
<v Speaker 1>we get to a story that has been mangled quite

0:13:55.600 --> 0:13:58.559
<v Speaker 1>a bit in the past. In fact, even Yale's own

0:13:58.679 --> 0:14:02.320
<v Speaker 1>page about Grace appears to have a mistake in it,

0:14:02.679 --> 0:14:06.719
<v Speaker 1>because the Yale page says that this incident that we're

0:14:06.760 --> 0:14:09.880
<v Speaker 1>about to talk about happened in nineteen forty five, but

0:14:10.480 --> 0:14:14.400
<v Speaker 1>according to other sources that talk about the actual log

0:14:14.480 --> 0:14:20.440
<v Speaker 1>book that recounts this event, it happened on a specific

0:14:20.520 --> 0:14:24.600
<v Speaker 1>day two years later, on September ninth, nineteen forty seven.

0:14:25.120 --> 0:14:27.800
<v Speaker 1>So again, this is a story that has been told

0:14:27.840 --> 0:14:31.320
<v Speaker 1>and retold many times, and a lot of those retellings

0:14:31.960 --> 0:14:37.720
<v Speaker 1>are inaccurate, probably not intentionally inaccurate, but it just has happened,

0:14:37.920 --> 0:14:41.280
<v Speaker 1>And like I said, in the past, I've repeated some

0:14:41.400 --> 0:14:45.200
<v Speaker 1>of those inaccuracy. So I'm going to try to be

0:14:45.560 --> 0:14:49.280
<v Speaker 1>as careful as I can to recount what actually happened.

0:14:50.320 --> 0:14:52.280
<v Speaker 1>Keeping in mind that this story has been told so

0:14:52.360 --> 0:14:55.640
<v Speaker 1>many times that it's very possible that there is no

0:14:56.920 --> 0:15:00.600
<v Speaker 1>one hundred percent accurate version of the story. But here's

0:15:00.600 --> 0:15:04.520
<v Speaker 1>how it goes. So the Mark two team at Harvard

0:15:04.840 --> 0:15:09.760
<v Speaker 1>were running into problems. The Mark two computer was producing

0:15:10.080 --> 0:15:12.760
<v Speaker 1>error after error, and it was doing so consistently. So

0:15:13.560 --> 0:15:17.400
<v Speaker 1>there was something wrong and it didn't matter how many

0:15:17.480 --> 0:15:20.040
<v Speaker 1>times they ran the calculation through. They were getting the

0:15:20.080 --> 0:15:23.960
<v Speaker 1>same errors at the other side, which meant something somewhere

0:15:24.000 --> 0:15:26.520
<v Speaker 1>in the computer system was hanky. I mean, maybe a

0:15:26.560 --> 0:15:30.920
<v Speaker 1>connection was loose, maybe a wire had broken. Like there

0:15:31.000 --> 0:15:33.360
<v Speaker 1>was no way to know unless you cracked the sucker

0:15:33.400 --> 0:15:36.560
<v Speaker 1>open and really took a look. So that's what Hopper's

0:15:36.600 --> 0:15:40.800
<v Speaker 1>team did. They began to look through the Mark two

0:15:40.840 --> 0:15:43.520
<v Speaker 1>computer to see what was going on, where was this

0:15:43.600 --> 0:15:48.640
<v Speaker 1>problem actually occurring. Then they found it. A moth had

0:15:48.680 --> 0:15:52.040
<v Speaker 1>been trapped inside the Mark two computer and it got

0:15:52.160 --> 0:15:56.920
<v Speaker 1>zapped in a relay and thus it was blocking a signal. Right,

0:15:57.040 --> 0:16:00.120
<v Speaker 1>the relay could not relay signals because there was a

0:16:00.120 --> 0:16:03.640
<v Speaker 1>a dead moth in the way. So they removed the

0:16:04.000 --> 0:16:08.520
<v Speaker 1>x insect and they actually taped it into the log

0:16:08.600 --> 0:16:10.760
<v Speaker 1>book they were keeping where they were. You know, they

0:16:10.800 --> 0:16:13.200
<v Speaker 1>would write down whenever they had errors you know, they

0:16:13.240 --> 0:16:17.360
<v Speaker 1>would log them so that they could work the errors out.

0:16:17.800 --> 0:16:21.520
<v Speaker 1>So they taped the dead moth into the logbook, and

0:16:21.560 --> 0:16:26.360
<v Speaker 1>they included the amusing note of quote first actual case

0:16:26.560 --> 0:16:33.320
<v Speaker 1>of bug being found end quote. So the shorthand for

0:16:33.440 --> 0:16:37.840
<v Speaker 1>this story is that Grace Hopper invented the term bug

0:16:38.320 --> 0:16:41.240
<v Speaker 1>when it comes to a problem that's in a computer

0:16:41.320 --> 0:16:44.520
<v Speaker 1>program or even in a computer system. But that's not

0:16:44.800 --> 0:16:49.840
<v Speaker 1>entirely accurate. So the term bug meaning something is going

0:16:49.880 --> 0:16:53.880
<v Speaker 1>wrong inside a mechanical or electrical system, something is creating errors.

0:16:54.320 --> 0:16:57.840
<v Speaker 1>That pre dates the nineteen forty seven incident. That was

0:16:57.920 --> 0:17:02.720
<v Speaker 1>a term that was already in use in various engineering circles.

0:17:04.000 --> 0:17:07.000
<v Speaker 1>And that makes sense, like it has to have already

0:17:07.080 --> 0:17:10.360
<v Speaker 1>existed or else that log entry doesn't make sense. Right,

0:17:10.440 --> 0:17:14.240
<v Speaker 1>The log entry was first actual case of a bug

0:17:14.560 --> 0:17:18.720
<v Speaker 1>being found, So that implies that the term bug was

0:17:18.760 --> 0:17:22.119
<v Speaker 1>already being used to describe errors. It's just that in

0:17:22.160 --> 0:17:27.080
<v Speaker 1>this particular case the bug was a literal bug. So

0:17:27.160 --> 0:17:30.920
<v Speaker 1>a lot of historical accounts now say Grace Hopper was

0:17:30.960 --> 0:17:34.320
<v Speaker 1>the first to apply the term bug to a problem

0:17:34.600 --> 0:17:38.840
<v Speaker 1>within a computer system, not just an electrical system or

0:17:39.359 --> 0:17:44.080
<v Speaker 1>mechanical system, but a computer system itself, and effectively she

0:17:44.200 --> 0:17:48.359
<v Speaker 1>coined the phrase computer bug. That's possibly true. It's at

0:17:48.440 --> 0:17:51.480
<v Speaker 1>least more accurate than just saying she coined the phrase bug,

0:17:51.560 --> 0:17:55.640
<v Speaker 1>because that's not true. Also, we should mention that it's

0:17:55.680 --> 0:17:59.560
<v Speaker 1>really her team, Like to this day, there's a little

0:17:59.560 --> 0:18:03.520
<v Speaker 1>bit of co of who first made the joke about

0:18:03.520 --> 0:18:07.000
<v Speaker 1>it being a bug. She also gets the credit for

0:18:07.080 --> 0:18:11.199
<v Speaker 1>the term debugging, and initially that makes sense because her

0:18:11.200 --> 0:18:15.880
<v Speaker 1>team literally had to debug a computer system by removing

0:18:15.920 --> 0:18:20.240
<v Speaker 1>the moth from the relay. However, the term debugging was

0:18:20.280 --> 0:18:23.400
<v Speaker 1>already being used in other circles as well. In fact,

0:18:23.480 --> 0:18:26.760
<v Speaker 1>it appears in a nineteen forty four letter that Jay

0:18:26.840 --> 0:18:31.199
<v Speaker 1>Robert Oppenheimer wrote to Ernest Lawrence, for example, that happened

0:18:31.240 --> 0:18:34.120
<v Speaker 1>three years before the Great Moth incident in the mark

0:18:34.240 --> 0:18:38.520
<v Speaker 1>to computer, So debugging was already a thing too. You

0:18:38.560 --> 0:18:40.959
<v Speaker 1>could argue maybe she was the first to use debugging

0:18:41.400 --> 0:18:44.600
<v Speaker 1>in relation to a computer system. And maybe she was,

0:18:45.000 --> 0:18:47.640
<v Speaker 1>or at least her team was. Now, as far as

0:18:47.640 --> 0:18:51.919
<v Speaker 1>I can tell, Grace Hopper never claimed that she or

0:18:51.960 --> 0:18:57.000
<v Speaker 1>her team coined the term's computer bug or debugging, that

0:18:57.119 --> 0:19:01.320
<v Speaker 1>this was something of a narrative that develop around her

0:19:01.359 --> 0:19:04.240
<v Speaker 1>but she was not responsible for it. She never made

0:19:04.280 --> 0:19:07.719
<v Speaker 1>those claims. Now, I think it might be because the

0:19:07.760 --> 0:19:11.159
<v Speaker 1>actual story of a real bug causing problems in a

0:19:11.160 --> 0:19:14.919
<v Speaker 1>computer is so amusing that folks want it to be

0:19:14.960 --> 0:19:19.120
<v Speaker 1>the origin story for the term itself, right, because it's

0:19:19.119 --> 0:19:22.040
<v Speaker 1>such a good story. Wouldn't that be awesome if that's

0:19:22.240 --> 0:19:27.400
<v Speaker 1>why we say computer bug? And it's still a great story, right,

0:19:28.000 --> 0:19:31.680
<v Speaker 1>it's fantastic, and it really did happen to Grace Hopper's team,

0:19:31.960 --> 0:19:34.720
<v Speaker 1>So not taking anything away from that, it's just that

0:19:35.040 --> 0:19:39.159
<v Speaker 1>it's not where we get those phrases. It's just an

0:19:39.200 --> 0:19:44.120
<v Speaker 1>amusing example of it being literal in this sense. Now,

0:19:44.160 --> 0:19:47.000
<v Speaker 1>we're not done with Grace Hopper, not by a long shot,

0:19:47.359 --> 0:19:51.159
<v Speaker 1>because her contributions went far beyond a close encounter of

0:19:51.320 --> 0:19:55.159
<v Speaker 1>the moth kind. That's just the amusing story folks like

0:19:55.280 --> 0:19:59.840
<v Speaker 1>to tell that. It relates to Grace Hopper's contributions in

0:20:00.040 --> 0:20:05.440
<v Speaker 1>computer science. So Hopper faced professional challenges. Despite her impressive

0:20:05.960 --> 0:20:08.600
<v Speaker 1>work to both the war effort during World War Two

0:20:09.040 --> 0:20:13.040
<v Speaker 1>and to computer programming in general, the Navy denied her

0:20:13.160 --> 0:20:18.080
<v Speaker 1>a regular commission, so she decided to leave active service.

0:20:18.600 --> 0:20:23.160
<v Speaker 1>She would remain a reservist until nineteen sixty six. More

0:20:23.160 --> 0:20:25.199
<v Speaker 1>on that when we get there, But she was no

0:20:25.280 --> 0:20:28.800
<v Speaker 1>longer an active service member of the US Navy at

0:20:28.800 --> 0:20:32.520
<v Speaker 1>this point. Not long after she stepped down from active

0:20:32.560 --> 0:20:35.960
<v Speaker 1>service with the Navy, she actually chose to leave Harvard

0:20:36.320 --> 0:20:40.560
<v Speaker 1>as well because she had been denied tenure, and it

0:20:40.640 --> 0:20:43.800
<v Speaker 1>also became obvious to her that she was not going

0:20:43.840 --> 0:20:47.200
<v Speaker 1>to get promoted there despite all the work she was doing.

0:20:47.640 --> 0:20:51.159
<v Speaker 1>That she was just hitting a glass ceiling super hard

0:20:51.240 --> 0:20:54.880
<v Speaker 1>and there was no real chance of her getting beyond it.

0:20:55.440 --> 0:20:59.400
<v Speaker 1>So rather than bang her head and or accept her

0:20:59.400 --> 0:21:03.879
<v Speaker 1>fate and not get any further in her career, she

0:21:04.000 --> 0:21:07.679
<v Speaker 1>decided in nineteen forty nine, she left Harvard University and

0:21:07.760 --> 0:21:12.040
<v Speaker 1>she went to join a computer company, a fledgling computer

0:21:12.080 --> 0:21:18.480
<v Speaker 1>company called the Eckert Mauchlee Computer Corporation or EMCC. The

0:21:18.560 --> 0:21:25.919
<v Speaker 1>following year, a typewriter company called Remington Rand would acquire EMCC.

0:21:26.560 --> 0:21:28.119
<v Speaker 1>And this is where we're going to get into a

0:21:28.280 --> 0:21:33.080
<v Speaker 1>very complicated history of a very important computer system. All right.

0:21:33.160 --> 0:21:38.920
<v Speaker 1>So EMCC, or Eckert Mauchley Computer Corporation, had taken its

0:21:38.960 --> 0:21:44.320
<v Speaker 1>name from its two founders, Jay Presper Eckert and John Mouchley. Now,

0:21:44.359 --> 0:21:48.720
<v Speaker 1>these two had built another early computer. This one was

0:21:48.760 --> 0:21:54.640
<v Speaker 1>called the Electronic Numerical Integrator and Computer or ENIAC, at

0:21:54.640 --> 0:21:58.879
<v Speaker 1>the University of Pennsylvania. ENIAC was also an important computer,

0:21:58.960 --> 0:22:01.680
<v Speaker 1>or at least it was to be a important computer

0:22:02.280 --> 0:22:05.680
<v Speaker 1>during World War Two. The actual development and construction of

0:22:05.800 --> 0:22:09.479
<v Speaker 1>ENIAC took quite a long time, but ENIAC is one

0:22:09.520 --> 0:22:14.200
<v Speaker 1>of those famous early electrical computers or electronic computers, i

0:22:14.240 --> 0:22:18.840
<v Speaker 1>should say. Now. Following that achievement, the two men found

0:22:19.359 --> 0:22:24.040
<v Speaker 1>themselves at a fundamental disagreement with the University of Pennsylvania

0:22:24.119 --> 0:22:27.679
<v Speaker 1>over the matter of patent rights, and this led the

0:22:27.680 --> 0:22:30.680
<v Speaker 1>pair to leave the University of Pennsylvania and then go

0:22:30.720 --> 0:22:35.960
<v Speaker 1>and found their own company. Thus, EMCC and EMCC designed

0:22:36.000 --> 0:22:41.119
<v Speaker 1>a new computer called the Binary Automatic Computer or BINAK,

0:22:41.200 --> 0:22:45.280
<v Speaker 1>which is essentially just a footnote in history. There's very

0:22:45.320 --> 0:22:48.560
<v Speaker 1>little about BINAK out there. It's possible that the machine

0:22:48.600 --> 0:22:53.200
<v Speaker 1>was literally never used for anything. However, it did arguably

0:22:53.280 --> 0:22:56.560
<v Speaker 1>leave the Bureau of the Census to then seek out

0:22:56.680 --> 0:23:00.840
<v Speaker 1>EMCC to create a new computer design, which the company

0:23:00.840 --> 0:23:05.280
<v Speaker 1>would refer to as UNIVAC. And Grace Hopper would join

0:23:05.400 --> 0:23:09.800
<v Speaker 1>EMCC around this time and would be important in the

0:23:09.840 --> 0:23:15.399
<v Speaker 1>work and development of UNIVAC, specifically in programming for the UNIVAC.

0:23:16.320 --> 0:23:19.440
<v Speaker 1>But in the fall of nineteen forty nine, the primary

0:23:19.520 --> 0:23:24.240
<v Speaker 1>financial backer for EMCC died in a plane crash. So

0:23:25.520 --> 0:23:32.119
<v Speaker 1>once their financier essentially had died, EMCC was kind of

0:23:32.160 --> 0:23:36.879
<v Speaker 1>in financial trouble. They weren't sure whether they could last

0:23:36.960 --> 0:23:41.040
<v Speaker 1>long enough to build out the UNIVAC. That's when Remington

0:23:41.160 --> 0:23:44.960
<v Speaker 1>Rand came along and acquired EMCC. Rimmington Rand was, really,

0:23:45.080 --> 0:23:49.640
<v Speaker 1>like I said, a typewriter company. They made office typewriters,

0:23:49.680 --> 0:23:52.639
<v Speaker 1>but they saw the opportunity to get into the computer

0:23:53.520 --> 0:23:58.400
<v Speaker 1>world by purchasing EMCC. However, there's always a bigger fish,

0:23:58.920 --> 0:24:03.280
<v Speaker 1>so things are about to get way more complicated. I'll

0:24:03.320 --> 0:24:05.960
<v Speaker 1>explain what I mean by that after we come back

0:24:06.119 --> 0:24:19.000
<v Speaker 1>from this quick break. All right, we're up to nineteen

0:24:19.119 --> 0:24:22.479
<v Speaker 1>fifty one. Grace Hopper has been part of EMCC and

0:24:22.480 --> 0:24:26.840
<v Speaker 1>then Remington Rand, which purchased EMCC for a few years,

0:24:27.160 --> 0:24:30.320
<v Speaker 1>and that's when the company completed work on the first

0:24:30.600 --> 0:24:34.880
<v Speaker 1>UNIVAC computer. It would eventually be known as the UNIVAC one,

0:24:35.160 --> 0:24:37.639
<v Speaker 1>but at the time they just called it the Univac.

0:24:38.640 --> 0:24:41.200
<v Speaker 1>Kind of like how in World War One. People referred

0:24:41.200 --> 0:24:43.280
<v Speaker 1>to it as the Great War because if they had

0:24:43.320 --> 0:24:45.639
<v Speaker 1>started calling it World War One while they were fighting it,

0:24:45.960 --> 0:24:50.040
<v Speaker 1>that would have been, you know, very pessimistic. Calling Univac

0:24:50.119 --> 0:24:53.280
<v Speaker 1>the UNIVAC one would have been very optimistic. So they

0:24:53.280 --> 0:24:56.119
<v Speaker 1>built the UNIVAC, and unlike other computers, this was not

0:24:56.200 --> 0:24:58.080
<v Speaker 1>a computer that was just meant to be a one

0:24:58.160 --> 0:25:03.280
<v Speaker 1>and done like. They made multiple UNIVAC one computer systems.

0:25:03.520 --> 0:25:06.320
<v Speaker 1>The first one went to the United States Census Bureau

0:25:06.480 --> 0:25:09.160
<v Speaker 1>because that's kind of where all this work got started,

0:25:09.640 --> 0:25:14.959
<v Speaker 1>but the company made other ones for other clients, including CBS. Famously,

0:25:15.480 --> 0:25:19.440
<v Speaker 1>CBS would use the UNIVAC one to predict the outcome

0:25:19.520 --> 0:25:23.479
<v Speaker 1>of the nineteen fifty two presidential election, but when they

0:25:23.520 --> 0:25:26.680
<v Speaker 1>got the results, they didn't trust it because the Univac

0:25:27.119 --> 0:25:31.080
<v Speaker 1>had said that Eisenhower was going to win handily, that

0:25:31.119 --> 0:25:34.120
<v Speaker 1>it was going to be a landslide victory for Eisenhower,

0:25:34.400 --> 0:25:37.760
<v Speaker 1>but the conventional wisdom at the time was that this

0:25:37.960 --> 0:25:41.800
<v Speaker 1>was going to be a much closer presidential race. However,

0:25:42.200 --> 0:25:46.600
<v Speaker 1>it would ultimately turn out that the UNIVAC prediction was right, like,

0:25:47.040 --> 0:25:50.760
<v Speaker 1>not exactly right. They didn't get to the very you know,

0:25:50.840 --> 0:25:53.879
<v Speaker 1>the very voter or anything like that. But it was

0:25:54.000 --> 0:25:56.280
<v Speaker 1>way more correct than the guests that it was going

0:25:56.320 --> 0:25:59.399
<v Speaker 1>to be a tight race. And that ended up really

0:25:59.440 --> 0:26:04.280
<v Speaker 1>elevating univacs prestige because once CBS said, Okay, well it

0:26:04.280 --> 0:26:08.080
<v Speaker 1>turns out our computer predicted a landslide. We just didn't

0:26:08.080 --> 0:26:10.040
<v Speaker 1>believe it. But it turns out the computer was right.

0:26:10.160 --> 0:26:14.840
<v Speaker 1>That's amazing press for your computer system. Right. So, Rimington

0:26:14.920 --> 0:26:19.080
<v Speaker 1>Rand slash EMCC would continue to develop the UNIVAC platform,

0:26:19.640 --> 0:26:24.640
<v Speaker 1>and then Rimington Rand made another acquisition. It acquired a

0:26:25.000 --> 0:26:30.520
<v Speaker 1>competing computer company called Engineering Research Associates or ER. So

0:26:30.680 --> 0:26:34.560
<v Speaker 1>Rand acquired ER in nineteen fifty two. Now, one of

0:26:35.040 --> 0:26:41.680
<v Speaker 1>era's founders was Hopper's old mathematics mentor, Howard Ingstrom. Rand

0:26:41.800 --> 0:26:47.080
<v Speaker 1>effectively ran EMCC and ERA as separate entities. Right, so,

0:26:47.440 --> 0:26:52.040
<v Speaker 1>while both companies were under the corporate umbrella of Remington Rand,

0:26:52.800 --> 0:26:56.320
<v Speaker 1>they still were kind of competing against each other. They

0:26:56.320 --> 0:27:00.639
<v Speaker 1>were making different computer designs. That, however, would change in

0:27:00.720 --> 0:27:04.159
<v Speaker 1>nineteen fifty five. I told you this gets complicated. So

0:27:04.200 --> 0:27:08.240
<v Speaker 1>in nineteen fifty five, Rand merged with another company called

0:27:08.320 --> 0:27:12.920
<v Speaker 1>Sperry spe r r Y, and then the new company

0:27:13.000 --> 0:27:17.480
<v Speaker 1>was known as Sperry Rand. Now, at this point EMCC

0:27:17.760 --> 0:27:21.639
<v Speaker 1>and ERA divisions would be merged together to form a

0:27:21.720 --> 0:27:25.960
<v Speaker 1>new division called Sperry UNIVAC. One of the folks at

0:27:26.000 --> 0:27:29.119
<v Speaker 1>ERA really didn't like that because it meant that ERA

0:27:29.880 --> 0:27:32.040
<v Speaker 1>had to drop a lot of the work it had

0:27:32.080 --> 0:27:36.520
<v Speaker 1>been pursuing. This guy was known as Seymour Cray. He

0:27:36.720 --> 0:27:41.320
<v Speaker 1>left the Sperry Rand Company and decided to make his

0:27:41.359 --> 0:27:46.280
<v Speaker 1>own computer company. It's called Cray Computers. That's another story.

0:27:46.440 --> 0:27:48.320
<v Speaker 1>It might mean something to you if you know the

0:27:48.400 --> 0:27:52.920
<v Speaker 1>names of old supercomputer systems. Yeah, we'll have to tell

0:27:52.920 --> 0:27:55.919
<v Speaker 1>the story of Cray Computers in another episode. So anyway,

0:27:56.359 --> 0:28:00.919
<v Speaker 1>at this point, the head of the division that was

0:28:01.080 --> 0:28:05.600
<v Speaker 1>Sperry UNIVAC was a guy named Leslie Groves. Now, Groves

0:28:05.640 --> 0:28:08.639
<v Speaker 1>had been an officer with the US Army Corps of Engineers.

0:28:08.960 --> 0:28:11.840
<v Speaker 1>He was actually in charge of the construction of the

0:28:11.840 --> 0:28:16.120
<v Speaker 1>Pentagon back in the nineteen forties. He also served as

0:28:16.160 --> 0:28:19.840
<v Speaker 1>the military's director for the Manhattan Project, and he went

0:28:19.840 --> 0:28:22.080
<v Speaker 1>on to oversee the early days of what would become

0:28:22.160 --> 0:28:25.880
<v Speaker 1>the United States nuclear weapons program. But he had also

0:28:26.080 --> 0:28:28.800
<v Speaker 1>reached an impasse with the US government. He was told

0:28:28.800 --> 0:28:31.560
<v Speaker 1>outright he was never going to get the appointment he wanted,

0:28:32.119 --> 0:28:34.400
<v Speaker 1>and in the late nineteen forties he decided to leave

0:28:34.440 --> 0:28:38.560
<v Speaker 1>military service. He received the rank of lieutenant general just

0:28:38.640 --> 0:28:41.800
<v Speaker 1>before he retired, and then he entered civilian life and

0:28:41.840 --> 0:28:44.720
<v Speaker 1>he joined Sperry and became a vice president of that company.

0:28:45.720 --> 0:28:49.400
<v Speaker 1>So I mentioned that again because this episode goes out

0:28:49.400 --> 0:28:55.720
<v Speaker 1>a Memorial Day and Sperry Rand this computer company had

0:28:55.720 --> 0:28:59.680
<v Speaker 1>a really healthy representation of former Armed Forces personnel working

0:28:59.720 --> 0:29:03.400
<v Speaker 1>as engineers. There. In fact, this was not unusual across

0:29:03.480 --> 0:29:07.840
<v Speaker 1>computer companies of the time that the engineers who were

0:29:08.000 --> 0:29:12.280
<v Speaker 1>at the forefront of the United States development of computers

0:29:12.720 --> 0:29:17.520
<v Speaker 1>were people who had previously worked in that respect for

0:29:17.600 --> 0:29:22.120
<v Speaker 1>the Armed Forces. Now, as I said, Hopper was involved

0:29:22.160 --> 0:29:25.080
<v Speaker 1>with the work on UNIVAC primarily from a programming side,

0:29:25.120 --> 0:29:27.600
<v Speaker 1>and her team would create something that would push computer

0:29:27.680 --> 0:29:31.760
<v Speaker 1>science in general and computer programming in particular into a

0:29:31.840 --> 0:29:35.240
<v Speaker 1>new era and to make it way more accessible for

0:29:35.360 --> 0:29:41.080
<v Speaker 1>new programmers. And this was the first compiler. All right.

0:29:41.160 --> 0:29:44.880
<v Speaker 1>So I've talked in the past about how machines do

0:29:45.000 --> 0:29:48.840
<v Speaker 1>not understand languages the way we do. So when you

0:29:48.840 --> 0:29:53.080
<v Speaker 1>get down to the basic operational level, machines don't understand

0:29:54.160 --> 0:29:57.320
<v Speaker 1>human language right, Like, you can have a conversation with

0:29:57.400 --> 0:30:01.880
<v Speaker 1>chat GPT and the appearance is that the machine understands

0:30:01.920 --> 0:30:05.400
<v Speaker 1>what you're saying, But this is actually after several layers

0:30:05.400 --> 0:30:09.880
<v Speaker 1>of abstraction. When you strip it all away, machines understand

0:30:10.040 --> 0:30:14.400
<v Speaker 1>machine code. Typically we're talking about binary code, so that

0:30:14.480 --> 0:30:17.440
<v Speaker 1>means at the basic level of computing, you're dealing with

0:30:17.560 --> 0:30:21.760
<v Speaker 1>zeros and ones. Machines can process this information efficiently, but

0:30:21.800 --> 0:30:25.560
<v Speaker 1>it's not easy for humans to work with that. Now,

0:30:25.640 --> 0:30:33.120
<v Speaker 1>early programming languages were really mathematical codes, and we're very,

0:30:33.240 --> 0:30:38.080
<v Speaker 1>very close to giving to machine code itself. Grace Hopper

0:30:38.120 --> 0:30:40.720
<v Speaker 1>had this dream of making a system where humans could

0:30:40.720 --> 0:30:45.320
<v Speaker 1>write instructions for computers in a more easily accessible language,

0:30:45.440 --> 0:30:49.240
<v Speaker 1>something that was closer to the language like English. Now

0:30:49.240 --> 0:30:53.920
<v Speaker 1>a lot of are contemporaries dismiss this as just wishful thinking, like, yes,

0:30:54.000 --> 0:30:56.560
<v Speaker 1>it would be nice if you could program in a

0:30:56.640 --> 0:30:59.400
<v Speaker 1>language closer to English, but it would also be nice

0:30:59.680 --> 0:31:01.800
<v Speaker 1>if I had my own private plane and could fly

0:31:01.920 --> 0:31:04.360
<v Speaker 1>anywhere I wanted to do, any time of day. It's

0:31:04.560 --> 0:31:08.400
<v Speaker 1>just a pipe dream. How can you bridge the gap

0:31:08.880 --> 0:31:12.440
<v Speaker 1>between what humans find easy to do when it comes

0:31:12.440 --> 0:31:17.320
<v Speaker 1>to communication, and what machines are capable of, and Hopper's

0:31:17.320 --> 0:31:21.040
<v Speaker 1>team got to work on creating a solution. Now. That

0:31:21.080 --> 0:31:26.800
<v Speaker 1>solution came in two important parts. One is programming language. Now,

0:31:26.840 --> 0:31:31.800
<v Speaker 1>programming language creates a level of abstraction from machine code

0:31:31.920 --> 0:31:34.760
<v Speaker 1>to make programming less of an arduous task, but not

0:31:34.800 --> 0:31:39.240
<v Speaker 1>all programming languages are alike. A low level programming language

0:31:39.520 --> 0:31:42.840
<v Speaker 1>is really just a few degrees separation from machine code itself.

0:31:42.920 --> 0:31:47.880
<v Speaker 1>It's still pretty challenging to learn. It is a slog

0:31:48.040 --> 0:31:52.680
<v Speaker 1>to really get a firm grasp on how to program,

0:31:52.960 --> 0:31:55.560
<v Speaker 1>which in turn means you can be really limited in

0:31:55.960 --> 0:31:59.040
<v Speaker 1>what you can do right that you have the potential

0:31:59.080 --> 0:32:02.160
<v Speaker 1>to do much more interesting programming, but you have a

0:32:02.240 --> 0:32:06.800
<v Speaker 1>limitation because the language itself is so difficult to work with.

0:32:07.360 --> 0:32:11.200
<v Speaker 1>A high level programming language has more layers of abstraction,

0:32:11.560 --> 0:32:14.280
<v Speaker 1>so it makes it easier for humans to grasp and

0:32:14.400 --> 0:32:18.040
<v Speaker 1>to work with, and you're also less likely to introduce

0:32:18.520 --> 0:32:23.640
<v Speaker 1>bugs like programming bugs. Obviously that still happens, but it's

0:32:24.000 --> 0:32:28.120
<v Speaker 1>slightly easier to avoid. But to make a programming language useful,

0:32:28.160 --> 0:32:30.960
<v Speaker 1>you have to have a way to translate those instructions

0:32:31.320 --> 0:32:35.120
<v Speaker 1>from the more human friendly programming language to the useful

0:32:35.240 --> 0:32:39.080
<v Speaker 1>machine code that the computer system actually relies upon. To

0:32:39.120 --> 0:32:42.960
<v Speaker 1>that end, Hopper's team built the first compiler, and the

0:32:43.000 --> 0:32:45.680
<v Speaker 1>compiler does pretty much what I just described. It takes

0:32:45.920 --> 0:32:49.239
<v Speaker 1>code that's written in a programming language and compiles that

0:32:49.400 --> 0:32:54.640
<v Speaker 1>into machine readable instructions. The early programming languages, like I said,

0:32:54.680 --> 0:32:58.920
<v Speaker 1>we're essentially mathematical code like Fourtran is an example very

0:32:58.920 --> 0:33:02.880
<v Speaker 1>close to mathematical code. Hopper's team developed a programming language

0:33:02.880 --> 0:33:06.040
<v Speaker 1>that began to approach something similar to English, and this

0:33:06.200 --> 0:33:08.920
<v Speaker 1>was a huge step. It was a non trivial development

0:33:09.360 --> 0:33:12.880
<v Speaker 1>in the world of computer science. Hopper's team named the

0:33:13.000 --> 0:33:18.280
<v Speaker 1>language Flowmatic. Unlike predecessor's like Fortrand, Flowmatic's use of English

0:33:18.280 --> 0:33:21.120
<v Speaker 1>commands remove some of the barriers to programming. It was

0:33:21.160 --> 0:33:23.320
<v Speaker 1>still a challenge to learn. It wasn't like the easiest

0:33:23.320 --> 0:33:25.800
<v Speaker 1>thing in the world to work with, but the learning

0:33:25.840 --> 0:33:29.680
<v Speaker 1>curve became way way less harsh when you started to

0:33:29.720 --> 0:33:36.920
<v Speaker 1>introduce this more English structure type of programming language. Flomatic

0:33:37.000 --> 0:33:40.440
<v Speaker 1>would essentially become the inspiration for a future programming language

0:33:40.880 --> 0:33:46.240
<v Speaker 1>called Common Business Oriented Language or COBOL, which we mentioned

0:33:46.360 --> 0:33:49.160
<v Speaker 1>at the top of the show. Or COBOL if you prefer.

0:33:49.640 --> 0:33:53.719
<v Speaker 1>And Hopper really liked Cobol, and she promoted it and

0:33:53.800 --> 0:33:58.200
<v Speaker 1>worked on compilers for the Cobol language, and that helped

0:33:58.280 --> 0:34:02.000
<v Speaker 1>make Cobol a widely used language in academia, in the

0:34:02.040 --> 0:34:06.160
<v Speaker 1>private sector, in the military, and her work really made

0:34:06.400 --> 0:34:09.800
<v Speaker 1>huge results. People would later attribute her promotion of Cobol

0:34:10.680 --> 0:34:14.120
<v Speaker 1>as a major factor in the language's success, because by

0:34:14.120 --> 0:34:16.959
<v Speaker 1>the nineteen seventies it would become the most commonly used

0:34:17.000 --> 0:34:22.760
<v Speaker 1>programming language out there, and people say Grace Hopper's contributions

0:34:23.000 --> 0:34:26.000
<v Speaker 1>were a large part of that. Now, as I mentioned

0:34:26.280 --> 0:34:29.840
<v Speaker 1>earlier in this episode, Hopper was in the Navy reserves

0:34:29.960 --> 0:34:33.960
<v Speaker 1>until nineteen sixty six, so she had left active service,

0:34:33.960 --> 0:34:36.640
<v Speaker 1>but she had remained in the reserves for two decades

0:34:37.120 --> 0:34:41.040
<v Speaker 1>until she was required to retire due to age restrictions,

0:34:41.719 --> 0:34:44.480
<v Speaker 1>and she would reference her retirement from the Navy as

0:34:44.520 --> 0:34:47.560
<v Speaker 1>the saddest day of her life. Her rank at the

0:34:47.600 --> 0:34:53.680
<v Speaker 1>time was commander. And then seven months later, the Navy

0:34:53.719 --> 0:34:58.799
<v Speaker 1>came back to her and said, Grace, could you help

0:34:58.880 --> 0:35:02.640
<v Speaker 1>us out again? And after retiring as a reservist, Grace

0:35:02.680 --> 0:35:06.320
<v Speaker 1>Hopper would rejoin the Navy as an active service member.

0:35:06.800 --> 0:35:11.920
<v Speaker 1>Her responsibilities primarily included streamlining the Navy's approach to computers

0:35:12.360 --> 0:35:15.400
<v Speaker 1>and to find a way to manage the multiple computer

0:35:15.520 --> 0:35:19.040
<v Speaker 1>systems and computer languages the Navy was reliant upon, because

0:35:19.719 --> 0:35:24.160
<v Speaker 1>by this time, the Navy had invested in multiple computer systems,

0:35:24.600 --> 0:35:27.880
<v Speaker 1>working with lots of different people who took different approaches,

0:35:28.280 --> 0:35:33.799
<v Speaker 1>and it just became complicated and difficult to coordinate projects

0:35:33.840 --> 0:35:37.920
<v Speaker 1>because you had different systems working with very different computer languages,

0:35:37.960 --> 0:35:42.040
<v Speaker 1>they were not inherently compatible. So Grace Hopper was there

0:35:42.080 --> 0:35:44.680
<v Speaker 1>to try and make sense of it all and to

0:35:44.680 --> 0:35:48.880
<v Speaker 1>make it more efficient and streamlined. She would spend nearly

0:35:49.080 --> 0:35:53.120
<v Speaker 1>two more decades as an active service member of the Navy,

0:35:53.560 --> 0:35:58.400
<v Speaker 1>and she got the nickname Amazing Grace. She also continued

0:35:58.440 --> 0:36:02.400
<v Speaker 1>to work for UNIVAC until nineteen seventy two. Throughout her career,

0:36:02.520 --> 0:36:06.640
<v Speaker 1>she earned countless distinctions, way too many for me to

0:36:06.719 --> 0:36:10.240
<v Speaker 1>list in this episode. At the age of seventy nine,

0:36:10.280 --> 0:36:16.839
<v Speaker 1>she finally retired from the Navy for realsi's no takebacks.

0:36:17.320 --> 0:36:21.239
<v Speaker 1>By that point, she had attained the rank of Rear admiral,

0:36:21.840 --> 0:36:26.040
<v Speaker 1>and at that point she was also the oldest active

0:36:26.200 --> 0:36:32.279
<v Speaker 1>service member in US military, which is pretty pretty phenomenal.

0:36:32.800 --> 0:36:39.400
<v Speaker 1>As I said, she got numerous awards and distinctions, both

0:36:39.640 --> 0:36:46.280
<v Speaker 1>while she was alive and posthumously. She has received awards

0:36:46.280 --> 0:36:53.320
<v Speaker 1>from US presidents, from various universities, from various professional associations.

0:36:54.480 --> 0:37:01.200
<v Speaker 1>An incredibly important person in the world of computer science.

0:37:01.960 --> 0:37:06.120
<v Speaker 1>She lived until the ripe old age of eighty five.

0:37:06.560 --> 0:37:10.879
<v Speaker 1>She passed away on New Year's Day nineteen ninety two

0:37:11.320 --> 0:37:17.040
<v Speaker 1>and was buried an Arlington cemetery with full military honors.

0:37:17.400 --> 0:37:22.240
<v Speaker 1>So truly a phenomenal figure in the history of computer

0:37:22.320 --> 0:37:28.200
<v Speaker 1>science and a testament to what you can achieve when

0:37:28.239 --> 0:37:34.600
<v Speaker 1>you have ambition, and you have skill and talent, and

0:37:34.719 --> 0:37:39.600
<v Speaker 1>you have dedication to your craft. A phenomenal life's story,

0:37:40.040 --> 0:37:44.320
<v Speaker 1>and so I am glad to have dedicated an episode

0:37:44.320 --> 0:37:48.160
<v Speaker 1>to Grace Hopper. I hope all of you out there

0:37:48.239 --> 0:37:51.920
<v Speaker 1>are well. I hope those of you who are observing

0:37:52.000 --> 0:37:57.759
<v Speaker 1>Memorial Day have a peaceful day of reflection. And I

0:37:57.800 --> 0:38:07.680
<v Speaker 1>will talk to you again really soon. Tech Stuff is

0:38:07.719 --> 0:38:12.239
<v Speaker 1>an iHeartRadio production. For more podcasts from iHeartRadio, visit the

0:38:12.280 --> 0:38:15.920
<v Speaker 1>iHeartRadio app, Apple Podcasts, or wherever you listen to your

0:38:15.960 --> 0:38:16.680
<v Speaker 1>favorite shows.