Milestone-Proposal talk:Grace Hopper's Compiler and Programming Language Work, 1952-1959
Advocates and reviewers will post their comments below. In addition, any IEEE member can sign in with their ETHW login (different from IEEE Single Sign On) and comment on the milestone proposal's accuracy or completeness as a form of public review.
Advocates’ Checklist
- Is proposal for an achievement rather than for a person?
- Was proposed achievement a significant advance rather than an incremental improvement to an existing technology?
- Were there prior or contemporary achievements of a similar nature?
- Has the achievement truly led to a functioning, useful, or marketable technology?
- Is proposal adequately supported by significant references (minimum of five) such as patents, contemporary newspaper articles, journal articles, or citations to pages in scholarly books? At least one of the references from a peer-reviewed scholarly book or journal article. The full text of the material, not just the references, shall be present. If the supporting texts are copyright-encumbered and cannot be posted on the ETHW for intellectual property reasons, the proposers shall email a copy to the History Center so that it can be forwarded to the advocate. If the advocate does not consider the supporting references sufficient, the advocate may ask the proposer(s) for additional ones.
- Are the scholarly references sufficiently recent?
- Is proposed citation readable and understandable by the general public?
- Does the proposed plaque site fulfill the requirements?
- Is the proposal quality comparable to that of IEEE publications?
- Scientific and technical units correct? (e.g. km, mm, hertz, etc.) Are acronyms correct and properly upperercased or lowercased?
- Date formats correct as specified in Section 6 of Milestones Program Guidelines? https://ieeemilestones.ethw.org/Helpful_Hints_on_Citations,_Plaque_Locations
Reviewers’ Checklist
- Is suggested wording of the Plaque Citation accurate?
- Is evidence presented in the proposal of sufficient substance and accuracy to support the Plaque Citation?
- Does proposed milestone represent a significant technical achievement?
- Were there similar or competing achievements? If so, have the proposers adequately described these and their relationship to the achievement being proposed?
Submission and Approval Log
12 October 2021 -- proposal submitted. 29 November 2023 -- approved by History Committee
Citation as presented to February 2023 History Committee teleconference
The Compiler, 1952
The compiler translated human-readable English keywords or commands into machine-readable instructions or code, thus creating well-defined communication between human programmers and computers. It made possible programs written for different computers rather than a single machine. Based on the compiler, the Flow-Matic was first used in the UNIVAC. This shaped the creation of COBOL, a programming language that facilitated the information highway and the beginning of the IT industry.
Citation as presented to July 2023 History Committee teleconference
The Compiler, 1952
Grace M. Hopper invented the compiler to translate mathematical programming into machine-readable code. A mathematician and programmer, Grace Hopper led teams that developed FLOW-MATIC, a computer language using English words, which led to COBOL(Common Business-Oriented Language). Hopper's influence advanced acceptance of COBOL in the military and business. These standardized, user- friendly innovations promoted wider, transformative adoption of computerization in modern life.
Initial review of proposal -- Jason.k.hui (talk) 13:58, 16 August 2020 (UTC)
Participated in a phone call with the proposer back in March 2020. The following is a follow-on email sent on 3/17/2020:
Kate - Good to speak with you earlier. See http://ieeemilestones.ethw.org/Helpful_Hints_on_Citations,_Plaque_Locations for helpful hints on putting together a milestone plaque citation. You can take a look at my proposal at http://ieeemilestones.ethw.org/index.php/Milestone-Proposal:Interactive_Video_Games. Please revise your citation based on what we discussed. Also, send copies of the supporting materials to the History Center.
Responded to an email from the proposer on 8/16/2020:
Kate - I revisited your proposal, and the citation is still not compliant to the milestone guidelines that we had discussed in our call back in March as well as in my follow-up email on 3/17. The maximum number of words in a citation for the plaque is 70; you're currently at 105 words, which is well over the limit. Also, the citation should describe the technical achievement, not the person. Please go back to my March email and also look at citations from completed milestones in ETHW for guidance. I also need electronic copies of the supporting reference materials that you sent over to the History Center. These actions need to be completed within the next month or so as the History Committee will be having a series of virtual meetings to approve milestones. The aim is to have all History Committee-approved milestones to the IEEE Board of Directors ahead of their November WebEx meeting.
General Comments to the proposal -- E.tejera (talk) 04:37, 24 May 2021 (UTC)
The way the proposal is presented it oriented for the recognition of a specific person, Grace Hopper and not the achievement. In order for this proposal to move forward it is recommended that significant changes be made to adjust to present guidelines to submit proposals, and specially the Milestone Citation.
Comments Submitted by the proposer, Kathleen M. McDevitt
Much time was spent on The Grace M. Hopper Milestone docket #2020-03. It was first submitted with the inventor, Grace Hopper in the document. However, in 2013, a formal History Committee implemented a new rule stating no inventor should be in the wording of the citation. It has been resubmitted with many changes and Grace M. Hopper’s name was removed from the citation, however, the docket title was never changed to the Compiler Milestone 2020-03. I cannot edit the docket name. If they need to change it, please do so. Information Highway was first publicly stated by President Ronald Reagan in 1985, however, it was in use prior to that. Unisys and many other computer companies are located where he visited in Malvern, Pennsylvania area and labeled the Information Highway as the 202 corridors. Th citation is in reference to starting industries such as Information Technology, and word processing as just a few example. The word Compiler is used when speaking about Grace M. Hopper’s invention. Otherwise, it is not used in modern computer languages. It is more likely that you will hear programming, word processing, or other terminology.
I agree with the citation as written and reflected in the Docket 2020-3. No further changes are needed.
The compiler translated human-readable English keywords or commands into machine-readable instructions or code, thus creating well-defined communication between human programmers and computers. It made it possible for programs written for different computers rather than a single machine. Based on the compiler, the Flow-Matic was first used in the UNIVAC. This shaped the creation of COBOL, a programming language that facilitated the information highway and the beginning of the IT industry.
nomination -- JaninA (talk) 05:38, 21 October 2021 (UTC)
This is a new version of the nomination, with a new Milestone title but with the same number, submitted on 12 October 2021.
Re: nomination -- Jason.k.hui (talk) 15:24, 12 November 2021 (UTC)
Advocate responded to Milestone proposer via email on 11/7/2021. The following is the message:
In terms of the proposal, it's much improved, but there are still things to resolve. The citation cites "The first Compiler was invented..." I think we need to be careful about citing firsts. Browsing the Internet, the first practical compiler was written by Corrado Bohm in 1951. The first implemented compiler was written by Grace Hopper. I don't think you need to cite Philadelphia, Pennsylvania, USA in the citation as the plaque will be mounted at the University of Pennsylvania. I believe the third sentence goes into work done by Grace Hopper, but at a later date (https://en.wikipedia.org/wiki/FLOW-MATIC). FLOW-MATIC was an early programming language, but the citation notes it as a compiler. How is the compiler tied to FLOW-MATIC? Note that FLOW-MATIC was developed from 1955 to 1959, but the range of years is cited as 1946 through 1957.
Hi Jason, Please review this Milestone as soon as possible. I made corrections and updated it. Next week on Tuesday, November 23, is the deadline to get this on the IEEE History Committee agenda for November. If you have any suggestions please let me know. Your feedback is most welcome and important. Thank you for your attention to this matter.
Robert, Can we change the name from Grace Hopper Milestone to The Compiler Milestone? How can we combine the two?
Re: Re: nomination -- Jason.k.hui (talk) 01:16, 21 November 2021 (UTC)
The following correspondence was sent via email and is noted here for reference:
Hi Kate and Jason,
Since I'm included in this conversation, please allow me to suggest some streamlining for the 72-word (in Word) citation. With a 70-word limit, an appreciation for the general audience, and a respect for brevity inspired by Japanese Milestones and Strunk and White, consider the following "less is more" alternative, particularly given that many of the words have numerous characters:
The computer language compiler translated human-readable English keywords or commands into machine-readable instructions or code, thus creating well-defined communication between human programmers and computers. It also made possible programs written for different computers rather than a single machine. Between 1955-1959, UNIVAC’s Flow-Matic Compiler shaped the creation of COBOL, a programming language that formed the basis for the world’s information technology industries. (61 words)
Among other edits, I've 1. Deleted the first year since the title states the timespan. The three words could be restored, making it 64 in all. 2. Matched "human-readable" and "machine-readable"--people with no connection to computing will appreciate the relationship between the two more than the use of "machine-ready". 3. Eliminated the second "thus" and added "also" since flexibility across computers or platforms is not obvious from the consequence in the previous sentence. 4. Spelled out "IT" and replaced the cash value with the lasting fact of global impact.
With best wishes for a Milestone for the ages, Alex
Alexander B. Magoun, Ph.D., Outreach Historian
On Tue, Nov 16, 2021 at 1:08 PM Kate McDevitt <kmtr1011@gmail.com> wrote:
Hi Jason,
Please review before I add it to the milestone if that is ok with you?
The computer language compiler, invented in 1952, translated human-readable English keywords or commands into machine-ready instructions or code thus creating well-defined communication between human programmers and computers. Thus, making it possible in time to write programs for multiple computers rather than a single machine. Between 1955-1959, the Flow-Matic Compiler for UNIVAC shaped the creation of COBOL, a major programming language, which formed the basis for the commercial multi-billion-dollar IT infrastructure and industry.
The compiler was named A-0 then it was B-0 and then Flow Matic. I will correct the range of dates to 1952 to 1959.
Review of milestone citation 11/20/2021 -- Jason.k.hui (talk) 01:28, 21 November 2021 (UTC)
The proposer has modified the citation to read:
The Compiler translated human-readable English keywords or commands into machine-readable instructions or code, thus creating well-defined communication between human programmers and computers. It also made possible programs written for different computers rather than a single machine. Between 1955-1959, UNIVAC’s Flow-Matic Compiler shaped the creation of COBOL, a programming language that formed the basis for the world’s multi-million-dollar information technology industries.
The following are a couple of suggested changes:
1) In the first sentence, update "Compiler" to "compiler"
2) In the third sentence, update "UNIVAC's Flow-Matic" to "UNIVAC I's FLOW-MATIC" and delete "multi-million-dollar"
In addition, update the title of the milestone from "The Compiler 1952" to "The Compiler, 1952"
Re: Review of milestone citation 11/20/2021 -- E.tejera (talk) 02:18, 21 November 2021 (UTC)
I have another minor suggestion for change:
Change "Between 1955-1959," with "Between 1955 to 1959," or "Between 1955 and 1959,"
Whichever suits better.
Please change the title of this 2020-3 Milestone title from Grace Hopper Milestone to The Compiler Milestone. I am unable to make the change. Thank you, Kate McDevitt, the Proposer
Re: Review of milestone citation 11/20/2021 -- Jason.k.hui (talk) 15:39, 21 November 2021 (UTC)
The proposer has made the modifications to the citation and title as suggested. As advocate, I approve this proposal moving forward for the IEEE History Committee's consideration.
approval -- JaninA (talk) 03:41, 2 December 2021 (UTC)
Expert's opinions are not included yet as alerted by email. My comment added now for transparency.
Re: approval -- Jason.k.hui (talk) 02:30, 7 December 2021 (UTC)
Note that Janina had comments and questions that were emailed to the proposer. These should be resolved prior to the experts conducting their reviews. As such, my approval as advocate is on hold.
Correspondence between Janina and Kate 21Nov-2Dec 2021 -- JaninA (talk) 09:48, 7 December 2021 (UTC)
Bold textFrom Janina Mazierska Thursday, 2 December 2021 at 14:01:26 Australian Eastern Standard Time
Hi Kate, many thanks for your email. I like changes and edits you made so far, especially the quote from Grace Hopper on computers not doing programming , and removing the repetitions. What I have atempted to do in No. 4 was to give you one of possible ideas how to expand the nomination (“There is too litle information in the nomination on the programmers, including Grace Hopper”).
The IEEE Milestone 2020-03 Compiler nominaUon is by far much shorter than anything I have seen in my Ume when serving on the IEEE History Committee. Hence it would be desirable to give more of relevant informaUon. One can also expand nominaUon also by giving more informaUon on how things were done before, what is the principle of a compiler, where was it used first and later. And what is a compiler’s role nowadays.
I am attaching one of the recently approved nominaUon for your perusal. While you do not need to go as far as nominators of the Atlas Computer, extra few hours would be beneficial as the quality of IEEE Milestone nominaUons needs to be on par with papers published in IEEE Journals and TransacUons. At the moment the nomination is rather like an extended abstract and not a short paper, in my view.
I hope it is of help, and I am looking forward to a next version suitable for experts. Kind regards Janina
From: Kate McDeviJ <kmtr1011@gmail.com> Date: Thursday, 2 December 2021 at 09:40 To: Janina Mazierska <janina.mazierska@gmail.com> Subject: Re: IEEE Milestone 2020-03 Compiler
Hi Janina, I updated the suggestion you made on the Milestone document. However, reviewing the email, I did not address #4. I am confused by it. Could you me what it is in reference to? Thanks again for all your help on this. Thanks and have a great day, Kate McDeviJ IEEE Philadelphia Membership Chair IEEE WIE Central Area Task Leader Kmtr1011@gmail.com
On Sun, Nov 21, 2021 at 3:22 PM Janina Mazierska <janina.mazierska@gmail.com> wrote:
Dear Kate and Jason, I would like to make a couple of comments, one for Jason (No.1) and the rest for Kate.
1. I do not see any expert reviews on the ETHW nor any info Who were the experts. Please place the expert reviews there.
2. The explanation on the locaUon of the plaque (see below) is too long, confusing and containing the same sentences as in SupporHng Texts ... below it on the date when the Penn was created and admission of women. I suggest to rewrite it as a direct explanaUon, starUng with locaUon to be at the the University of Pensylvania’ Moore Engineering School, from which a core group of programmers were hired from by Eckert-Mauchly Computer CorporaUon (EMCC) And then about Grace Hopper and to explain briefly the company and its history. There is a lot of good informaUon about Penn there, but it is not relevant to this parUcular QuesUon and needs to go somewhere else.
3. The sentence in the Significance, namely “The invenUon of the compiler led to the InformaUon Age and the beginning of the IT industry” is beter in my view than the sentence in the Citation.
4. There is too little informaUon in the nominaUon on the programmers, including Grace Hopper. Would you please expand. Kind regards Janina
“Describe briefly the intended site(s) of the milestone plaque(s). The intended site(s) must have a direct connecHon with the achievement (e.g. where developed, invented, tested, demonstrated, installed, or operated, etc.). A museum where a device or example of the technology is displayed, or the university where the inventor studied, are not, in themselves, sufficient connecHon for a milestone plaque. Please give the address(es) of the plaque site(s) (GPS coordinates if you have them). Also please give the details of the mounHng, i.e. on the outside of the building, in the ground floor entrance hall, on a plinth on the grounds, etc. If visitors to the plaque site will need to go through security, or make an appointment, please give the contact informaHon visitors will need. 1740 is the founding date of the University of Pennsylvania where the compiler Milestone will be placed. Repeated sentence. When the compiler was being invented, the University’s Moore Engineering School admitted women into all engineering programs in 1954.[1] repeated sentence The Electronic Numerical Integrator and Computer (ENIAC) was the first Computer invented at Penn. No relaUon to the quesUon Eckert-Mauchly Computer CorporaUon (EMCC) was formed at Broad and Spring Garden Streets We have no idea where these streets are. A core group of programmers were hired from the Moore School including Grace Hopper.[2] The location was within two miles of Penn, where the compiler was invented in 1952. Was the compiler invented at Pen or EMCC? Remington Rand bought the company and EMCC became a subsidiary of Remington Rand at the same locaUon. It later moved to 3747 Ridge Avenue in Philadelphia. The compiler was used in UNIVAC (Universal AutomaUc Computer) which started the informaUon age in 1957. No relation to the question Grace Hopper lectured at Penn for twelve years about the invenUon of the compiler and its importance. Remington Rand became Sperry Rand and today is Unisys. Pennsylvania History Marker for the ENIAC is located on the street outside the building. no relation to the question “
Expert review1 -- Celia (talk) 17:42, 29 September 2022 (UTC)
Media:Expert review1_Compiler proposal.pdf
Expert Review 2 -- Celia (talk) 22:47, 30 November 2022 (UTC)
Media: Expert review 2_Compiler proposal.pdf
Celia Shahnaz Advocate Approval -- Celia (talk) 22:30, 25 January 2023 (UTC)
Media:Celia_shahnaz_advocate_approval_.pdf
confusion - Grace Hopper? -- Amy Bix (talk) 18:15, 2 February 2023 (UTC)
Okay, I"m now confused - as per the title of this page "The Grace M. Hopper Milestone," I thought the point of this milestone was to highlight Grace Hopper's work here (which would need official review regarding inclusion of a name on a plaque). I thought the idea was to highlight Hopper's work on the compiler as recognition of women's history in computer engineering and to raise public awareness of this, and with sponsorship from the IEEE Women in Engineering Committee.
But the current citation doesn't seem to mention Hopper at all - and so anyone who doesn't already know her role here will be left in the dark. I think it would be relatively easy to re-word this to bring in Hopper, if desired. Should we think about re-wording?
Overall Comments re: Proposal and Citation -- Bberg (talk) 16:17, 5 February 2023 (UTC)
I was first asked to look at this proposal well over a year ago, and again more recently. I made some concrete suggestions at those times, but I don't see any real impact of those comments in the current proposal.
I concur with Amy's comment just above about Grace Hopper. As her name is foundational to this proposal, it should indeed be included in the citation, and a rich Justification section for this should be included immediately following the citation as required by the History Committee rules.
The three key sections of any proposal besides the citation relate to historical significance, obstacles, and features. However, these sections are very terse, and they must be embellished to best explain why COBOL is an important aspect of computer history, and so to document the citation.
The title of just "The Compiler" includes no mention of the language recognized by the compiler. The language for the compiler is more important to honor than the compiler itself. As such, the langauge should be in the title, along with possibly the compiler, and possibly Grace Hopper's name.
I note numerous issues with the citation:
- The citation is written in past tense, as if compilers are irrelevant today. Of course the wording must be correctly readable years into the future, so the first few words could be reworded something like "A compiler is able to ..." (although, as noted above, the compiler should not be the central aspect of this Milestone)
- The acronym COBOL is not explained as standing for "common business-oriented language" and these words lend much to the understanding of why COBOL was created. The fact that COBOL is very English-like should likely be noted as well.
- As noted above regarding the title, the citation should honor the programming language. The compiler's role should be noted, but it does not rise to the level of being the central thing to honor - and the programming language is what the user always sees.
- No reference to other languages or other compilers is included, so it is written as if only one compiler ever existed, and that somehow this one language and its one compiler "facilitated the information highway and the beginning of the IT industry" which of course is false.
- The term "information highway" is very much from around the 1990s, so its inclusion is inappropriate for the timeframe of this Milestone.
- Neither of the two names Flow-Matic or UNIVAC are explained, and most readers would have no idea what these are and why they are somehow important. FLOW-MATIC (uppercase should be used) actually preceded and led to COBOL, and UNIVAC was the computer platform on which both FLOW-MATIC and COBOL were developed. Thus, this important aspect of history is not addressed in any manner.
- There are formal Hiatory Committee rules for how dates are to be used (or are potentially not needed) in a citation. This proposal includes both "1952" (in the title field) and "1952-59" (in the "Year or range of years" field), but no dates are included in the citation itself. If it is obvious how dates apply to a citation, explicit inclusion of dates is not necessary. However, dates are important here, for example, to correctly put FLOW-MATIC and COBOL into the timeframe of what is discussed in the citation.
I apologize if the above comes across as overly critical. However, I hope that this Milestone can come together and give proper recognition to some very important aspects of history. Thank you for your consideration.
Re: Overall Comments re: Proposal and Citation -- Dmichelson (talk) 16:12, 9 February 2023 (UTC)
- I agree with Brian and Amy.
The proposers have not followed the style established for milestone proposals. The second expert reviewer has done a much better job at capturing the answers to the milestone proposal questions than the proposers did.
We are not well served by setting a precedent for abbreviated and needlessly politicized proposals. I would like to see this sent back for a significant revision before it is considered by the History Committee.
In future, I would like to have the Milestones Subcommittee vet the advocate's approval in order to avoid this type of situation going forward.
I'm also concerned that I see no evidence of historical scholarship. Why didn't the proposers dig deeper and reveal the roles of other key people like Betty Holberton and Jean Jennings Bartik?
Re: Overall Comments re: Proposal and Citation -- Dmichelson (talk) 17:00, 9 February 2023 (UTC)
- Replace this text with your reply
Overall Comment -- Jbart64 (talk) 17:13, 8 February 2023 (UTC)
I see several problems after following a long winding evolution of this milestone.
First, Milestones are achievement based, and not person based. Much as I would like to recognize Grace Hopper, her name is not a term of art used in the title of something, e.g. Maxwell's Equations, Moore's Law, etc. We need to find another way. Perhaps a Special Citation plaque allows more flexibility, but again those are focused on achievements, places, organizations, and things, not people. Nevertheless, I think there is room here for discussion. If we recognize Grace Hopper as a person in a milestone plaque, there are hundreds if not thousands of other people who could be recognized for their many contributions to a wide range of electrical and electronics achievements. Specifically recognizing a person is a Pandora's Box for the milestone program.
Second, if we are recognizing the concept of compilers, we need to stick to that and make it clear for a general reader. If we recognize the achievement, then Brian Berg and several others have raised valid issues, edits, and suggestions that have not been resolved yet. Even if we recognize compilers, we could certainly help organize a seminar, conference, or symposium to accompany the compiler plaque's installation; and, the event could be named after and celebrate Grace Hopper's legacy. Alternatively, a separate historical sign explaining Grace's life and legacy could be placed next to the compiler milestone plaque. We need to explore other options to celebrate Grace within the structure, context, and limitations of the milestone program.
Editing plaque text cannot really get focused or progress further until the basic question about what is being celebrated is first decided. Dave Bart
Re: Overall Comment -- Amy Bix (talk) 22:11, 8 February 2023 (UTC)
Except that as I understand it, we have already gone beyond simply allowing those names that have become terms of art ("Maxwell's equations"), and our current rules say that names "will be considered" for cases where there is "detailed, clearly stated, and incontrovertible evidence... that one or more persons were central to the achievement and deserve to be singled out beyond others." At this point, we have many names in milestones, not all at the "Maxwell's equations" level.... That ship has sailed.
I believe that a case could be made that Hopper was "central to the achievement" of work on compilers and other key developments (or at least that the proposers deserve the chance to make that argument, if they wish.) I believe it would be possible to write a citation that both puts the compiler itself at center stage, while also specifically noting Hopper's influential role here. If the proposers do not want to make a proposal for a plaque with Hopper's name, then that is their choice - I was just surprised, given that this seems to be where this started.
I believe there are also larger issues here - namely, the issue that (as I understand it), IEEE wants to be and to be seen as a supporter of women in engineering - and history needs to be a key part of that story; it is both embarrassing and incomplete otherwise. Considering that to date, IEEE has issued zero milestones that explicitly recognize a woman's role in creating new technologies (or close to zero - can't swear I haven't overlooked any examples), I think that it is reasonable and about time to explore possibilities for Grace Hopper.
suggestions for a smoother citation -- Amy Bix (talk) 02:55, 28 March 2023 (UTC)
I am glad to see Grace Hopper back in this citation. I think it is heading in the right direction, but the current wording reads in a rather choppy fashion. As other commenters have noted, it is also unclear how Flow=Matic is supposed to fit in here, and the UNIVAC reference will be unclear to some in the general public. I would recommend work on rewriting, maybe something such as:
Compilers were invented in the early 1950s to translate mathematical programming into machine-readable code. A pioneer in compiler development, programmer Grace Hopper led teams that created FLOW-MATIC, a computer language using English words. Hopper's influence advanced acceptance of COBOL ("Common Business-Oriented Language") in military and business settings. These standardized, user-friendly innovations promoted wider, transformative adoption of computerization in modern life.
Final approval from advocate Celia Shahnaz -- Celia (talk) 23:04, 29 June 2023 (UTC)
Media:Celia_shahnaz_advocate_final_approval.pdf
Final Approval from Advocate Celia Shahnaz -- Celia (talk) 22:48, 3 July 2023 (UTC)
Media:Advocate_Celia_final approval_Grace Hopper.pdf
Recommendations on the proposal by Ievgen Pichkalov by 11 July 2023
First of all, the Milestone Subcommittee recommended that the name of Grace Hopper can be used in the citation. At the same time, the proposal itself requires serious revision.
1 - First of all, the proposal itself is non very informative. Providing a short text and a weblink to wikipedia is not the best style. The application itself must be a complete document. References confirm the text presented by the author, and do not replace it.
2 - Item "What features set this work apart from similar achievements?" presented in a very small text manner and without a sufficient and complete analysis of similar achievements. This should be fixed.
3 - In my opinion, the focus and the title of the application are not good. There are several reasons to think so:
- a - Start point is a wiki web link: https://en.wikipedia.org/wiki/A-0_System It shows us that "The A-0 functioned more as a loader or linker than the modern notion of a compiler". Moreover, this phrase appears there for decades. I tried to understand why.
- b - Weblink: https://english.stackexchange.com/questions/212566/etymology-of-compiler-computer-term There is an interesting discussion here about what was then called a compiler. Including why it is now called a linker. This link also provides Hopper's quote from a 1978 keynote speech. In principle, she directly explains that even then her "compiler" was not a compiler already in terms of the 70s and explains what it essentially was.
- c - Weblink to Donald E. Knuth, Luis Trabb Pardo about THE EARLY DEVELOPMENT OF PROGRAMMING LANGUAGES: https://ia801301.us.archive.org/14/items/DTIC_ADA032123/DTIC_ADA032123.pdf It certainly is a very wonderful and full report. As I understand, Donald E. Knuth is a very respected scientist in his field. page 51: Hopper's compiler has been quoted as not really a full compiler. The authors pointed out that A-0 was quite primitive. And for this reason, they prefer to give priority to the creation of a real compiler to Alick Glennie. It was in England, in the same 1952, but later. page 42: More details are described here about Alick E. Glennie Autocode compiler.
- d - Web link: https://en.wikipedia.org/wiki/Autocode Although Alick Glenni 's compiler is listed here, the negligible impact of this invention is also indicated.
- e - Web link: https://www.computer.org/volunteering/awards/pioneer Hopper received a pioneer award from the Computer Society. However, the Computer Society does not mention the Compiler. Instead it chose the name "Automatic Programming".
I believe the compiler in this case will not be a historically accurate name. That's exactly why I believe it would be worth getting away from the title "Compiler" and its mention in the citation. Otherwise, we will have to allocate space in the citation for an explanation of what the Hopper's compiler really was. And most importantly, if Alick E. Glennie Autocode compiler is also submitted to Milestone, it will not be clear how to call it (The Real Compiler, 1952 ?).
I have two other options as suggestions.
We could recommend to call that Milestone as "Development of Automatic Programming, 1951 - 1959" or "Arithmetic and Business Programming Languages, 1951 - 1959".
In both cases, Hopper's name may still be in the citation. The development of automatic programming was extremely important at that time, and Hopper played a leading role in this. Also the impact was huge. At the same time, a series of arithmetic (A-0, A-1,A-2, A-3) and business (B-0) programming languages played a large and varied role and eventually significantly influenced the creation of the COBOL language.
Expert reviewer's comments uploaded on behalf of the proposer by -- Administrator4 (talk) 14:22, 22 August 2023 (UTC)
Review: The Compiler, 1952
1) Is the suggested wording of the Plaque Citation accurate?
Ans:
Yes, the wording of the Plaque Citation is accurate. The associated historical facts have been checked
against reliable documents (Wikipedia, peer-reviewed journals, and similar sources) and are found
correct. The wording also highlights the fitting achievement within the historical epoch it mentioned. The
subsequent justifications for the plaque also underpin the wording proposed here. Considering these all, I
endorse the proposed wording of the Plaque Citation.
2) Is the evidence presented in the proposal of sufficient substance and accuracy to support the Citation?
Ans:
Yes, I have read the proposal carefully, and it has detailed all the important information that is needed to
evaluate the proposal. I have also checked the evidence mentioned in the proposal for its historical
accuracy and balanced representation. I checked the quality of the proposal against previous milestones
as documented in the IEEE Milestones website (https://ethw.org/Milestones:List_of_IEEE_Milestones),
and I found this proposal to be of comparable merit.
3) Does the proposed milestone represent a significant technical achievement?
Ans:
Yes, The contribution of the proposed achievement toward developing modern compilers, as presented in
the proposal, is enormous. Translating human-like words toward machine code was a huge leap toward
conversing with a machine. While the early development of computing relied on the mathematical abilities
of computers, it was largely unaddressed how the interface between a machine and human programmers
could be improved. As a result, human interactions with computers were extremely limited to a few
scientists, who would spend months to years developing a code that a machine could read. Even worse,
any mistake in such a code would mean another delay in the whole process. The invention of the
compiler was hence a great breakthrough that brought humans and computers closer and allowed
programmers to talk to their machines. The compiler worked as an intelligent interpreter that would
translate the human language to a machine code. Hence, humans no longer needed to develop machine
codes by themselves; thus, they started saving time and energy at a massive level. This was a huge
advancement in the development of modern computers that we use today.
The proposal correctly captures this very important historical moment, and I believe highlighting this
contribution is of immense importance to acknowledge the merit of associated scientists in driving
contemporary technologies toward their advanced versions. Modern computer science is undoubtedly
indebted to them.
Syed Ishtiaque Ahmed, Ph.D Assistant Professor Department of Computer Science Faculty Fellow, Schwartz Reisman Institute The University of Toronto Program Committee Chair, ICTD 2022
Expert reviewer's comments uploaded on behalf of the proposer by -- Administrator4 (talk) 14:24, 22 August 2023 (UTC)
Review of Milestone-Proposal: The Compiler Milestone
Ragib Hasan, Ph.D., IEEE Member
Associate Professor, Department of Computer Science
The University of Alabama at Birmingham
Email: ragib@uab.edu
Abstract: The Compiler is one of the fundamental technologies in the history of computing. The
invention of the compiler made it possible to write high level computer programs, which in turn
led to increased programmer productivity and reduced rates of error. This review examines the
Milestone-Proposal for recognizing the invention of the compiler.
1. Introduction
The “Milestone-Proposal: The Compiler, 1952” [5] is to recognize the invention of the Compiler
in 1952. The plaque citation states the following:
“The compiler translated human-readable English keywords or commands into
machine-readable instructions or code, thus creating well-defined communication
between human programmers and computers. It made possible programs written for
different computers rather than a single machine. Based on the compiler, the Flow-Matic
was first used in the UNIVAC. This shaped the creation of COBOL, a programming
language that facilitated the information highway and the beginning of the IT industry.”
In this review report, we examine the citation and supporting information as presented in the
Milestone-Proposal, and evaluate this in terms of the following three criteria:
1. Is the suggested wording of the Plaque Citation accurate?
2. Is the evidence presented in the proposal of sufficient substance and accuracy to
support the Citation?
3. Does the proposed milestone represent a significant technical achievement?
The rest of this review is organized as follows: in Section 2, we provide the historical background
of the invention of the Compiler technology. In Section 3, we evaluate the milestone proposal
based on IEEE’s three milestone evaluation criteria. And finally, we conclude in Section 4 and
provide our final evaluation of the milestone proposal.
2. Background
Early computers were essentially high-performance calculating devices, which allowed
high-speed calculation based on a predefined sequence of operations [6]. However,
programming such computers was a difficult task, requiring mastery and knowledge of the
hardware operations [6,7]. The “programming” was performed directly in machine-readable
binary or octal code which would be manually loaded into the computer. There were multiple
limitations of this approach: writing binary or octal machine code sequence was a very complex
and difficult task which was prone to errors. Only a few programmers were capable of
programming in binary or octal code. Also, the dependence on machine language to write
programs limited the use of the program to only that specific computer [6].
Subsequent development of assembly language concept improved the situation slightly,
allowing programmers to first write computer operations in terms of hardware commands (e.g.,
ADD or LOAD), which will then be translated into machine language. This made the programs
slightly better to understand. However, the assembly language instructions were still essentially
machine instructions written using specific keywords. Converting the higher-level application to
assembly language would still appear to be an art, requiring specialized skills about the
particular computer hardware where the program will be run. Also, assembly language
programs were specific to a given computer and could not be ported to other computers
without starting over [6].
Real life applications required a way to easily translate a real-life problem, described in human
language (e.g., English) to the mathematical logic and then assembly language code sequences.
In the early part of the 1950s, this essential technology was missing, and early computers were
all programmed with machine language or assembly language [6,7].
In this backdrop, researchers explored the creation of tools that would take a higher-level
specification written in English or other easily human-understandable language and translate it
into the corresponding assembly language and machine language instruction sequence. The
advantage of this approach is that it made programs easier to write by a wide variety of
programmers and did not require a detailed knowledge of the underlying hardware. Also, it
made programs portable to many different computer architectures as the higher-level
specifications could be machine-agnostic.
One of the earliest efforts in creating these tools was Grace M. Hopper’s development of “The
Compiler”, a program that could convert higher level mathematical functions into lower-level
assembly and machine language code [2,3,4]. While Corrado Bohm in his seminal 1951 PhD
thesis [1] wrote about the concept of such a program, it was conceptualized for an abstract
machine, rather than implemented on any real computers of the time. Therefore, in 1952, there
were no implemented tools that could perform the unprecedented task of converting higher
level specifications to a machine-readable code. This is where Hopper’s invention of “The
Compiler” comes in as the ground-breaking advance in the young field of computer science [4].
Hopper developed the A-0 system for the UNIVAC I computer. Technically, the A-0 system
performed more like a linker or loader than the modern notion of compilers as used now.
However, it allowed composing multiple previously written subroutines into a complete
program which could then be automatically loaded into the computer [2]. In this sense, the
program, for which Hopper coined the term “The Compiler”, was a pioneering invention indeed
as it automated the creation of computer programs from a given specification. Something
previously only possible by manual stitching of machine or assembly language code could now
be automated. This tool and the subsequent improvements ultimately allowed the
development of the COBOL programming language, which was very close to English and was
among the first mainstream high-level programming languages in history [4]. Considering this
and the consequent revolution in programming language and software development, the
invention of “The compiler” in 1952 is indeed a milestone in the history of computing.
Next, we take a look at each of the milestone criteria and examine whether the
Milestone-proposal meets them.
3. Review of the Milestone based on the 3 Criteria
3.1 Criteria 1: Is the suggested wording of the Plaque Citation accurate?
In the plaque citation provided in the Milestone-proposal [5], “The Compiler” developed in
1952 is credited as the tool that allowed higher level constructs or program structures to be
converted into machine instructions in an automated manner. This is indeed correct. The latter
part of the citation credits “The Compiler” as the basis of the “Flow-matic” system, which was
an early English-like data processing system later developed by Hopper. In [2], Denise Gurer
credits Hopper for creating the “first compiler”. Gurer writes, “Hopper supervised the
department that developed the first compiler, A-0, and its successor, A-2. Hopper was also
responsible for developing the FLOW-MATIC programming language, the only implemented
business data processing language at the time”. This demonstrates the importance of “The
Compiler” and supports the wording of the plaque citation. The view is also shared by Jean
Sammet in [3], where she writes “Thus, in my view, without FLOW-MATIC we probably never
would have had a COBOL. The practical experience of implementing and using that type of
language was priceless.”
Therefore, I conclude that the suggested wording of the Plaque Citation is accurate.
3.2 Criteria 2: Is the evidence presented in the proposal of sufficient substance and accuracy
to support the Citation?
To support the milestone, the proposal presents several items as evidence. This includes an
article published in Yale News commemorating the life and legacy of Grace M. Hopper [8], the
IEEE Computer’s web profile of Grace M. Hopper (stating her 1970 Harry Goode Memorial
Award and 1979 W. Wallace McDowell Award) [9], the Wikipedia biography of Hopper [10], the
Encyclopedia Britannica biography of Hopper [11], and a 2015 article published in the IT
Professional magazine [4]. In my opinion, these citations strongly support “The compiler” by
Hopper in 1952 to be the first instance of a compiler program. All the cited sources support the
plaque citation statement. In particular, in the last citation [4], Strawn et al. laud Hopper’s
contribution and states that, “Hopper was perhaps the first person to believe that computers
should speak human-like languages, rather than requiring humans to speak computer
languages. This belief began to be put into action in 1952 with the creation of the A-0 compiler”.
In fact, Strawn et al. praises Hopper as the “Mother of COBOL” [4].
In review of the aforementioned evidence, I conclude that the evidence presented in the
proposal are of sufficient substance and accuracy and the evidence supports the Plaque
citation.
3.3 Criteria 3: Does the proposed milestone represent a significant technical achievement?
The proposed milestone of the invention of the Compiler in 1952 indeed represents a significant
technical achievement. As stated in Section 2, Hopper’s “Compiler” (the A-0 system) was the
first automated program synthesis tool. Previous efforts such as that by Bohm et al. were based
on abstract computers whereas Hopper’s Compiler was the first such tool that was
implemented in a real computer (the UNIVAC I).
The compiler paved the way for the creation of systems such as the Flow-matic, and
subsequently, the COBOL language in the late 1950s. All of these allowed the ultimate computer
and information revolution that has since then shaped the world for the better. K. W. Beyer in
the book “Grace Hopper and the Invention of the Information Age” [12] credits Hopper as the
pioneer whose inventions, including the “Compiler”, led to the world-changing advances that
has had a significant impact in the entire human race since then.
Therefore, I conclude that the proposed milestone indeed represents a significant technical
achievement.
4. Conclusion
In this review, we analyzed the Milestone-proposal on the invention of the Compiler in 1952. By
validating the presented evidence and cross-checking with independent references, we come to
the conclusion that the milestone proposal commemorates a significant invention which is a
true technical milestone in the history of computing. This invention serves as one of the
foundations of the computing revolution and it should be celebrated as a notable achievement
and as a milestone. Therefore, we support this proposal and look forward to the designation of
the invention of “The Compiler” as an IEEE Milestone.
References
1. Böhm, Corrado (1954). Calculatrices digitales: Du déchiffrage de formules
logicomathématiques par la machine même dans la conception du
programme (PDF) (PhD) (in French). Zurich: ETH Zurich. Retrieved 27 September 2022.
2. Gurer, Denise (1995) "Pioneering Women in Computer Science" Communications of the
ACM. 38(1), pp. 45-54.
3. Sammet, J. (1992). Farewell to Grace Hopper—end of an era!. Communications of the
ACM, 35(4), 128-131.
4. Strawn, G., & Strawn, C. (2015). Grace Hopper: Compilers and Cobol. IT
Professional, 17(1), 62-64.
5. Milestone-Proposal: The Compiler, 1952” at,
https://ieeemilestones.ethw.org/Milestone-Proposal:The_Grace_M._Hopper_Milestone
6. Wilkes, M. V. (1968). Computers then and now. Journal of the ACM (JACM), 15(1), 1-7.
7. Davis, M. (1987). Mathematical logic and the origin of modern computers. In Studies in
the History of Mathematics (pp. 137-167).
8. https://news.yale.edu/2017/02/10/grace-murray-hopper-1906-1992-legacy-innovationand-service
9. https://www.computer.org/profiles/grace-hopper
10. https://en.wikipedia.org/wiki/Grace_Hopper
11. https://www.britannica.com/biography/Grace-Hopper
12. Beyer, K. W. (2012). Grace Hopper and the invention of the information age. MIT Press.