it-swarm-es.com

¿Por qué 80 caracteres es el límite 'estándar' para el ancho del código?

¿Por qué 80 caracteres es el límite "estándar" para el ancho del código? ¿Por qué 80 y no 79, 81 o 100? ¿Cuál es el origen de este valor particular?

592
fredley

Puede agradecer a IBM tarjeta perforada por este límite; tenía 80 columnas:

IBM punch card

748
Oded

Como se menciona oded , este estándar de codificación común es el resultado de la versión de IBM de 1928 formato de tarjeta perforada de 80 columnas , ya que muchos estándares de codificación se remontan a una época en que los programas se escribían en punch tarjetas, una tarjeta/línea a la vez, e incluso la transición a pantallas más anchas no alteró el hecho de que el código se hace más difícil de leer a medida que se amplía.

Desde la página de wikipedia en tarjeta perforada s:

Impacto cultural

  • Un legado del formato de tarjeta perforada de 80 columnas es que una pantalla de 80 caracteres por fila era una opción común en el diseño de terminales basados ​​en caracteres. A partir de noviembre de 2011, algunos valores predeterminados de la interfaz de caracteres, como el ancho de la ventana del símbolo del sistema en Microsoft Windows, permanecen configurados en 80 columnas y algunos formatos de archivo, como FITS, todavía usan imágenes de tarjetas de 80 caracteres.

Ahora la pregunta es, ¿por qué IBM eligió 80 cartas de columna en 1928, cuando Herman Hollerith había usado previamente 24 y 45 cartas de columna ?

Aunque no puedo encontrar una respuesta definitiva, sospecho que la elección se basó en el número típico de caracteres por línea de máquinas de escribir de la época.

La mayoría de las máquinas de escribir históricas que he visto tenían una platina ancho de alrededor de 9 pulgadas, que corresponde con la estandarización de tamaños de papel de alrededor de 8 "-8.5" de ancho (ver ¿Por qué el tamaño de papel estándar en los EE. UU. Es de 8 ½ "x 11"? y el Historial de ISO216 Serie A estándar de papel ).

Agregue un tono de máquina de escribir típico de 10-12 caracteres por pulgada y eso conduciría a documentos con anchos de entre 72 y 90 caracteres, dependiendo del tamaño de los márgenes.

Como tal, 80 caracteres por línea habrían representado un buen compromiso entre el paso del hoyo (pequeños agujeros redondos y rectangulares más grandes) y la longitud de la línea, manteniendo el mismo tamaño de tarjeta.


Por cierto, no en todas partes se especifica un ancho de línea de 80 caracteres en sus estándares de codificación. Donde trabajo tiene un límite de 132 caracteres, que corresponde al ancho típico ancho impresoras de línea de antaño, un paisaje de 12 puntos La impresión A4 y el ancho de línea típico que queda en una ventana del editor de Eclipse (maximizado en una pantalla de 1920x1200) después de que se tengan en cuenta las vistas de Package Explorer y Outline.

Aun así, sigo prefiriendo el código de 80 caracteres, ya que hace que sea más fácil comparar tres revisiones de un archivo una al lado de la otra sin tener que desplazarse hacia los lados (siempre es malo) o líneas de ajuste (lo que destruye el formato del código). Con un código de 80 caracteres de ancho, solo necesita una pantalla de 240 caracteres de ancho (1920 píxeles a 8 píxeles por personaje) para ver una combinación de tres vías (ancestro común, rama local y rama remota) cómodamente en una pantalla.

258
Mark Booth

Yo diría que eso también se debe a que los terminales antiguos tenían (en su mayoría) 80x24 caracteres de tamaño: En los días de los terminales 80x24 ...

EDITAR:

Para responder de manera más precisa y exhaustiva a la pregunta, 80 caracteres es el límite actual "universalmente aceptado" para el ancho del código dentro de los editores porque los formatos 80x24 y 80x25 eran los modos de pantalla más comunes en los primeros terminales de E/S y computadoras personales ( VT52 - gracias a Sandman4).

Este límite sigue siendo válido y de alguna manera importante en mi humilde opinión por dos razones principales: la geometría predeterminada que muchas distribuciones de Linux asignan a las ventanas de terminal recién generadas sigue siendo 80x24 y muchas personas las usan tal cual , sin cambiar el tamaño. Además, los programadores de kernel, en tiempo real e integrados a menudo trabajan en un entorno "sin cabeza" sin ningún administrador de ventanas. Nuevamente, la resolución de pantalla predeterminada suele ser 80x24 (o 80x25) y, en estas situaciones, incluso puede ser difícil cambiar esta configuración predeterminada.

