La casa delle Finestre ha cambiato un po’ di cose dentro il nuovo Notepad, l’applicativo per la scrittura più sempliciotto che ci sia, fornito di serie con tutti i dispositivi Windows finora prodotti, quindi a partire dal 1985. La cosa più significativa? La compatibilità con gli a capo di macOS e Linux.
Facciamo un passo indietro. Per lungo tempo ci sono stati tre grandissimi problemi nella gestione dei documenti di testo tra mondi diversi. Vediamoli.
Il primo, cosiddetto “little endian, big endian”, aveva a che fare con il modo con il quale viene fatto l’ordinamento dei valori da sinistra verso destra o da destra verso sinistra? Ovviamente, quel che si paga è l’incompatibilità sostanziale nel caso le scelte del “finire con le piccole” cifre o del “finire con le grandi” cifre:; l’espressione “big endian, little endian” e anche “middle endian” viene dal romanzo I viaggi di Gulliver di Jonathan Switf.
Un esempio per capire è dato dal modo con il quale scriviamo le date in cifre: la data italiana ed europea gg/mm/aaaa è little-endian; la data giapponese e Iso 8601 aaaa/mm/gg è big-endian; la data come la scrivono gli Usa, mm/gg/aaaa, è middle-endian.
Problema nato tra Intel, Digital da una parte e Motorola, IBM e Sun dall’altra. Problema sostanzialmente di trasferimento dei dati (e quindi non direttamente imputabile ad Apple e Microsoft, ma comune nello scambio delle reti negli anni Ottanta e Novanta) finalmente risolto.
Numero due: il set di codifica del testo. ASCII ma in quale variante? Fino all’arrivo di Unicode (che è ancora un po’ complicato da gestire perché ha alcune varianti) le codifiche erano differenti. Tra ASCII base e le sue estensioni, ne facevano le spese le lettere accentate o con segni diacritici. Ecco che, aprendo su Mac un documento Word fatto su una vecchia versione di Windows magari localizzata in una versione differente da quella statunitense o della lingua del Mac, venivano fuori i diabolici simbolini neri con il punto interrogativo al centro, indice del fatto che il computer non sapesse che lettera, cifra o segno di interpunzione metterci e ricorreva a un carattere che non vuol dire nulla per segnalare visivamente il problema all’utente.
Infine, il terzo grande problema: andare a capo, cioè la End of Line, indicata anche come EOL (che è una cosa diversa dalla End of File, EOF, cioè l’indicazione che il documento termina). Perché un problema la EOL? Perché i computer per capire che dentro i documenti di testo si va a capo occorre dare un comando specifico. Che nel mondo Apple sino a Mac OS 9 era Invio, cioè ritorno del carrello: in inglese “Carriage Return”, indicato in tre modi diversi ma equivalenti: CR, \r, 0x0d. Per Unix/Linux era “Line Feed”, cioè LF, \n, 0x0a. La differenza è che per le macchine da scrivere elettriche e per le telescriventi avviare una nuova linea richiede entrambe le azioni: spostare la testina di scrittura a sinistra (carriage return) e avanzare di una riga il foglio (line feed).
E per Windows? Invece è sempre stato il mix dei due, religiosamente in questo ordine: CR-LF, ovvero 0d0a, \r\n. In pratica, un gran casino che è solo peggiorato quando Mac è “migrato” con Mac OS X e poi macOS allo standard Unix, cioè “Line Feed”, cioè LF, \n, 0x0a. Standard che ha però un accorgimento a livello di sistema operativo per cui è in grado di riconoscere i vecchi documenti e aprirli in maniera corretta, traducendolo. Windows no.
Qui le cose sono andate infatti avanti per decenni. Mentre infatti Word e gli altri programmi di “alto livello” sia di Microsoft che di terze parti (da Adobe in là) risolvevano il problema a un altro livello di astrazione e utilizzavano anche Unicode (che uniforma il comando e la sequenza di escape per ottenerlo anche manualmente), l’umile Notepad rimaneva indietro soprattutto per i noti problemi di retrocompatibilità: assicurare a quei programmatori e autori di siti web che “fanno tutto con Blocco Note” la possibilità di aprire 33 anni di documenti di testo.
Fino ad ora è andata così, ma da adesso la festa è finita.
Adesso infatti Microsoft, con un colpo di coda inatteso, ha aggiornato Notepad nella ultima Insider Build di Windows 10 e, anziché un muro di testo senza più gli a capo, ora i documenti di testo diventano così come erano stati immaginati da chi li ha scritti e strutturati.
La cosa finisce però qui, perché Notepad salva sempre nel formato Windows e non c’è verso di modificarne il comportamento per ottenere il salvataggio dei documenti di testo semplice solo ed esclusivamente con gli a capo Windows-style (anche quelli originariamente creati nel mondo Unix ma poi aperti e modificati con Notepad). Cosa questa che è in parte un (piccolo) problema perché continua a non permettere di utilizzare Notepad come strumento per editare ad esempio gli script di sistema (piccoli documenti di testo) magari su un server remoto che gira sotto Unix o Linux. Ma sono dettagli rispetto al grande balzo in avanti che è stato fatto. Festeggiamo?