Speedcoding: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Alter: url. | You can use this bot yourself. Report bugs here. | Suggested by AManWithNoPlan | All pages linked from cached copy of User:AManWithNoPlan/sandbox2 | via #UCB_webform_linked
Monkbot (talk | contribs)
m Task 18 (cosmetic): eval 5 templates: hyphenate params (2×);
Line 22:
'''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 |accessdateaccess-date= 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.<ref>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"/>
 
Line 34:
== Further reading ==
*[[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 conference |last=Backus|first=John W.|author2=Harlan, Herrick |title=IBM 701 Speedcoding and Other Automatic-programming Systems|booktitlebook-title= Proc. Symp. on Automatic Programming for Digital Computer|___location=Washington DC, The Office of Naval Research|date=May 1954|url=https://books.google.com/books?id=6AkgAAAAIAAJ&pg=PA106|pages=106–113}}
*{{cite book |last=Sammet|first=Jean E.|title=Programming Languages: History and Fundamentals|publisher=Prentice-Hall|date=1969}}