209:
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. The interpreter took 310 memory words, about 30% of the memory available on a 701.
259:) is a mathematical or input/output operation that has 3 associated memory addresses, one or more of which can be modified depending on the nature of the operation. Mathematical operations include basic arithmetic, square root, and trigonometry functions. The logical operations include functionality for reading, writing, skipping, and rewinding
239:
and cost of programming personnel, and that the additional expense of testing made labor the considerably larger expense. Starting in 1953, Backus and five colleagues designed this new language and named it "Speedcoding", where its use soon spread outside of IBM to customer installations of the 701 system.
238:
code translator, to supervise the creation of a new floating-point interpretive programming language for use internal to IBM. Backus himself had previously expressed interest in improving programming methods, and observed that computing costs were roughly equally split between the cost of computation
208:
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
225:
to exchange ideas and best practices on programming the new machines in assembly. Several attendees expressed frustration with the slow nature of assembly programming and debugging, and questioned the utility of the 701 in applications where solutions to problems were needed quickly, or when the
229:
John W. Sheldon, a supervisor of IBM's
Technical Computing Bureau attending the meeting, and others felt that an "interpretive" programming system that utilized floating point operations was the best solution to this problem. Sheldon asked John Backus, who had previously worked on a
271:) is a logical operation that has the remaining 1 associated memory address. Logical operations allow instructions to be carried out in a different order from which they are written allowing for implementations of gotos, conditionals, loops, and other advanced behavior.
226:
value of a solution justified the expense of computation time but not the cost of programming and debugging. Attendees likewise complained with issues with "scaling", or the need to religiously track the decimal point in arithmetic operations.
734:
247:
Speedcoding programs are organized as a series of instructions, each of which are stored in memory as a single 72-bit data word. An instruction generally consists of two operations (OP
883:
842:
1008:
879:
838:
719:
993:
923:
998:
641:
94:
802:
772:
687:
178:
680:
585:
870:
829:
953:
260:
204:
machine when Backus was hired to calculate astronomical positions in early 1950. The speedcoding system was an
142:
730:
636:
205:
906:
222:
32:
1003:
676:
668:
27:
36:
914:
55:
792:
945:
798:
768:
693:
683:
114:
650:
609:
605:
580:
102:
43:
968:
941:
902:
711:
194:
186:
987:
976:
118:
715:
264:
98:
89:
60:
48:
673:
Out of their Minds: The Lives and
Discoveries of 15 Great Computer Scientists
764:
872:
IBM speedcoding system for the type 701 electronic data processing machines
831:
IBM speedcoding system for the type 701 electronic data processing machines
950:
Proceedings of the
Symposium on Automatic Programming for Digital Computer
791:
Bashe, Charles; Johnson, Lyle; Palmer, John; Pugh, Emerson (1986-03-17).
639:(September 1981). "The History of Language Processor Technology in IBM".
235:
201:
134:
654:
231:
218:
190:
130:
158:
150:
154:
138:
697:
146:
182:
64:
946:"IBM 701 Speedcoding and Other Automatic-programming Systems"
824:
822:
820:
759:
Pugh, Emerson W.; Johnson, Lyle R.; Palmer, John H. (1991).
263:, as well as operations for interacting with data stored in
274:
Reserved
Arithmetic and Input/Output Operation Keywords
200:
The idea arose from the difficulty of programming the
786:
784:
124:
108:
88:
70:
54:
42:
26:
255:) and 4 memory addresses. The first operation (OP
217:In August 1952, several dozen IBM engineers and
973:Programming Languages: History and Fundamentals
8:
631:
629:
21:
880:International Business Machines Corporation
839:International Business Machines Corporation
20:
612:or hardware instruction oriented coding.
185:computer. The language was developed by
642:IBM Journal of Research and Development
625:
597:
1009:Programming languages created in 1953
882:. 1954 . Form 24-6059-0 (5-54:2M-W).
841:. 1954 . Form 24-6059-0 (5-54:2M-W).
7:
944:; Harlan, Herrick (13–14 May 1954).
729:(Interview). Ashland, Oregon, USA:
14:
994:Procedural programming languages
907:"The IBM 701 Speedcoding System"
999:Numerical programming languages
929:from the original on 2022-05-16
889:from the original on 2022-07-04
848:from the original on 2022-07-04
797:. MIT Press. pp. 332–338.
761:IBM's 360 and early 370 systems
740:from the original on 2022-04-08
637:Allen, Frances "Fran" Elizabeth
179:high-level programming language
16:High-level programming language
681:Springer-Verlag New York, Inc.
604:Meaning symbolic and aimed at
586:Short Code (computer language)
1:
720:"Oral History of John Backus"
608:expressiveness as opposed to
954:The Office of Naval Research
727:Reference number: X3715.2007
193:to support computation with
76:; 71 years ago
1025:
433:Reserved Logical Keywords
267:. The second operation (OP
129:
113:
671:; Lazere, Cathy (1998).
731:Computer History Museum
213:History and Development
952:. Washington DC, USA:
223:Poughkeepsie, New York
195:floating point numbers
794:IBM's Early Computers
669:Shasha, Dennis Elliot
243:Syntax and Semantics
655:10.1147/rd.255.0535
71:First appeared
23:
956:. pp. 106–113
915:Journal of the ACM
878:. New York, USA:
837:. New York, USA:
675:. New York, USA:
221:customers met in
164:
163:
115:Assembly language
90:Typing discipline
1016:
980:
964:
962:
961:
937:
935:
934:
928:
911:
905:(January 1954).
897:
895:
894:
888:
877:
857:
856:
854:
853:
847:
836:
826:
815:
814:
812:
811:
788:
779:
778:
756:
750:
748:
746:
745:
739:
724:
708:
702:
701:
700:. SPIN 10693423.
665:
659:
658:
633:
613:
606:natural language
602:
189:in 1953 for the
84:
82:
77:
44:Designed by
24:
1024:
1023:
1019:
1018:
1017:
1015:
1014:
1013:
984:
983:
969:Sammet, Jean E.
967:
959:
957:
942:Backus, John W.
940:
932:
930:
926:
909:
903:Backus, John W.
901:
892:
890:
886:
875:
869:
866:
864:Further reading
861:
860:
851:
849:
845:
834:
828:
827:
818:
809:
807:
805:
790:
789:
782:
775:
758:
757:
753:
743:
741:
737:
722:
712:Backus, John W.
710:
709:
705:
690:
667:
666:
662:
635:
634:
627:
622:
617:
616:
603:
599:
594:
581:PACT (compiler)
577:
572:
571:
431:
430:
270:
258:
254:
250:
245:
215:
181:created for an
80:
78:
75:
17:
12:
11:
5:
1022:
1020:
1012:
1011:
1006:
1001:
996:
986:
985:
982:
981:
965:
938:
899:
865:
862:
859:
858:
816:
803:
780:
773:
767:. p. 38.
751:
714:(2006-09-05).
703:
688:
660:
649:(5): 535–548.
624:
623:
621:
618:
615:
614:
596:
595:
593:
590:
589:
588:
583:
576:
573:
570:
569:
566:
563:
560:
557:
554:
551:
548:
545:
542:
539:
536:
533:
530:
527:
524:
521:
518:
515:
512:
509:
506:
503:
500:
497:
494:
491:
488:
485:
482:
479:
476:
473:
470:
467:
464:
461:
458:
455:
452:
449:
446:
443:
440:
436:
435:
429:
428:
425:
422:
419:
416:
413:
410:
407:
404:
401:
398:
395:
392:
389:
386:
383:
380:
377:
374:
371:
368:
365:
362:
359:
356:
353:
350:
347:
344:
341:
338:
335:
332:
329:
326:
323:
320:
317:
314:
311:
308:
305:
302:
299:
296:
293:
290:
287:
284:
281:
277:
276:
268:
256:
252:
248:
244:
241:
214:
211:
187:John W. Backus
177:was the first
162:
161:
127:
126:
122:
121:
111:
110:
106:
105:
92:
86:
85:
72:
68:
67:
58:
52:
51:
46:
40:
39:
30:
15:
13:
10:
9:
6:
4:
3:
2:
1021:
1010:
1007:
1005:
1002:
1000:
997:
995:
992:
991:
989:
978:
977:Prentice-Hall
974:
970:
966:
955:
951:
947:
943:
939:
925:
921:
917:
916:
908:
904:
900:
885:
881:
874:
873:
868:
867:
863:
844:
840:
833:
832:
825:
823:
821:
817:
806:
804:9780262523936
800:
796:
795:
787:
785:
781:
776:
774:0-262-16123-0
770:
766:
762:
755:
752:
736:
732:
728:
721:
717:
713:
707:
704:
699:
695:
691:
689:0-387-98269-8
685:
682:
678:
674:
670:
664:
661:
656:
652:
648:
644:
643:
638:
632:
630:
626:
619:
611:
607:
601:
598:
591:
587:
584:
582:
579:
578:
574:
567:
564:
561:
558:
555:
552:
549:
546:
543:
540:
537:
534:
531:
528:
525:
522:
519:
516:
513:
510:
507:
504:
501:
498:
495:
492:
489:
486:
483:
480:
477:
474:
471:
468:
465:
462:
459:
456:
453:
450:
447:
444:
441:
438:
437:
434:
426:
423:
420:
417:
414:
411:
408:
405:
402:
399:
396:
393:
390:
387:
384:
381:
378:
375:
372:
369:
366:
363:
360:
357:
354:
351:
348:
345:
342:
339:
336:
333:
330:
327:
324:
321:
318:
315:
312:
309:
306:
303:
300:
297:
294:
291:
288:
285:
282:
279:
278:
275:
272:
266:
262:
261:magnetic tape
242:
240:
237:
233:
227:
224:
220:
212:
210:
207:
203:
198:
196:
192:
188:
184:
180:
176:
172:
168:
160:
156:
152:
148:
144:
140:
136:
132:
128:
123:
120:
116:
112:
109:Influenced by
107:
104:
100:
96:
93:
91:
87:
73:
69:
66:
62:
59:
57:
53:
50:
47:
45:
41:
38:
34:
31:
29:
25:
19:
1004:IBM software
972:
958:. Retrieved
949:
931:. Retrieved
919:
913:
891:. Retrieved
871:
850:. Retrieved
830:
808:. Retrieved
793:
760:
754:
742:. Retrieved
726:
716:Booch, Grady
706:
672:
663:
646:
640:
600:
432:
273:
246:
228:
216:
199:
174:
170:
166:
165:
119:machine code
18:
265:drum memory
206:interpreter
167:Speedcoding
61:John Backus
49:John Backus
22:Speedcoding
988:Categories
960:2022-07-04
933:2022-07-04
922:(1): 4–6.
898:(48 pages)
893:2022-07-04
852:2022-07-04
810:2023-08-25
749:(42 pages)
744:2011-04-23
677:Copernicus
620:References
125:Influenced
33:structured
765:MIT Press
171:Speedcode
56:Developer
971:(1969).
924:Archived
884:Archived
843:Archived
735:Archived
698:98-16911
575:See also
202:IBM SSEC
135:ALGOL 58
103:manifest
28:Paradigm
718:(ed.).
610:machine
219:IBM 701
191:IBM 701
175:SpeedCo
131:Fortran
79: (
37:generic
801:
771:
696:
686:
251:and OP
159:Ratfor
151:PACT I
99:static
95:strong
927:(PDF)
910:(PDF)
887:(PDF)
876:(PDF)
846:(PDF)
835:(PDF)
738:(PDF)
723:(PDF)
592:Notes
568:ECHTR
520:RADDD
517:RADDC
514:RADDB
511:RADDA
499:SETRC
496:SETRB
493:SETRA
490:TDABC
472:TIABC
454:SNTRQ
451:SNTRP
424:EJECT
421:PRINT
418:RFDRQ
415:RFDRP
412:WRDRQ
409:WRDRP
406:EFTPM
403:EFTPL
400:EFTPK
397:EFTPJ
394:RWTPM
391:RWTPL
388:RWTPK
385:RWTPJ
382:SBTPM
379:SBTPL
376:SBTPK
373:SBTPJ
370:SFTPM
367:SFTPL
364:SFTPK
361:SFTPJ
358:RBTPM
355:RBTPL
352:RBTPK
349:RBTPJ
346:RFTPM
343:RFTPL
340:RFTPJ
337:WRTPM
334:WRTPL
331:WRTPK
328:WRTPJ
316:ARTAN
307:NGDIV
301:NGMPY
295:ABSUB
292:SUBAB
289:ABADD
286:ADDAB
155:MUMPS
139:BASIC
799:ISBN
769:ISBN
694:LCCN
684:ISBN
565:STCH
562:PRCH
559:SKIP
544:SUBD
541:SUBC
538:SUBB
535:SUBA
532:ADDD
529:ADDC
526:ADDB
523:ADDA
508:SKRC
505:SKRB
502:SKRA
487:TDAC
484:TDBC
481:TDAB
469:TIAC
466:TIBC
445:TRMN
442:TRPL
427:NOOP
325:MOVE
313:SINE
310:SQRT
236:SSEC
147:PL/I
81:1953
74:1953
63:and
651:doi
556:STD
553:STC
550:STB
547:STA
478:TDC
475:TDA
463:TIC
460:TIB
457:TIA
448:TRZ
319:EXP
304:DIV
298:MPY
283:SUB
280:ADD
234:to
232:CPC
183:IBM
173:or
65:IBM
990::
975:.
948:.
918:.
912:.
819:^
783:^
763:.
733:.
725:.
692:.
679:,
647:25
645:.
628:^
439:TR
322:LN
197:.
169:,
157:,
153:,
149:,
145:,
141:,
137:,
133:,
117:,
101:,
97:,
35:,
979:.
963:.
936:.
920:1
896:.
855:.
813:.
777:.
747:.
657:.
653::
269:2
257:1
253:2
249:1
143:C
83:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.