2020-03-05 grace hopper

33
Page 1 The 710 Lecture Series presents … Thursday, March 5 - 10:00 AM to about 11:15 Redwood Commons Theater US Navy photo Grace Hopper In 1943 the Navy wouldn’t let her enlist. It soon learned how valuable she was. By 1985 she was a Rear Admiral. Come hear the story of computer pioneer “Amazing” Grace.

Upload: others

Post on 11-Apr-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2020-03-05 Grace Hopper

Page 1

The 710 Lecture Series presents …

Thursday, March 5 - 10:00 AM to about 11:15Redwood Commons Theater

US Navy photo

Grace HopperIn 1943 the Navy wouldn’t let her enlist.It soon learned how valuable she was.By 1985 she was a Rear Admiral.Come hear the story of computerpioneer “Amazing” Grace.

Page 2: 2020-03-05 Grace Hopper

Page 2

Pitcher’s Mound Rubber to Home Plate is60’6”

● How much time is needed for a 90 mphfast ball to reach the plate?● If released level, how much will it drop?

A bit later we are going to need to have a feel forhow motion is calculated, so let’s look at a familiarsituation.

Page 3: 2020-03-05 Grace Hopper

Page 3

Convert 90 miles per hour to feet per second.

90 miles 1 hour 1.5 mile1 hour 60 minute minuteX =

1.5 mile 1 minute 0.025 mile1 minute 60 seconds secondX =

0.025 mile 5,280 ft 132 ftsecond 1 mile secondX =

Page 4: 2020-03-05 Grace Hopper

Page 4

60.5 ft second 0.458 seconds 132 ft

X =

Knowing the distance and the speed, we get the time:

the distance it drops:

21

0

Substituting 0.458 seconds for ‘t’ we get that theball would be 3.37 feet lower than its releaseheight as it crosses the plate.

where a is the acceleration constant. For earth’s gravity, itis known as ‘g’, and is 32.15 feet/second/second.

v is initial velocity. Since we have 0 velocity in thedownward direction, it is 0.

0

s = a t + v t2

Page 5: 2020-03-05 Grace Hopper

Page 5

The Navy’s problemStarting around 1900, each generation (class) ofbattleship or cruiser had larger guns, either in bore(diameter measured in inches) or in barrel length(specified as a multiple of the bore.) Thus a 16”/50 gunused shells 16” in diameter, and the barrel was 50 x 16”or 800 inches in length: 66.66 feet.The weight of the projectiles ranged from 2,800 poundsdown to 900 pounds.The muzzle velocity (MV) is a function of charge (quantityand quality of the ”gun powder”), the weight of theprojectile, the bore and barrel length.

How far the projectile will go is a function of the MV andthe elevation (angle above horizontal) of the barrel.

Page 6: 2020-03-05 Grace Hopper

Page 6

Prior to the invention of radar, the range to target wasdetermined using an optical range finder system.

The largest guns were able to send a projectile 22 miles.Getting accurate range measurements beyond that distancewas not possible due to the curvature of the earth: the targetwould ‘disappear’ below the horizon.

What the Navy needed was a set of tables which indicatedwhat gun elevation to use for a specified combination of gun,projectile, charge, and distance.

The calculations are based on Newtonian Motion and areknown as the projectile trajectory equations.

Page 7: 2020-03-05 Grace Hopper

Page 7

V0th gsin(θ)=

2 V0td gsin(θ)=

V0h2gsin(θ)=

2 2

θ =V0

