Contributed by: Admin Wednesday, 17 July 2013, 12:32 @ CEST
First of all, a computing device was developed. There even exists a true mechanical device doing arithmetic.
Data consists of bits (0 or 1, on or off) and counting was formulated according to a binary system. These bits became „grouped” by 8 bits electronically and this group was named a „byte”.
Than the need for INPUT arises. Early media were mechanical (punched) thingies: tape and cards.
The punched tape was greatly free format and consisted of 4, 6 or 7 parallel holes. This data could be read directly as being binary values, manipulated and sent for output in binary form as well. Users of these type of computers did feature a scientific level to be able to read the binary output and convert them for ordinary language use. Well, the integer was born.
Of course, integers are limited, and efforts succeeded in defining floating numbers and text in a standard way. In the same time the development of these machines emerged in the need to couple scientific measuring devices. In first occurrence a lot of punched tape gets exchanged all over the place. In second occurrence a specific wiring appears to off-load the tape reader from the machine that does the computing. In third occurrence this wiring is used to coupe devices in a electrical way. Which opens the application to wire these devices together over the telegraph or later over the telephone systems. Well, data communication was born.
First known as data interchange, a standard was designed for all interchange needs, and included steering characters in the data flow for device syncing and buffering. We still use this as ASCII. The original code system was 7 bit, with the 8th bit being a parity bit to feature error correction. Speed was 25 − 300 baud.
The punched card introduced a fixed format of the data. A data value was punched in column 8-10 everywhere and not sometimes in column 9-11, depending on f.i. the color of the card. Also, the 80 columns size of such cards were dictating that ALL data that logically belongs together was on ONE card: the record. Some advanced programs allowed for 2 or 3 cards to form a record, but in principle processing was designed with record-IN and record-OUT in mind.
It is odd that a punched card allowed for 12 parallel holes in any column, which resulted in a 8-bit EBCDIC code. The 11th and 12th vertical position was intended for a sign (plus or minus) and were located above the other vertical positions 0 to 10 (the upper-punch). We may recognize that singularity on the digit keys of a keyboard: shift and upper-punch are the same concept.
The data to be stored on such cards are letters, digits, the dollar sign, ;-), and some other characters. A standard was quickly designed to code the data in a binary system which should be able to sort binary in a human readable way. We still know this as EBCDIC and this code system is heading the status of a threatened species. The original code system was 8 bit, allowing for upper- and lowercase as well. The first segment of the coding table was reserved for communication purposes and resembles the ASCII codes.
Cobol was supposed to use EBCDIC, though nothing in the language hints us that purpose.
The term COLLATING SEQUENCE relates to the machines specialized to perform the sorting of punched cards: the collator.
Mini computers, micro computer, the personal computer and its derivates all use ASCII as opposed to mainframe technology that still uses EBCDIC. Nowadays we merely struggle with character sets and code pages. UTF-8 and Unicode are dominant in the Linux world, while iso-5912 is still in use under Windows.