Perché 80 caratteri sono il limite "standard" per la larghezza del codice?

533

Perché 80 caratteri sono il limite "standard" per la larghezza del codice? Perché 80 e non 79, 81 o 100? Qual è l'origine di questo particolare valore?

    
posta fredley 15.05.2012 - 12:43
fonte

9 risposte

692

Puoi ringraziare IBM scheda perforata per questo limite - aveva 80 colonne:

    
risposta data 15.05.2012 - 12:46
fonte
227

Poiché odato menzionato, questo standard di codifica comune è il risultato del 1928 80 formati di schede perforate a colonna , dal momento che molti standard di codifica risalgono a un tempo in cui i programmi venivano scritti su schede perforate, una scheda / riga alla volta e anche il passaggio a schermi più ampi non ha alterato il fatto che il codice diventa più difficile da leggere, più diventa ampio.

Dalla pagina wikipedia su scheda perforata s:

Cultural Impact

  • A legacy of the 80 column punched card format is that a display of 80 characters per row was a common choice in the design of character-based terminals. As of November 2011 some character interface defaults, such as the command prompt window's width in Microsoft Windows, remain set at 80 columns and some file formats, such as FITS, still use 80-character card images.

Ora la domanda è: perché IBM ha scelto 80 colonne nel 1928, quando Herman Hollerith aveva usato in precedenza 24 e 45 schede di colonna ?

Anche se non riesco a trovare una risposta definitiva, sospetto che la scelta sia basata sul numero tipico di caratteri per riga di macchine da scrivere del tempo.

La maggior parte delle macchine da scrivere storiche che ho visto ha avuto un piastra larghezza di circa 9 pollici, che corrisponde alla standardizzazione delle dimensioni della carta a circa 8" -8,5 "di larghezza (vedi Perché il formato carta standard è negli USA 8 ½ "x 11"? e la cronologia di ISO216 standard di serie ).

Aggiungi un tipico passo della macchina da scrivere di 10-12 caratteri per pollice e questo porterebbe a documenti con larghezze tra 72 e 90 caratteri, a seconda della dimensione dei margini.

Pertanto, 80 caratteri per riga avrebbero rappresentato un buon compromesso tra passo del foro (piccoli fori rettangolari o più grandi) e lunghezza della linea, mantenendo le stesse dimensioni della carta.

Per inciso, non ovunque specifica una larghezza di linea di 80 caratteri nei loro standard di codifica. Dove lavoro ha un limite di 132 caratteri, che corrisponde alla larghezza delle tipiche larghe stampanti di linea di un tempo, una stampa in formato A4 di 12 pt e la tipica larghezza della linea rimanente in una finestra dell'editor di Eclipse (ingrandita su uno schermo 1920x1200) dopo che sono state prese in considerazione le viste Esplora pacchetti e Struttura.

Anche così, continuo a preferire un codice di 80 caratteri poiché semplifica il confronto di tre revisioni di un file affiancate senza scorrimento laterale (sempre negativo) o linee di wrapping (che distruggono la formattazione del codice ). Con un codice di 80 caratteri, è necessario uno schermo di 240 caratteri (1920 pixel a 8 pixel per carattere) per visualizzare un three-way-merge (antenato comune, ramo locale e ramo remoto) comodamente su uno schermo.

    
risposta data 15.05.2012 - 18:10
fonte
58

Direi che è anche perché i vecchi terminali erano (per lo più) di dimensioni 80x24 caratteri: Indietro nei giorni dei terminali 80x24 ...

EDIT:

Per rispondere in modo più preciso e approfondito alla domanda, 80 caratteri rappresentano il limite "universalmente accettato" per la larghezza del codice all'interno degli editor perché i formati 80x24 e 80x25 erano le più comuni modalità di schermo nei primi terminali I / O e personal computer ( VT52 - grazie a Sandman4).

Questo limite è ancora valido e IMHO in qualche modo importante per due motivi principali: la geometria di default che molte distribuzioni Linux assegnano alle nuove finestre di terminale generate è ancora 80x24 e molte persone le usano come-è , senza ridimensionamento. Inoltre, i programmatori del kernel, in tempo reale e incorporati lavorano spesso in un ambiente "senza testa" senza alcun gestore di finestre. Anche in questo caso, la risoluzione dello schermo predefinita è spesso 80x24 (o 80x25) e, in queste situazioni, potrebbe persino essere difficile modificare questa impostazione predefinita.

