Speedcoding: Difference between revisions

Content deleted Content added
Further reading: Change to archive.org URL as the original URL is down
m task, replaced: Journal of the ACM (JACM) → Journal of the ACM using AWB
Line 20:
}}
 
'''Speedcoding''' or '''Speedcode''' was the first [[high-level programming language]] created for an [[IBM]] computer.<ref name="ibmj"> {{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 |last=Shasha |first=Dennis |author2=Cathy Lazere |year=1998 |publisher=Springer-Verlag New York, Inc. |___location=New York |isbn=0-387-98269-8 }}</ref> Here high level means symbolic and aiming for [[natural language]] expressivity as a goal as opposed to [[machine language|machine]] or hardware instruction oriented coding.
 
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 |title= 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 |accessdate= April 23, 2011 }}</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.<Refref>Emerson W. Pugh, Lyle R. Johnson, John H. Palmer, ''IBM's 360 and early 370 systems'', MIT Press, 1991, {{ISBN|0-262-16123-0}}, p. 38</ref> The interpreter took 310 memory words, about 30% of the memory available on a 701.<ref name="ibmj"/>
 
==See also==
Line 33:
 
== Further reading ==
*[[John Backus|Backus, John]], [https://web.archive.org/web/20110813132221/http://www.softwarepreservation.org/projects/FORTRAN/paper/p4-backus.pdf "The IBM 701 Speedcoding System"], Journal of the ACM (JACM), Volume 1, Issue 1 (January 1954), pp. 4-6&nbsp;4–6,
*{{cite conference |last=Backus|first=John W.|author2=Harlan, Herrick |title=IBM 701 Speedcoding and Other Automatic-programming Systems|booktitle=Proc. Symp. on Automatic Programming for Digital Computer|___location=Washington DC, The Office of Naval Research|date=May 1954|pages=106–113}}
*{{cite book |last=Sammet|first=Jean E.|title=Programming Languages: History and Fundamentals|publisher=Prentice-Hall|date=1969}}
 
{{Soft-eng-stub}}
 
[[Category:Procedural programming languages]]
Line 43 ⟶ 41:
[[Category:IBM software]]
[[Category:Programming languages created in 1953]]
 
 
{{Soft-eng-stub}}