2gd( (arcsin

Page 8: 2020-03-05 Grace Hopper

Page 8

USS WisconsinThree turrets, each with three 16”/50 guns.

● Armor Piercing - 2,800 pounds● High Explosive - 2,100 pounds● Incendiary(?) - 900 pounds

Typical Muzzle Velocity (MV) - 2,100 fps

Page 9: 2020-03-05 Grace Hopper

Page 9

GUNPROJECTILE

MUZZLE VELOCITY

16”/502100 lbs2100 fps

Page 10: 2020-03-05 Grace Hopper

Page 10

IBM Automatic Sequence Controlled Calculator (ASCC)Called ‘Mark I’ by Harvard University’s staff

Page 11: 2020-03-05 Grace Hopper

Page 11

2 ft

8 ft

51 ft

765,000 electromechanical componentsHundreds of miles of wire

50 foot rotating shaft for timing/synchronization - 5 hp motor

3 million connections, 3,500 multi-pole relays with 35,000contacts, 2,225 counters, 1,464 ten-pole switches and tiers of72 adding machines, each with 23 significant digits.

● 3 add or subtract operations per second● Multiplication - 6 seconds, Division - 15.3 seconds● Logarithm or Trigonometric function took over one minute

Page 12: 2020-03-05 Grace Hopper

Page 12

Howard Aiken of Harvard University started the project in 1937.After multiple requests to build it were rejected, he was shown amodel developed by Charles Babbage's son. This hadimplemented many of the components of Babbage's AnalyticalEngine. Aiken enhanced it, and eventually IBM presidentThomas Watson approved funding, detailed design, andconstruction by IBM engineers in Elmira, NY. One of the firstprograms to run on the Mark I was initiated on March 29, 1944 byJohn von Neumann. At that time, von Neumann was working onthe Manhattan Project, and needed to determine whetherimplosion was a viable detonation mechanism for the atomicbomb that would be used a year later. The machine was installedat Harvard and assigned to the Navy's Bureau of Ships. It wentactive in May, 1944. The primary assignment was the generationof projectile trajectory tables for the Navy.

Charles Babbage (1791 - 1871)

Page 13: 2020-03-05 Grace Hopper

Page 13

Grace Hopper● Grace Brewster Murray Hopper (nee Murray) was born Dec. 9, 1906 in

NYC. She was the eldest of three children, her parents were of Scottishand Dutch descent.● Her great-grandfather Alexander Wilson Russell was an admiral in the

US Navy, fought in the Battle of Mobile Bay during the Civil War.● Grace was very curious as a child. At the age of seven she decided to

determine how an alarm clock worked and disassembled seven beforeher mother realized what she was doing. She was subsequentlyrestricted to one clock.● She attended the Hartridge School in Plainfield, New Jersey. She was

initially rejected for early admission to Vassar College at the age of 16(her test scores in Latin were too low). She was admitted the followingyear.

Page 14: 2020-03-05 Grace Hopper

Page 14

● She graduated Phi Beta Kappa from Vassar in 1928 with a bachelor'sdegrees in mathematics and physics, and earned the master's degreethe same year.● She began teaching mathematics at Vassar in 1931 and was promoted

to associate professor in 1941.● She was married to NYU professor Vincent Foster Hopper (1906-1974)

from 1930 until their divorce in 1945. She did not marry again, butchose to retain his surname.● At the start of World War II, Hopper tried to enlist in the US Navy.

She was rejected for several reasons:● At age 34 she was 'too old'.● Her weight to height ratio was too low.● She was denied on the basis that her job as a mathematician

and mathematics professor at Vassar College was valuable to thewar effort.

Page 15: 2020-03-05 Grace Hopper

Page 15

● In 1943 she obtained a leave of absence from Vassar and was sworninto the US Navy Reserves. She was one of the many women whovolunteered to serve in the WAVES. She had to get an exemption toenlist, she was 15 pounds below the Navy minimum weight of 120.● She reported for duty in December and trained at the Naval Reserve

Midshipmen's School at Smith College in Northampton,Massachusetts.● Hopper graduated first in her class and was assigned to the Bureau of

Ships Computation Project at Harvard University as a lieutenant, juniorgrade.● She served on the Mark I computer programming staff headed by

Howard Aiken.● Hopper and Aiken co-authored three papers on the Mark I.

Page 16: 2020-03-05 Grace Hopper

Page 16

Howard Aiken (fromleft), Lt. GraceHopper, and EnsignCampbell. Becauseof Hopper’s ability tocommunicateprecisely, Aikenassigned her to writewhat was to becomethe world’s firstcomputerprogrammingmanual.HUPSF Computers/HarvardUniversity Archives

Page 17: 2020-03-05 Grace Hopper

Page 17

Page 18: 2020-03-05 Grace Hopper

Page 18

c. 1947 - Under contract to Bureauof Naval Ordinance using theMark II.

The infamous ‘bug’

Page 19: 2020-03-05 Grace Hopper

Page 19

● At the end of the war she requested transfer to regular Navy but wasdeclined due to her 'advanced' age. She continued to serve in theHarvard Computational Lab until 1949. She turned down a fullprofessorship at Vassar in order to continue working at Harvard under aNavy contract.● In 1949 she became an employee of Eckert-Mauchly Computer

Corporation as a senior mathematician and joined the team developingthe UNIVAC.● Hopper also served as UNIVAC Director of Automatic Programming

Development for Remington Rand.● The UNIVAC was the first known large-scale electronic computer to be

on the market in 1950, and was more competitive at processinginformation than the Mark I.● When Hopper recommended the development of a new programming

language that would use entire English words, she was told very quicklythat she couldn't do this because computers don't understand English.

Page 20: 2020-03-05 Grace Hopper

Page 20

● Her idea was not accepted for 3 years.●She developed a compiler-based language - A-O.● She developed a linker-loader.● She developed additional programming languages, including

MATH-MATIC and FLOW-MATIC.

● In the spring of 1959 a national conference of industry experts fromindustry and government were brought together for a two-dayconference known as the Conference on Data Systems Languages(CODASYL). Hopper served as a technical consultant to the committee,and many of her former employees served on the short-term

I had a running compilerand nobody would touch it.They told me 'Computerscould only do arithmetic.’

Page 21: 2020-03-05 Grace Hopper

Page 21

committee that defined the new language COBOL (COmmon Business-Oriented Language.) The new language extended Hopper's FLOW-MATIC language with some ideas from the IBM equivalent COMTRAN.● Hopper served as the director of the Navy Programming Languages

Group in the Navy's Office of Information Systems Planning and waspromoted to the rank of Captain in 1963. She developed a validationsoftware suite for COBOL and its compiler as part of a COBOLstandardization program for the entire Navy.● Hopper advocated for the Defense Department to replace large,

centralized systems with networks of small, distributed computers.● In accordance with Navy attrition regulations, Hopper retired from

the Naval Reserve with the rank of Commander at the age of 60 at theend of 1966.● She was recalled to active duty in August 1967 for a 6-month period

that turned into an indefinite assignment.● She again retired in 1971.

Page 22: 2020-03-05 Grace Hopper

Page 22

Let’s leave Grace Hopper for a few minutesand look at four of the accomplishmentsmentioned on the previous screen.

1. COBOL Language2. COBOL Compiler3. LINKER-LOADER4. COBOL Validation Suite

Page 23: 2020-03-05 Grace Hopper

Page 23

A COBOL program example.COBOL has a reputation for being very ‘wordy’ which is understandablesince a key point of COBOL was to make it read like English. I had tosearch the Internet a bit to find a ‘small’ program to use as a sample.

Disclaimer: I have never written a COBOL program from scratch, and lastassisted a client with one more than 40 years ago. As it stands, I think Ihave found two logic errors in this one. So this is presented for FORMrather than FUNCTION.

Page 24: 2020-03-05 Grace Hopper

Page 24

1$ SET SOURCEFORMAT"FREE"IDENTIFICATION DIVISION.PROGRAM-ID. Iteration-If.AUTHOR. Michael Coughlan.

DATA DIVISION.WORKING-STORAGE SECTION.01 Num1 PIC 9 VALUE ZEROS.01 Num2 PIC 9 VALUE ZEROS.01 Result PIC 99 VALUE ZEROS.01 Operator PIC X VALUE SPACE.

PROCEDURE DIVISION.Calculator. PERFORM 3 TIMES

Page 25: 2020-03-05 Grace Hopper

Page 25

DISPLAY "Enter First Number: " WITH NO ADVANCING ACCEPT Num1 DISPLAY "Enter Second Number: " WITH NO ADVANCING ACCEPT Num2 DISPLAY "Enter operator (+ or *): " WITH NO ADVANCING ACCEPT Operator

Page 26: 2020-03-05 Grace Hopper

Page 26

IF Operator = "+" THEN ADD Num1, Num2 GIVING ResultEND-IF DISPLAY "Result is = ", Result END-PERFORM. STOP RUN. END-IF IF Operator = "*" THEN MULTIPLY Num1 BY Num2 GIVINGResult END-IF DISPLAY "Result is = ", Result END-PERFORM. STOP RUN.

Page 27: 2020-03-05 Grace Hopper

Page 27

What is a COMPILER?

ADD A TO B GIVING C

C = A + B

“ADD”

34

….34….

A compiler reads SOURCE written in ahuman-readable COMPUTERPROGRAMMING LANGUAGE. The languageincludes INSTRUCTIONS which may berepresented by WORDS such as ADD,SUBTRACT, MULTIPLY, DIVIDE or berepresented by SYMBOLS such as +, -, *, /.

The compiler PARSES the source andconverts the tokens that representINSTRUCTIONS into often multiple numericMACHINE CODES that they require. It alsoidentifies and allocates memory for storingand retrieving variable DATA. It ultimatelywrites a file in pure numeric code sequencesunderstood by the processing unit.

Page 28: 2020-03-05 Grace Hopper

Page 28

What is a LINKER?

Other libraries

BUSINESS RULES

I/O LIBRARY

MATH LIBRARY

CREATE, OPEN, CLOSE, READ,WRITE, INSERT, DELETE, FIND

SINE( ), COSINE( ), TAN( ),ARCSINE( ), ARCTAN( ), SQRT(

GRAPHICS, ENGINEERING,etc.

The LINKER combines thecompiler output from specifiedsource module(s) into onemachine code module. It thenlooks for external references,such as to library routines. Itextracts the machine code forthose routines and adds to theoutput module, adjusting thereferences to point to theroutines. It also sets up thecall/return sequence so thateach routine need only bepresent in the module once.The resultant module may besaved to disk, or immediatelyLOADED into the computer’smemory and executed.

LINK

Page 29: 2020-03-05 Grace Hopper

Page 29

What is a VALIDATION SUITE?Computers by different manufacturers have different internal architecture.For example, the UNIVAC mainframes that I used in the 70’s through mid-90’s had 36-bit words. The Intel-based PCs and Unix mini-computers that Iused in the 80’s to present typically have 32-bit words. Here’s a simplifiedexample of how you might get different results.

DIVIDE 100 by 336-bit result: 33.33333333333333333333332-bit result: 33.3333333333333333

Hopper’s Validation Suite used a collection of COBOL source code whichthoroughly exercised the language. It then identified where machine orcompiler differences could lead to different results. It recommendedchanges to the compiler to enforce uniformity and thus compliance to theCOBOL standard.

COBOL-60 essentially an experimental release, had many ambiguities.COBOL-68 reliable production version.COBOL-74 enhanced version.COBOL-80 proposed, rejected - it was not backwards compatible.

Page 30: 2020-03-05 Grace Hopper

Page 30

● She was again to return to active duty in 1972.● She was promoted to Captain in 1973 by Admiral Elmo Zumwalt, Jr.● After Republican Representative Philip Crane saw her on a March

1983 segment of 60 Minutes, he championed House Joint Resolution341, which led to her promotion on December 15, 1983 to Commodoreby special Presidential appointment by President Ronald Reagan.● She remained on active duty for several years beyond mandatory

retirement by special approval of Congress.

Page 31: 2020-03-05 Grace Hopper

Page 31

● Effective November 8, 1985, the rank of Commodore was renamedRear Admiral (lower half) and Hopper became one of the Navy's fewfemale admirals.● Following a career that spanned more than 42 years, Admiral Hopper

took retirement from the Navy on August 14, 1986. At a celebrationheld in Boston on the USS Constitution to commemorate herretirement, Hopper was awarded the Defense Distinguished ServiceMedal, the highest non-combat decoration awarded by theDepartment of Defense.

● After her 'final' retirement Hopper served as a goodwill ambassadorfor Digital Equipment Corporation (DEC).

● Hopper died in her sleep on New Year’s Day, 1992.

Page 32: 2020-03-05 Grace Hopper

Page 32

COBOL had critics withpapers such as “COBOLcauses brain damage.” ACODASYL committee membergot a ‘good deal’ on atombstone and as a practicaljoke presented it to AdmiralHopper at an annual meeting.

COBOL turned 50 in 2009.Estimates then were thatthere were 250 billion linesof COBOL code in use, and1 million COBOLprogrammers.It survived Y2K.

Page 33: 2020-03-05 Grace Hopper

Page 33

USS HOPPER (DDG-70)Returns to Pearl Harbor

Commissioned Sept. 1st, 1997