Knowledge

Speedcoding

Source 📝

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: 719: 923: 1008: 879: 838: 993: 998: 641: 870: 829: 94: 802: 772: 687: 178: 680: 585: 204:
machine when Backus was hired to calculate astronomical positions in early 1950. The speedcoding system was an
953: 906: 260: 142: 730: 636: 205: 792: 222: 32: 945: 1003: 676: 668: 27: 8: 36: 914: 55: 798: 768: 693: 683: 114: 650: 609: 605: 580: 102: 43: 968: 941: 902: 711: 194: 186: 987: 976: 673:
Out of their Minds: The Lives and Discoveries of 15 Great Computer Scientists
872:
IBM speedcoding system for the type 701 electronic data processing machines
831:
IBM speedcoding system for the type 701 electronic data processing machines
118: 950:
Proceedings of the Symposium on Automatic Programming for Digital Computer
791:
Bashe, Charles; Johnson, Lyle; Palmer, John; Pugh, Emerson (1986-03-17).
715: 639:(September 1981). "The History of Language Processor Technology in IBM". 264: 98: 89: 60: 48: 654: 764: 235: 201: 134: 231: 218: 190: 130: 697: 158: 150: 946:"IBM 701 Speedcoding and Other Automatic-programming Systems" 824: 822: 820: 154: 138: 759:
Pugh, Emerson W.; Johnson, Lyle R.; Palmer, John H. (1991).
263:, as well as operations for interacting with data stored in 146: 817: 182: 64: 274:
Reserved Arithmetic and Input/Output Operation Keywords
752: 790: 200:
The idea arose from the difficulty of programming the
786: 784: 758: 661: 255:) and 4 memory addresses. The first operation (OP 985: 781: 704: 217:In August 1952, several dozen IBM engineers and 973:Programming Languages: History and Fundamentals 940: 667: 631: 629: 880:International Business Machines Corporation 839:International Business Machines Corporation 212: 626: 612:or hardware instruction oriented coding. 185:computer. The language was developed by 642:IBM Journal of Research and Development 242: 986: 967: 901: 710: 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). 635: 944:; Harlan, Herrick (13–14 May 1954). 729:(Interview). Ashland, Oregon, USA: 13: 863: 14: 1020: 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 598: 586:Short Code (computer language) 1: 720:"Oral History of John Backus" 619: 608:expressiveness as opposed to 954:The Office of Naval Research 727:Reference number: X3715.2007 193:to support computation with 7: 574: 76:; 71 years ago 10: 1025: 433:Reserved Logical Keywords 267:. The second operation (OP 129: 124: 113: 108: 88: 70: 54: 42: 26: 671:; Lazere, Cathy (1998). 591: 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 21: 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: 20: 1024: 1023: 1019: 1018: 1017: 1015: 1014: 1013: 984: 983: 969:Sammet, Jean E. 959: 957: 942:Backus, John W. 932: 930: 926: 909: 903:Backus, John W. 892: 890: 886: 875: 869: 866: 864:Further reading 861: 860: 851: 849: 845: 834: 828: 827: 818: 809: 807: 805: 789: 782: 775: 757: 753: 743: 741: 737: 722: 712:Backus, John W. 709: 705: 690: 666: 662: 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: 1012: 1011: 1006: 1001: 996: 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: 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: 844: 840: 833: 832: 825: 823: 821: 806: 804:9780262523936 800: 796: 795: 787: 785: 776: 774:0-262-16123-0 770: 766: 762: 755: 736: 732: 728: 721: 717: 713: 707: 699: 695: 691: 689:0-387-98269-8 685: 682: 678: 674: 670: 664: 656: 652: 648: 644: 643: 638: 632: 630: 625: 611: 607: 601: 597: 587: 584: 582: 579: 578: 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 240: 237: 233: 227: 224: 220: 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:)

Index

Paradigm
structured
generic
Designed by
John Backus
Developer
John Backus
IBM
Typing discipline
strong
static
manifest
Assembly language
machine code
Fortran
ALGOL 58
BASIC
C
PL/I
PACT I
MUMPS
Ratfor
high-level programming language
IBM
John W. Backus
IBM 701
floating point numbers
IBM SSEC
interpreter
IBM 701

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.