Debugging: Difference between revisions

Content deleted Content added
Debugging is not just for software
Etymology: organize for flow; clarify moth was a joke; use italics instead of quotes for readability
Line 11:
[[File:First Computer Bug, 1945.jpg|thumb|A computer log entry from the Mark II, with a moth taped to the page]]
 
The term "''bug"'', in the sense of defect, dates back at least to 1878 when [[Thomas Edison]] wrote "little faults and difficulties" ofin mechanicalhis engineeringinventions as "Bugs".
 
A popular story from the 1940s is from [[Admiral Grace Hopper]].<ref>{{Cite web |url=https://books.google.com/books?id=JT0EAAAAMBAJ&pg=RA1-PA33 |title=InfoWorld Oct 5, 1981 |date=5 October 1981 |access-date=July 17, 2019 |archive-date=September 18, 2019 |archive-url=https://web.archive.org/web/20190918012636/https://books.google.com/books?id=JT0EAAAAMBAJ&pg=RA1-PA33&lpg=RA1-PA33&focus=viewport |url-status=live }}</ref>. While she was working on a [[Harvard Mark II|Mark II]] computer at Harvard University, her associates discovered a [[moth]] stuck in a relay that impeded operation and wrote in a log book "First actual case of a bug being found". Although probably a [[word play|joke]], conflating the two meanings of bug (biological and defect), the story indicates that the term was used in the computer field at that time.
 
Similarly, the term "''debugging"'' seems to have beenwas used as a term in aeronautics before entering the world of computers. In an interview Grace Hopper remarked that she was not coining the term.{{Citation needed|date=July 2015}} The moth fit the already existing terminology, so it was saved. A letter from [[J. Robert Oppenheimer]], (director of the [[WWII]] atomic bomb [[Manhattan Project]] at Los Alamos, New Mexico) used the term in a letter to Dr. [[Ernest Lawrence]] at UC Berkeley, dated October 27, 1944,<ref>{{Cite web |url=https://bancroft.berkeley.edu/Exhibits/physics/images/bigscience25.jpg |title=Archived copy |access-date=2019-12-17 |archive-date=2019-11-21 |archive-url=https://web.archive.org/web/20191121001830/https://bancroft.berkeley.edu/Exhibits/physics/images/bigscience25.jpg |url-status=live }}</ref> regarding the recruitment of additional technical staff.
The [[Oxford English Dictionary]] entry for "''debug"'' quotesuses the term "''debugging" used'' in reference to airplane engine testing in a 1945 article in the Journal of the Royal Aeronautical Society. An article in "Airforce" (June 1945 p.&nbsp;50) also refers to debugging, this time of aircraft cameras. Hopper's [[computer bug|bug]] was found on September 9, 1947. Computer programmers did not adopt the term until the early 1950s.
An article in "Airforce" (June 1945 p.&nbsp;50) refers to ''debugging'' aircraft cameras.
 
The seminal article by Gill<ref>S. Gill, [https://www.jstor.org/stable/98663 The Diagnosis of Mistakes in Programmes on the EDSAC] {{Webarchive|url=https://web.archive.org/web/20200306083748/https://www.jstor.org/stable/98663 |date=2020-03-06 }}, Proceedings of the Royal Society of London. Series A, Mathematical and Physical Sciences, Vol. 206, No. 1087 (May 22, 1951), pp. 538-554</ref> in 1951 is the earliest in-depth discussion of programming errors, but it does not use the term "''bug"'' or "''debugging"''.
The [[Oxford English Dictionary]] entry for "debug" quotes the term "debugging" used in reference to airplane engine testing in a 1945 article in the Journal of the Royal Aeronautical Society. An article in "Airforce" (June 1945 p.&nbsp;50) also refers to debugging, this time of aircraft cameras. Hopper's [[computer bug|bug]] was found on September 9, 1947. Computer programmers did not adopt the term until the early 1950s.
 
The seminal article by Gill<ref>S. Gill, [https://www.jstor.org/stable/98663 The Diagnosis of Mistakes in Programmes on the EDSAC] {{Webarchive|url=https://web.archive.org/web/20200306083748/https://www.jstor.org/stable/98663 |date=2020-03-06 }}, Proceedings of the Royal Society of London. Series A, Mathematical and Physical Sciences, Vol. 206, No. 1087 (May 22, 1951), pp. 538-554</ref> in 1951 is the earliest in-depth discussion of programming errors, but it does not use the term "bug" or "debugging".
In the [[Association for Computing Machinery|ACM]]'s digital library, the term "''debugging"'' is first used in three papers from 1952 ACM National Meetings.<ref>Robert V. D. Campbell, [https://dl.acm.org/citation.cfm?id=609784.609786 Evolution of automatic computation] {{Webarchive|url=https://web.archive.org/web/20190918012641/https://dl.acm.org/citation.cfm?id=609784.609786 |date=2019-09-18 }}, Proceedings of the 1952 ACM national meeting (Pittsburgh), p 29-32, 1952.</ref><ref>Alex Orden, [https://dl.acm.org/citation.cfm?id=609784.609793 Solution of systems of linear inequalities on a digital computer], Proceedings of the 1952 ACM national meeting (Pittsburgh), p. 91-95, 1952.</ref><ref>Howard B. Demuth, John B. Jackson, Edmund Klein, N. Metropolis, Walter Orvedahl, James H. Richardson, [https://dl.acm.org/citation.cfm?id=808982 MANIAC] doi=10.1145/800259.808982, Proceedings of the 1952 ACM national meeting (Toronto), p. 13-16</ref> Two of the three use the term in quotation marks.
 
By 1963 "''debugging"'' was a common-enough term to be mentioned in passing without explanation on page 1 of the [[Compatible Time-Sharing System|CTSS]] manual.<ref>[http://www.bitsavers.org/pdf/mit/ctss/CTSS_ProgrammersGuide.pdf The Compatible Time-Sharing System] {{Webarchive|url=https://web.archive.org/web/20120527174321/http://www.bitsavers.org/pdf/mit/ctss/CTSS_ProgrammersGuide.pdf |date=2012-05-27 }}, M.I.T. Press, 1963</ref>
 
==Scope==