Modi di andare a capo
di Francesco Sblendorio
Chi utilizza Windows (e chi ha a che fare con chi utilizza Windows) lo sa bene: in un file di testo le righe terminano con due caratteri: CR e LF (rispettivamente ASCII 13 e 10). Tutti gli altri sistemi operativi (per esempio Linux, Mac OS X e qualunque altro UNIX) ne utilizzano solo uno, LF (ASCII 10), quindi per passare da un sistema all’altro, quando l’editor non lo fa automaticamente, occorre una conversione per passare da un tipo di “ritorno a capo” all’altro (un esempio su tutti: il client classico ftp, che prevede i comandi “ASCII” e “BINARY“).
Chi è abbastanza grandicello ricorda che questa caratteristica era presente nel mondo Microsoft già con MS-DOS, ben prima l’avvento di Windows (che ha avuto come fattore di successo la compatibilità col passato, incorporando quindi anche questa caratteristica del formato dei file di testo).
Ma volendo ancora scavare nel passato… perché MS-DOS utilizzava due caratteri per il ritorno a capo anziché uno?
La risposta ce la dà la storia di MS-DOS: la prima versione fu scritta da Tim Paterson, dipendente di Seattle Computer Products. Allora il prodotto si chiamava 86-DOS e fu scritto per un computer con bus S-100 e con il nuovo fiammante processore a 16 bit Intel 8086, lo stesso processore usato dal nascente PC-IBM. La IBM aspettava l’uscita della versione 8086 del CP/M di Digital Research, ma (1) questa versione tardava a venire e (2) gli accordi commerciali saltarono. Paterson sviluppò 86-DOS come “clone di CP/M” e IBM cercava un sistema operativo CP/M-like, così Bill Gates con la sua neonata Microsoft fiutò l’affare, comprò 86-DOS rimarchiandolo come MS-DOS, assunse Paterson e il resto è storia nota.
CP/M utilizza come terminatore di fine riga dei file di testo i due famosi caratteri CR e LF (ASCII 13 e 10), 86-DOS si ispirò a CP/M anche in questo, che entrò a far parte quindi di MS-DOS e quindi con gli anni anche di Windows.
Ma… perché CP/M utilizza CR ed LF? CP/M nasce in un’epoca dove non era scontato avere un terminale comprendente un video: agli albori era più frequente ed economica una telescrivente, praticamente una stampante, che al tempo era una specie di “macchina da scrivere automatica”.
Per andare a capo sulle macchine da scrivere non c’è un tasto RETURN: si tira la leva del ritorno carrello, e il rullo fa scendere il foglio di una riga; poi si spinge il carrello a inizio riga e la testina si posizione al primo carattere della nuova riga. CR (Carriage Return) fa tornare il “carrello” al primo carattere della riga, più LF (Line Feed) che fa avanzare di una riga.
Riferimenti esterni
- Tim Paterson, Storia di MS-DOS
- Rob Landley, Storia di CP/M
Commenti
Posta un commento