Entonces, si usted es un programador de kernel, en tiempo real o incrustado, debe obligarse a respetar este límite, solo para ser un poco más "amigable" con cualquier programador que debería leer su código.

63
Avio

Aunque probablemente no sea la razón original del límite de 80 caracteres, una razón por la que se aceptó ampliamente es simplemente lectura ergonómica :

  • Si las líneas son demasiado cortas, el texto se vuelve difícil de leer porque debe saltar constantemente de una línea a la siguiente mientras lee.
  • Si las líneas son demasiado largas, el salto de línea se vuelve demasiado difícil porque "pierde la línea" mientras regresa al inicio de la siguiente línea (esto puede mitigarse al tener un mayor espacio entre líneas, pero esto también desperdicia espacio).

Esto es ampliamente conocido y aceptado en la tipografía. La recomendación estándar (para texto en libros, etc.) es usar algo en la región de 40-90 caracteres por línea , y idealmente alrededor de 60 (ver, por ejemplo, Wikipedia , Markus Itkonen: Tipografía y legibilidad ).

Si apunta a 60 caracteres por línea, su límite superior obviamente debe ser un poco más alto para acomodar la expresión larga ocasional (y cosas como marcadores de márgenes y números de línea), por lo que tener un límite superior de 70-80 tiene sentido.

Esto probablemente explica por qué el límite de 80 caracteres fue asumido por muchos otros sistemas.

55
sleske

Una pregunta relacionada es "por qué ha persistido 80 columnas". Incluso las respuestas en esta página son aproximadamente de ese ancho. Estoy de acuerdo con las razones históricas de 80 columnas, pero la pregunta es por qué el estándar ha persistido. Yo reclamaría legibilidad, para prosa y código. Nuestras mentes solo pueden absorber tanta información en una sola pieza. Todavía uso el marcador de 80 columnas en mi editor de código para recordarme cuando una declaración es demasiado larga y oscura. También me deja un montón de espacio en pantalla para el navegador y las ventanas de soporte IDE. Larga vida a la columna 80 - como guía, no como una regla.

28
Paul Marrington

Otro límite de longitud de línea común en los días de las fuentes de paso fijo era de 72 caracteres. Ejemplos: código Fortran, correo, noticias.

Una razón fue que las columnas 73-80 de una tarjeta perforada a menudo estaban reservadas para un número de serie. ¿Por qué un número de serie? Si dejaste caer una baraja de cartas, podrías recoger las cartas en cualquier orden, alinear las esquinas superiores izquierdas (que siempre tenían un corte diagonal) y usar una máquina de clasificación de cartas para volver a ponerlas en orden.

Otra razón para el límite de 72 caracteres fue que las fuentes comunes tenían 10 puntos de alto y 6 puntos (1/12 ") de ancho. Una página de A4 o 8.5" de ancho podía contener 72 caracteres en una columna de 6 "de ancho y aún tenía espacio para márgenes de más de una pulgada.

12
Larry Tesler

Personalmente me adhiero a "sobre la columna 80" para mi final de línea porque más allá de eso causa un ajuste o pérdida de código cuando lo imprime.

También existe el legado de las tarjetas perforadas, pero no creo que las impresoras láser o el papel de 8.5x11 pulgadas se hayan configurado para cumplir con las limitaciones de las tarjetas perforadas.

7
CMike

Desplácese en los papeles de las impresoras eran letras tamaño o 15 "de ancho.

Eran las impresoras de línea de 80 cps para la copia impresa de códigos o informes, y más tarde Epson admite la impresión condensada de 132 cps (código de escape\015 para impresión condensada).

4
Rony

Una de las razones de las 80 tarjetas de columna puede estar asociada con el 'golpe de mano' que probablemente estaba en uso antes de las máquinas de perforación de tarjetas electrónicas. Es uno que usé a principios de los años 70 en un sitio de computadora de marco principal del Sistema ICL 4-50. ¿Uno tenía que perforar una sección de tres? perforar cuchillos en el carro al mismo tiempo.

1
Ray Denton