Continuing the habit (some flatter it with the term "style") of obsessive word shortening in the Unix world, stdout is a pseudo-acronym for "standard out", or "standard output channel."

The command line, text mode model which Unix has historically used for its programs describes two main "channels" by which the user may interact with an executable: stdin (assumed to be a keyboard, at some point) and stdout (assumed to be a text-based terminal of some kind). A second output channel also exists, called stderr, for delivering error messages "out of band" of normal program output.

This model has propagated across other (originally text mode) operating systems such as MS/DOS/Windows, OS/2, AmigaDOS, BeOS, etc. etc. It is also inherent in many (if not most) programming languages. I think of it as quaint, although that may be a bit premature.

In unix, everything can be conflated with a file, and these channels are no exception; shell operations redirecting stdout to a file, or a file to stdin, are common, typically using the operators "|", "<" and ">". See sh.

Despite the efforts of the ISO and ANSI, the standardization process encompassing character sets and "meta characters" for text-based output devices has resembled more of an Ultimate Fighting Championship grudge match than an orderly academic procedure; hence, in unix, there are at least two "delete" keys, neither of which are likely to work. See also termcap, terminfo.

Many amusing devices have been tasked with handling stdout over the years. Most of the ones you will use today are virtual; that is to say, emulators of "real" hardware long past. Linux consoles, xterm windows, telnet applications, and so forth imitate variants the ancient VT100 terminal from Digital Equipment Corporation (now an embarrassing subsidiary of Compaq - what a strange world we live in...). Back in the day, when a CPU cost more than a house, your computer had no display of its own, it sat in a big, big air conditioned room, and serial cables snaked out from it to dumb terminals all over the building. I've seen rooms full of discarded old terminals (even some original DEC VT100s), some of which were old enough to have that powder blue curvy 50's moderne Disneyland look.

My favorite has thus far been the mighty Decwriter III - basically a gigantic 80 pound typewriter. Yes, the earliest text output devices were not the lavish CRT-based solutions we use today; they were based on paper, and some of Unix's early formative years were spent in the land without backspace. This accounts for a variety of invigoratingly obscure experiences when using unix, such as accidentally getting into line mode while using vi, and probably, the fact that the delete key usually doesn't work. It just goes to show - no matter how forward thinking, no program is ever free of the assumptions that prevailed at its creation.

Log in or registerto write something here or to contact authors.