かたチャ

『標準入出力』の”標準”ってどういう意味か?

      2017/02/21

よくプログラミングで「標準入力・標準出力」という言葉が出てきますが、どの「標準」とはどういう意味か?についてです。「標準」というからには「標準」以外もあるはず…と思うのですが。

キーボード以外の入力

Wikipediaによると

UNIX以前の多くのオペレーティングシステムでは、プログラムは明示的に適当な入出力に接続する必要があった。多くのシステムにはOS固有の複雑な事情 があり、環境設定をしたり、ローカルなファイルテーブルにアクセスしたり、必要なデータセットを指定したり、カードリーダー、磁気テープドライブ、ディス クドライブ、ラインプリンタ、カードパンチ、対話型端末などを正しく扱うといったプログラミング以前のハードルが多数存在した。

キーボード以外の入力として、カードリーダー、磁気テープドライブ、ディス クドライブ、ラインプリンタ、カードパンチ、対話型端末、があることが分かります。

自動的にキーボードに接続

もう1つのUNIXの成し遂げたブレークスルーは、自動的に入力と出力を関連付けることであり、典型的な入力-処理-出力型プログラムでは入出力の設定を何もする必要がない。対照的にそれ以前のOSでは、複雑なジョブ制御言語を使ってコネクションを確立するか、それとほぼ同等のことをプログラム本体で行う必要があった。

現在(Unix以後)は、自動的に典型的な入力(ほとんどの場合キーボード)と接続する、ということが分かります。

まとめ

結論としては、”標準”とは”自動で設定されている”という意味になるかと思います。

 - プログラミング