Quindi, se sei un programmatore del kernel, in tempo reale o incorporato, dovresti costringerti a rispettare questo limite, solo per essere un po 'più "amichevole" nei confronti di qualsiasi programmatore che dovrebbe leggere il tuo codice.

    
risposta data 15.05.2012 - 16:29
fonte
46

Sebbene probabilmente non sia il motivo originale del limite di 80 caratteri, un motivo per cui è stato accettato ampiamente è semplicemente leggere l'ergonomia :

  • Se le linee sono troppo corte, il testo diventa difficile da leggere perché devi saltare costantemente da una riga all'altra durante la lettura.
  • Se le linee sono troppo lunghe, il salto di linea diventa troppo difficile perché "perdi la linea" mentre torni all'inizio della riga successiva (questo può essere mitigato avendo una interlinea più grande, ma anche questo spreca spazio).

Questo è ampiamente conosciuto e accettato in tipografia. La raccomandazione standard (per il testo nei libri, ecc.) Consiste nell'utilizzare qualcosa nella regione 40-90 caratteri per riga e idealmente circa 60 (vedi ad esempio Wikipedia , Markus Itkonen: tipografia e leggibilità ).

Se si punta a 60 caratteri per riga, il limite superiore deve ovviamente essere un po 'più alto per contenere l'espressione lunga occasionale (e cose come i marcatori di margini e numeri di linea), quindi avere un limite superiore di 70-80 ha senso.

Questo probabilmente spiega perché il limite di 80 caratteri è stato preso in carico da molti altri sistemi.

    
risposta data 03.01.2014 - 09:26
fonte
23

Una domanda correlata è "perché la colonna 80 è persistita". Anche le risposte su questa pagina sono approssimativamente di quella larghezza. Sono d'accordo con le ragioni storiche per 80 colonne, ma la domanda è perché lo standard è persistito. Direi la leggibilità - per la prosa e il codice. Le nostre menti possono assorbire così tante informazioni in un unico pezzo. Uso ancora l'indicatore di colonna 80 nel mio editor di codice per ricordarmi quando una frase diventa troppo lunga e oscura. Inoltre, mi lascia un sacco di spazio sullo schermo per il browser e le finestre IDE di supporto. Lunga vita a 80 colonne: come guida, non una regola.

    
risposta data 18.05.2012 - 00:48
fonte
11

Un altro limite di lunghezza della linea comune nei giorni dei caratteri a tonalità fissa era di 72 caratteri. Esempi: codice Fortran, posta, notizie.

Una delle ragioni era che le colonne 73-80 di una scheda perforata erano spesso riservate per un numero seriale. Perché un numero di serie? Se lasci cadere un mazzo di carte, puoi raccogliere le carte in qualsiasi ordine, allineare gli angoli in alto a sinistra (che hanno sempre avuto un taglio diagonale) e usare un ordinatore di carte per rimetterle in ordine.

Un altro motivo per il limite di 72 caratteri era che i font comuni erano alti 10 punti e 6 punti (1/12 "). Una pagina A4 o 8.5" wide poteva contenere 72 caratteri in una colonna larga 6 "e avere ancora spazio per margini di oltre un pollice.

    
risposta data 17.05.2012 - 00:35
fonte
7

Personalmente mi attengo a "about column 80" per il mio fine linea perché oltre a ciò si verifica il wrapping o il codice perso quando lo si stampa.

C'è anche un'eredità di schede perforate, ma non penso che le stampanti laser o la carta da 8,5x11 pollici siano state impostate per conformarsi ai limiti delle schede perforate.

    
risposta data 15.05.2012 - 19:29
fonte
4

Scorri i fogli di stampa in formato Lettera o larghezza 15 ".

Erano le stampanti di linea da 80 cps per l'hardcopying di codici o report e in seguito Epson supporta la stampa condensata a 132 cps (codice di escape \ 015 per stampa condensata).

    
risposta data 15.05.2012 - 18:45
fonte
-1

Uno dei motivi per cui le 80 carte colonna possono essere associate al "pugno a mano" che era probabilmente in uso prima delle punzonatrici elettroniche. È uno che ho usato nei primi anni '70 su un sito di computer con frame principale ICL System 4-50. Si doveva dare un pugno a una sezione di tre? pugno coltelli nel carrello allo stesso tempo.

    
risposta data 02.01.2014 - 15:33
fonte

Leggi altre domande sui tag