Speedcoding: Difference between revisions

Content deleted Content added
m Added a short description
Tags: Visual edit Mobile edit Mobile web edit
m CE, added and improved refs
Line 1:
{{Short description|High-level programming language}}
{{Use dmy dates|date=July 2022|cs1-dates=y}}
{{Use list-defined references|date=July 2022}}
{{Infobox programming language
| name = Speedcoding
Line 5 ⟶ 7:
| caption =
| paradigm = [[structured programming|structured]], [[Generic programming|generic]]
| year = {{Start date and age|1953|df=yes}}
| designer = [[John Backus]]
| developer = [[John Backus]] and [[IBM]]
Line 21 ⟶ 23:
}}
{{notelist}}
'''Speedcoding''' or '''Speedcode''' was the first [[high-level programming language]]{{efn|Meaning symbolic and aimed at [[natural language]] expressiveness as opposed to [[machine language|machine]] or hardware instruction oriented coding.}} created for an [[IBM]] computer.<ref name="ibmjAllen_1981">{{cite journal |author= F. E. Allen |title=The History of Language Processor Technology in IBM |journal=IBM Journal of Research and Development |volume=25 |issue=5 |date= September 1981 |pages= 535–548 |doi= 10.1147/rd.255.0535 }}</ref> The language was developed by [[John Backus]] in 1953 for the [[IBM 701]] to support computation with [[floating point| floating point numbers]].<ref>{{cite book |title=Out of their Minds: The Lives and Discoveries of 15 Great Computer Scientists |lastname="Shasha |first=Dennis |author2=Cathy Lazere |year=1998 |publisher=Springer-Verlag New York, Inc. |___location=New York |isbn=0-387-98269-8 }}<Lazere_1998"/ref>
 
The idea arose from the difficulty of programming the [[IBM SSEC]] machine when Backus was hired to calculate astronomical positions in early 1950.<ref>{{cite web |titlename= Oral History of John Backus |author= Interviewed by Grady "Booch |date= September 5, 2006 |work= Reference number: X3715.2007 |publisher= [[Computer History Museum]] |url= http://archive.computerhistory.org/resources/text/Oral_History/Backus_John/Backus_John_1.oral_history.2006.102657970.pdf |access-date= April 23, 2011 }}<Backus_2006"/ref>
The speedcoding system was an interpreter and focused on ease of use at the expense of system resources. It provided pseudo-instructions for common mathematical functions: logarithms, exponentiation, and trigonometric operations. The resident software analyzed pseudo-instructions one by one and called the appropriate subroutine. Speedcoding was also the first implementation of decimal input/output operations. Although it substantially reduced the effort of writing many jobs, the running time of a program that was written with the help of Speedcoding was usually ten to twenty times that of machine code.<ref>Emerson W. name="Pugh, Lyle R. -Johnson, John H. Palmer, ''IBM's 360 and early 370 systems'', MIT Press, 1991, {{ISBN|0-262-16123-0}}, p. 38<Palmer_1991"/ref> The interpreter took 310 memory words, about 30% of the memory available on a 701.<ref name="ibmjAllen_1981"/>
 
==See also==
* [[PACT (compiler)]]
* [[Short Code (computer language)]]
 
==Notes==
Line 34 ⟶ 36:
 
== References ==
{{reflist}}|refs=
<ref name="Allen_1981">{{cite journal |title=The History of Language Processor Technology in IBM |author-first=Frances "Fran" Elizabeth |author-last=Allen |author-link=Frances Elizabeth Allen |journal=[[IBM Journal of Research and Development]] |volume=25 |issue=5 |date=September 1981 |doi=10.1147/rd.255.0535 |pages=535–548}}</ref>
<ref name="Shasha-Lazere_1998">{{cite book |title=Out of their Minds: The Lives and Discoveries of 15 Great Computer Scientists |author-last1=Shasha |author-first1=Dennis Elliot |author-link1=Dennis Elliot Shasha |author-first2=Cathy |author-last2=Lazere |date=1998 |publisher=[[Copernicus (imprint)|Copernicus]], [[Springer-Verlag New York, Inc.]] |___location=New York, USA |lccn=98-16911 |isbn=0-387-98269-8 |id=SPIN 10693423}}</ref>
<ref name="Booch-Backus_2006">{{cite web |title=Oral History of John Backus |author-first=John W. |author-last=Backus |author-link=John W. Backus |editor-first=Grady |editor-last=Booch |editor-link=Grady Booch |type=Interview |date=2006-09-05 |work=Reference number: X3715.2007 |publisher=[[Computer History Museum]] |___location=Ashland, Oregon, USA |url=http://archive.computerhistory.org/resources/text/Oral_History/Backus_John/Backus_John_1.oral_history.2006.102657970.pdf |access-date=2011-04-23 |url-status=live |archive-url=https://web.archive.org/web/20220408163653/http://archive.computerhistory.org/resources/text/Oral_History/Backus_John/Backus_John_1.oral_history.2006.102657970.pdf |archive-date=2022-04-08}} (42 pages)</ref>
<ref name="Pugh-Johnson-Palmer_1991">{{cite book |title=IBM's 360 and early 370 systems |author-first1=Emerson W. |author-last1=Pugh |author-first2=Lyle R. |author-last2=Johnson |author-first3=John H. |author-last3=Palmer |publisher=[[MIT Press]] |date=1991 |isbn=0-262-16123-0 |page=38}}</ref>
}}
 
== Further reading ==
* {{cite book |title=IBM speedcoding system for the type 701 electronic data processing machines |date=1954 |orig-date=1953-09-10 |publisher=[[International Business Machines Corporation]] |___location=New York, USA |id=Form 24-6059-0 (5-54:2M-W) |url=https://archive.computerhistory.org/resources/access/text/2018/02/102678975-05-01-acc.pdf |access-date=2022-07-04 |url-status=live |archive-url=https://web.archive.org/web/20220704164350/https://archive.computerhistory.org/resources/access/text/2018/02/102678975-05-01-acc.pdf |archive-date=2022-07-04}} (48 pages)
*[[John Backus|Backus, John]], [http://www.softwarepreservation.org/projects/FORTRAN/paper/p4-backus.pdf "The IBM 701 Speedcoding System"], Journal of the ACM, Volume 1, Issue 1 (January 1954), pp.&nbsp;4–6,
* {{cite journal |title=The IBM 701 Speedcoding System |author-first=John W. |author-last=Backus |author-link=John W. Backus |journal=[[Journal of the ACM]] |volume=1 |issue=1 |date=January 1954 |pages=4–6 |url=http://www.softwarepreservation.org/projects/FORTRAN/paper/p4-backus.pdf |access-date=2022-07-04 |url-status=live |archive-url=https://web.archive.org/web/20220516175128/http://www.softwarepreservation.org/projects/FORTRAN/paper/p4-backus.pdf |archive-date=2022-05-16}}
* {{cite conference |last=Backus|first=John W.|author2=Harlan, Herrick |title=IBM 701 Speedcoding and Other Automatic-programming Systems |book-title=Proceedings Proc.of Symp.the Symposium on Automatic Programming for Digital Computer |author-last1=Backus |author-first1=John W. |author-link1=John W. Backus |author-last2=Harlan |author-first2=Herrick |___location=Washington DC, USA |publisher=[[The Office of Naval Research]] |date=13–14 May 1954 |pages=106–113 |url=https://books.google.com/books?id=6AkgAAAAIAAJ&pg=PA106 |pagesaccess-date=106–1132022-07-04}}
*{{cite book |last=Sammet|first=Jean E.|title=Programming Languages: History and Fundamentals|publisher=Prentice-Hall|date=1969}}
* {{cite book |title=Programming Languages: History and Fundamentals |author-last=Sammet |author-first=Jean E. |author-link=Jean E. Sammet |publisher=[[Prentice-Hall]] |date=1969}}
 
[[Category:Procedural programming languages]]
Line 45 ⟶ 53:
[[Category:IBM software]]
[[Category:Programming languages created in 1953]]
 
 
{{Soft-eng-stub}}