Speedcoding: Difference between revisions
m Added a short description Tags: Visual edit Mobile edit Mobile web edit |
Matthiaspaul (talk | contribs) 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=" |
'''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 |
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 |
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. 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 |
* {{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
Paradigm | structured, generic |
---|---|
Designed by | John Backus |
Developer | John Backus and IBM |
First appeared | 1953 |
Typing discipline | strong, 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
- ^ Meaning symbolic and aimed at natural language expressiveness as opposed to machine or hardware instruction oriented coding.
References
- ^ 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.
- ^ 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.
- ^ 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)
- ^ 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
- IBM speedcoding system for the type 701 electronic data processing machines (PDF). New York, USA: International Business Machines Corporation. 1954 [1953-09-10]. Form 24-6059-0 (5-54:2M-W). Archived (PDF) from the original on 2022-07-04. Retrieved 2022-07-04. (48 pages)
- Backus, John W. (January 1954). "The IBM 701 Speedcoding System" (PDF). Journal of the ACM. 1 (1): 4–6. Archived (PDF) from the original on 2022-05-16. Retrieved 2022-07-04.
- Backus, John W.; Harlan, Herrick (13–14 May 1954). "IBM 701 Speedcoding and Other Automatic-programming Systems". Proceedings of the Symposium on Automatic Programming for Digital Computer. Washington DC, USA: The Office of Naval Research. pp. 106–113. Retrieved 2022-07-04.
- Sammet, Jean E. (1969). Programming Languages: History and Fundamentals. Prentice-Hall.