Jump to content

Speedcoding: Difference between revisions

From Wikipedia, the free encyclopedia
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: Line 1:
{{Short description|High-level programming language}}
{{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
{{Infobox programming language
| name = Speedcoding
| name = Speedcoding
Line 5: Line 7:
| caption =
| caption =
| paradigm = [[structured programming|structured]], [[Generic programming|generic]]
| paradigm = [[structured programming|structured]], [[Generic programming|generic]]
| year = {{Start date and age|1953}}
| year = {{Start date and age|1953|df=yes}}
| designer = [[John Backus]]
| designer = [[John Backus]]
| developer = [[John Backus]] and [[IBM]]
| developer = [[John Backus]] and [[IBM]]
Line 21: Line 23:
}}
}}
{{notelist}}
{{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="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>
'''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="Allen_1981"/> The language was developed by [[John Backus]] in 1953 for the [[IBM 701]] to support computation with [[floating point| floating point numbers]].<ref name="Shasha-Lazere_1998"/>


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 |access-date= April 23, 2011 }}</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 name="Booch-Backus_2006"/>
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"/>
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 name="Pugh-Johnson-Palmer_1991"/> The interpreter took 310 memory words, about 30% of the memory available on a 701.<ref name="Allen_1981"/>


==See also==
==See also==
*[[PACT (compiler)]]
* [[PACT (compiler)]]
*[[Short Code (computer language)]]
* [[Short Code (computer language)]]


==Notes==
==Notes==
Line 34: Line 36:


== References ==
== References ==
{{reflist}}
{{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 ==
== 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= 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 conference |title=IBM 701 Speedcoding and Other Automatic-programming Systems |book-title=Proceedings of 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 |access-date=2022-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]]
[[Category:Procedural programming languages]]
Line 45: Line 53:
[[Category:IBM software]]
[[Category:IBM software]]
[[Category:Programming languages created in 1953]]
[[Category:Programming languages created in 1953]]



{{Soft-eng-stub}}
{{Soft-eng-stub}}

Revision as of 17:04, 4 July 2022

Speedcoding
Paradigmstructured, generic
Designed byJohn Backus
DeveloperJohn Backus and IBM
First appeared1953; 72 years ago (1953)
Typing disciplinestrong, static, manifest
Influenced by
Assembly language, machine code
Influenced
Fortran, ALGOL 58, BASIC, C, PL/I, PACT I, MUMPS, Ratfor

Speedcoding or Speedcode was the first high-level programming language[a] created for an IBM computer.[1] The language was developed by John Backus in 1953 for the IBM 701 to support computation with floating point numbers.[2]

The idea arose from the difficulty of programming the IBM SSEC machine when Backus was hired to calculate astronomical positions in early 1950.[3] 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.[4] The interpreter took 310 memory words, about 30% of the memory available on a 701.[1]

See also

Notes

  1. ^ Meaning symbolic and aimed at natural language expressiveness as opposed to machine or hardware instruction oriented coding.

References

  1. ^ a b Allen, Frances "Fran" Elizabeth (September 1981). "The History of Language Processor Technology in IBM". IBM Journal of Research and Development. 25 (5): 535–548. doi:10.1147/rd.255.0535.
  2. ^ Shasha, Dennis Elliot; Lazere, Cathy (1998). Out of their Minds: The Lives and Discoveries of 15 Great Computer Scientists. New York, USA: Copernicus, Springer-Verlag New York, Inc. ISBN 0-387-98269-8. LCCN 98-16911. SPIN 10693423.
  3. ^ Backus, John W. (2006-09-05). Booch, Grady (ed.). "Oral History of John Backus" (PDF). Reference number: X3715.2007 (Interview). Ashland, Oregon, USA: Computer History Museum. Archived (PDF) from the original on 2022-04-08. Retrieved 2011-04-23. (42 pages)
  4. ^ Pugh, Emerson W.; Johnson, Lyle R.; Palmer, John H. (1991). IBM's 360 and early 370 systems. MIT Press. p. 38. ISBN 0-262-16123-0.

Further reading