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?
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?
Risposte:
Puoi ringraziare la scheda perforata IBM per questo limite - aveva 80 colonne:
Come Oded accennato, questo standard di codifica comune è il risultato della IBM 1928 80 colonne formato schede perforate , dal momento che molti standard di codifica risalgono ai tempi in cui i programmi sono stati scritti su schede perforate, una scheda / riga alla volta, e anche la transizione su schermi più grandi non ha alterato il fatto che il codice diventa più difficile da leggere più diventa largo.
Dalla pagina di Wikipedia su schede perforate :
Impatto culturale
- Un'eredità del formato di schede perforate a 80 colonne è che una visualizzazione di 80 caratteri per riga era una scelta comune nella progettazione di terminali basati sui caratteri. A partire da novembre 2011 alcune impostazioni predefinite dell'interfaccia dei caratteri, come la larghezza della finestra del prompt dei comandi in Microsoft Windows, rimangono impostate su 80 colonne e alcuni formati di file, come FITS, utilizzano ancora immagini di carte di 80 caratteri.
Ora la domanda è: perché IBM ha scelto 80 carte a colonna nel 1928, quando Herman Hollerith aveva precedentemente usato carte a 24 e 45 colonne ?
Anche se non riesco a trovare una risposta definitiva, sospetto che la scelta si basasse sul numero tipico di caratteri per riga di macchine da scrivere dell'epoca.
La maggior parte delle macchine da scrivere storiche che ho visto aveva una larghezza del rullo di circa 9 pollici, che corrisponde alla standardizzazione dei formati carta a circa 8 "-8,5" di larghezza (vedere Perché il formato carta standard negli Stati Uniti 8 ½ "x 11 "? and the History of ISO216 A series standard di carta ).
Aggiungi un tipico passo della macchina da scrivere di 10-12 caratteri per pollice e ciò porterebbe a documenti con larghezze comprese 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 contro fori rotondi più grandi) e lunghezza della linea, mantenendo le stesse dimensioni della carta.
Per inciso, non ovunque si specifica una larghezza di 80 caratteri nei propri standard di codifica. Dove lavoro ho un limite di 132 caratteri, che corrisponde alla larghezza delle tipiche stampanti wide line di un tempo, una stampa A4 orizzontale a 12 pt e la larghezza tipica della linea rimanente in una finestra dell'editor di Eclipse (ingrandita su uno schermo 1920x1200) dopo Esplora pacchetti e Le viste di struttura sono prese in considerazione.
Anche così, preferisco ancora un codice di 80 caratteri in quanto semplifica il confronto di tre revisioni di un file fianco a fianco senza scorrere lateralmente (sempre errato) o avvolgere le linee (che distruggono la formattazione del codice). Con un codice largo 80 caratteri, è necessario solo uno schermo largo 240 caratteri (1920 pixel a 8 pixel per carattere) per vedere una fusione a tre vie completa (antenato comune, ramo locale e ramo remoto) comodamente su uno schermo.
Direi che è anche perché i vecchi terminali avevano (principalmente) caratteri 80x24: Ai tempi dei terminali 80x24 ...
MODIFICARE:
Per rispondere in modo più preciso e approfondito alla domanda, 80 caratteri è l'attuale limite "universalmente accettato" alla larghezza del codice all'interno degli editor perché i formati 80x24 e 80x25 erano le modalità schermo più comuni nei primi terminali I / O e nei personal computer ( VT52 - grazie a Sandman4).
Questo limite è ancora valido e in qualche modo importante IMHO per due motivi principali: la geometria predefinita che molte distribuzioni Linux assegnano alle finestre dei terminali appena generate è ancora 80x24 e molte persone le usano così come sono , senza ridimensionare. Inoltre, i programmatori kernel, real-time e embedded spesso lavorano in un ambiente "senza testa" senza alcun gestore di finestre. Ancora una volta, la risoluzione dello schermo predefinita è spesso 80x24 (o 80x25) e, in queste situazioni, potrebbe anche essere difficile modificare questa impostazione predefinita.
Quindi se sei un programmatore kernel, in tempo reale o incorporato dovresti forzarti a rispettare questo limite, solo per essere un po 'più "amichevole" nei confronti di qualsiasi programmatore che dovrebbe leggere il tuo codice.
Sebbene probabilmente non sia il motivo originale del limite di 80 caratteri, un motivo per cui è stato ampiamente accettato è semplicemente la lettura dell'ergonomia :
Questo è ampiamente noto e accettato nella tipografia. La raccomandazione standard (per il testo nei libri, ecc.) È di usare qualcosa nella regione di 40-90 caratteri per riga e idealmente circa 60 (vedi ad esempio Wikipedia , Markus Itkonen: tipografia e leggibilità ).
Se miri a 60 caratteri per riga, il tuo limite superiore deve ovviamente essere un po 'più alto per accogliere l'espressione lunga occasionale (e cose come marcatori di margini e numeri di riga), quindi avere un limite superiore di 70-80 ha senso.
Questo probabilmente spiega perché il limite di 80 caratteri è stato assunto da molti altri sistemi.
Una domanda correlata è "perché persistono 80 colonne". Anche le risposte in questa pagina sono approssimativamente quella larghezza. Concordo con le ragioni storiche di 80 colonne, ma la domanda è perché lo standard è persistito. Direi leggibilità - per prosa e codice. Le nostre menti possono assorbire così tante informazioni in un solo pezzo. Uso ancora il marcatore 80 colonne nel mio editor di codice per ricordarmi quando un'affermazione diventa troppo lunga e oscura. Mi lascia anche un sacco di spazio sullo schermo per il browser e le finestre IDE di supporto. Lunga vita a 80 colonne - come guida non di regola.
Un altro limite di lunghezza della linea comune nei giorni dei caratteri a passo fisso era di 72 caratteri. Esempi: codice Fortran, posta, notizie.
Uno dei motivi era che le colonne 73-80 di una scheda perforata erano spesso riservate a un numero di serie. Perché un numero seriale? Se hai lasciato 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 una macchina di smistamento delle carte per riportarle in ordine.
Un altro motivo del limite di 72 caratteri era che i caratteri comuni erano alti 10 punti e larghi 6 punti (1/12 "). Una pagina A4 o 8,5" larga poteva contenere 72 caratteri in una colonna larga 6 "e avere ancora spazio per i margini di oltre un pollice.
Mi attengo personalmente a "circa la colonna 80" per la mia fine della riga perché oltre a ciò provoca il wrapping o la perdita del codice quando lo si stampa.
C'è anche l'eredità delle schede perforate, ma non credo che le stampanti laser o la carta 8,5x11 pollici siano state impostate per conformarsi ai limiti delle schede perforate.
Scorri i fogli delle stampanti in formato Lettere o largo 15 ".
Erano le stampanti a linea da 80 cps per la copia cartacea di codici o rapporti, e in seguito Epson supporta la stampa condensata a 132 cps (codice di escape \ 015 per la stampa condensata).
Uno dei motivi delle 80 carte a colonna potrebbe essere associato al "punzone a mano" che probabilmente era in uso prima delle punzonatrici per schede elettroniche. È uno che ho usato nei primi anni '70 in un sito di computer con frame principale ICL System 4-50. Uno ha dovuto dare un pugno a una sezione di tre? pugno coltelli nel carrello allo stesso tempo.