Last weekend at a COMMON planning meeting, the words "you'll have us using 80-column cards next" were uttered by one of the assembled throng. This brought the response, "What do you mean '80 column’? Punch cards were 96 columns!" Such a child! Some of us can not only remember 80-column cards but their forerunners the 36- and 40-column cards.Jon explica las dependencias en RPG con respecto a la tarjeta de 80 columnas:
OK, even I am not old enough to have seen a working 36-column installation, but I was involved in converting one customer from a 40- to an 80-column tabulator system, and another from 40 column directly to a midrange computer system. It seems like a lifetime ago, and if it wasn't for that strange picture in the attic ...
Anyway it got me thinking about how little many of us know of our own history as it relates to the IT industry. Would you believe that there are people out there who actually believe that Bill Gates and Microsoft invented the concept of a windowing GUI! They probably believe they invented DOS too--poor misguided souls.
As you can see there are 80 vertical columns, which explains the 80-column limit in RPG II and RPG III. You might also have wondered why the first five columns of the spec are designated as the sequence number. Well, suppose you had a 600-line RPG program and it was on punch cards. Now suppose that you dropped the box and 600 cards hit the floor. How long do you think it would take you to put the program back in order? Now you understand the reason for the sequence number.Estas dependencias, que continúan, se modificaron en parte aceptando tarjetas de 96 columnas, que permiten un formato "extendido" en los fuentes de RPG, COBOL o CL en el Iseries.
What about the term "zoned numeric"? Take a look at the card at around column 19 and you'll see holes in the top portion (i.e., above the numbers); they are in "the zone." The two rows in this area are referred to as the X and Y zones. In fact, the 0 (zero) position is also treated as a zone. These rows were sometimes also known as the 10, 11 and 0 zones, which made more sense to me since they were at least partly in sequence! The X zone, which was the middle of the three, was used to identify a negative number. So for instance the value -5 would be represented by a hole in the 5 position and one in the X position. That also happens to be the coding for the letter "N." This explains two features of RPG, first why we use the term zoned, and secondly why TESTN is a risky op-code to use if you want to be sure that numeric fields contain nothing but numbers. You see TESTN is quite happy to tell you that "123M" is a valid number because that represents 1234. It is also perfectly happy with "123D" or "123U" since they’re treated as positive numbers.
Some of you may have pondered why it is that when the hex values for A through I are C1 through C9, and J through R are D1 through D9, the letter “S” has a hex value of D2? The answer, as it was explained to me, was simply that having two holes close together weakened the card, so it wasn’t a good idea to use it for such a frequently used letter as S.
Sólo a partir del ILE RPG disminuyeron, al aceptar parcialmente un formato libre.
Lo que se dice del RPG es ampliable al formato de columnas del COBOL. (Otro artículo para archivar en la fugaz web)