4 ms·
Hence columns 73-80 being used for a sequence number.
by mwcremer 9y ago
Hence columns 73-80 being used for a sequence number.
- kens 9y agoThere's interesting history behind why columns 73-80 were used for a sequence number. FORTRAN was developed on the IBM 704, which was a 36-bit machine. The hardware read punch cards "sideways", storing each row of the card in two words. The consequence was that you could only read 72 columns of a card. That left columns 73-80 unusable for programming. But if you punched a sequence number in these columns, a dropped deck could be easily sorted by a high-speed card sorter. Card sorters were an interesting technology, going back to the 1920s, way before computers. They sorted cards on one column at a time using radix sort, and were electro-mechanical. I wrote about them here: http://www.righto.com/2016/05/inside-card-sorters-1920s-data.html http://www.righto.com/2016/05/inside-card-sorters-1920s-data...
- WalterBright 9y ago> But if you punched a sequence number in these columns, a dropped deck could be easily sorted by a high-speed card sorter. I suppose heaven help you if you wanted to insert a statement between cards 37 and 38 :-)
- jacquesm 9y agoThat's why you numbered your cards with 2, 4 or even 8 spaces between each subsequent card number. That sort of forethought came from hard won experience ;)
- blattimwind 9y agoSimilar to how BASIC line numbers are multiples of ten - allows for insertion.
- jacquesm 9y agoIf you're going to dig around in the source code for a 1970's BASIC interpreter one of the more interesting commands to disassemble is 'RENUM'. It tells a lot about how the language stores its intermediate structure (not quite a bytecode, but it is highly tokenized). RENUM takes a program that has had insertions done to it and renumbers the lines so they are multiples of 10 again. For added complexity and to avoid overwriting your carefully laid out library calls with high line number subroutines for easy memorization you could limit the range within which the RENUM would operate. Typical use: RENUM 0,1000,10 -> renumber all the lines from 0 to 1000 with a step of 10.
- WalterBright 9y agoUnfortunately, RENUM doesn't work for card decks.
- jacquesm 9y agoWell, with enough tape and patience :)