80文字がコード幅の「標準」制限であるのはなぜですか?79、81、100ではなく80なのはなぜですか?この特定の値の起源は何ですか?
80文字がコード幅の「標準」制限であるのはなぜですか?79、81、100ではなく80なのはなぜですか?この特定の値の起源は何ですか?
回答:
この制限については、IBM パンチカードに感謝することができます-80列ありました。
オデッド述べたように、この一般的なコーディング標準は、IBMの1928年の結果である80列パンチカードのフォーマット、多くのコーディング標準はバックプログラムは、一度にパンチカード、一枚のカード/行に書かれていた時に日付以降、さらには移行より広い画面に変更しても、コードが広くなるほどコードが読みにくくなるという事実は変わりませんでした。
パンチカードのウィキペディアページから:
文化的影響
- 80列のパンチカード形式の遺産は、文字ベースの端末の設計では行ごとに80文字の表示が一般的な選択であったことです。2011年11月の時点で、Microsoft Windowsのコマンドプロンプトウィンドウの幅などの一部の文字インターフェイスのデフォルトは80列に設定されたままであり、FITSなどの一部のファイル形式は80文字のカードイメージを使用します。
問題は、1928年にHerman Hollerithが以前に24列と45列のカードを使用していたのに、なぜIBMが1928年に80列カードを選択したのかということです。
明確な答えは見つかりませんが、その選択は当時のタイプライターの1行あたりの典型的な文字数に基づいていたのではないかと思います。
私が見たほとんどの歴史的なタイプライターのプラテン幅は約9インチで、これは用紙サイズを約8 "-8.5"幅に標準化することに対応しています(米国の標準用紙サイズが8½ "x 11である理由を参照)「?およびISO216 Aシリーズの紙規格の歴史」。
インチあたり10〜12文字の典型的なタイプライターピッチを追加すると、マージンのサイズに応じて、幅が72〜90文字のドキュメントが作成されます。
そのため、1行あたり80文字で、同じカードサイズを維持しながら、穴のピッチ(小さい長方形の穴と大きい円形の穴)と行の長さの間の適切な妥協点を表します。
ちなみに、どこでもコーディング標準で80文字の行幅を指定しているわけではありません。私が働いている場所では、132文字の制限があります。これは、従来の一般的なワイド ラインプリンターの幅、12ポイントの横長A4プリントアウト、およびパッケージエクスプローラーとアウトラインビューが考慮されます。
それでも、ファイルの3つのリビジョンを横にスクロールする(常に悪い)か、行を折り返す(コードの書式設定を破壊する)ことなく簡単に比較できる80文字幅のコードを好みます。80文字幅のコードでは、240文字幅の画面(1文字あたり8ピクセルで1920ピクセル)だけで、完全な3方向マージ(共通の祖先、ローカルブランチ、リモートブランチ)を1つの画面で快適に見ることができます。
古い端末が(ほとんど)80x24文字のサイズだったからだと思います:80x24端末の時代に戻って...
編集:
80x24と80x25の形式は初期のI / O端末とパーソナルコンピューター(VT52-おかげでサンドマンに4)。
この制限は依然として有効であり、主に2つの理由で重要です。多くのLinuxディストリビューションが新しく生成されたターミナルウィンドウに割り当てるデフォルトのジオメトリは80x24であり、多くの人がサイズ変更せずにそのまま使用します。さらに、カーネル、リアルタイム、および組み込みプログラマは、ウィンドウマネージャを使用せずに「ヘッドレス」環境で作業することがよくあります。繰り返しますが、デフォルトの画面解像度は多くの場合80x24(または80x25)であり、これらの状況では、このデフォルト設定を変更することさえ難しい場合があります。
したがって、カーネル、リアルタイム、または組み込みプログラマーであれば、コードを読む必要があるプログラマーに対してもう少し「友好的」になるように、この制限を尊重する必要があります。
おそらく80文字の制限の元の理由ではありませんが、広く受け入れられた理由は、単に人間工学を読むことです:
これは広く知られており、タイポグラフィで受け入れられています。標準的な推奨事項(書籍などのテキストの場合)は、1行あたり40〜90文字、理想的には約60 文字の領域を使用することです(例えば、Wikipedia、Markus Itkonen:Typography and readabilityを参照)。
1行あたり60文字を目標とする場合、時折の長い表現(およびマージンマーカーや行番号など)に対応するために、上限を明らかに少し高くする必要があるため、70-80の上限を設定するのが理にかなっています。
これはおそらく、80文字の制限が他の多くのシステムによって引き継がれた理由を説明しています。
関連する質問は、「80列が永続化されている理由」です。このページの応答でさえ、ほぼその幅です。80列の歴史的な理由に同意しますが、問題はなぜ標準が持続したのかということです。読みやすさを主張する-散文とコード。私たちの心は、非常に多くの情報を1つのピースにしか吸収できません。コードエディターで80列マーカーを使用して、ステートメントが長すぎてあいまいになっていることを思い出させます。また、ブラウザとサポートするIDEウィンドウ用の画面領域がたくさん残っています。長いライブ80列-ルールではなくガイドとして。
プリンター用紙のスクロールは、レターサイズまたは15インチ幅でした。
コードまたはレポートのハードコピー用の80 cpsラインプリンターであり、後にEpsonは132 cpsの圧縮印刷をサポートしました(圧縮印刷ではエスケープコード\ 015)。