Avete mai notato che in Windows c’è il percorso C:\Window\, sul web c’è http://chimerarevo.com/, in Linux, OS X e Android c’è /home/user/ ? Vi siete mai chiesti perché Windows è l’unico che utilizza il backslash “\” per separare i vari percorsi al contrario di tutti gli altri sistemi, i quali utilizzano lo slash “/” (forward slash)?
I software odierni provano automaticamente a correggere l’errato inserimento del tipo di slash, quindi per l’utente finale non fa molta differenza il tipo di slash da usare, ma in alcuni casi però la differenza tra i due tipi è ancora molto importante.
Perché Windows usa il backslash: La Storia
Il perché Windows sia l’unico ad utilizzare un tipo di slash diverso è solo questione di un paio di errori susseguitisi nella storia. Unix ha introdotto il carattere “Slash” o “/”, utilizzato come separatore delle directory, nel 1970. Non c’è un motivo preciso per il quale abbiano scelto proprio questo carattere, ma così è stato.
È difficile oggi da immaginare ma la prima versione di Microsoft DOS, l’MS-DOS 1.0 rilasciato nel 1981, non supportava le directory e la maggior parte delle utility incluse con DOS sono state scritte da IBM utilizzando il carattere “/” come carattere di “switch”.
Potete verificare anche oggi che usando il comando dir / w nel prompt dei comandi di Windows, si può avere una lista di tutti i file presente in una directory, mentre utilizzando il comando dir c:\ si sta richiedendo di visualizzare il contenuto della directory del disco C:\.
I diversi tipi di slash appena visti specificano una determinata opzione oppure un percorso di una directory. A quel tempo, alle persone non interessava che tipo di carattere si stesse utilizzando e soprattutto che quel carattere venisse usato per fini differenti su altri sistemi operativi.
L’MS-DOS 2.0 introduceva il supporto alle directory, ma IBM voleva mantenere la compatibilità con le utility del DOS originario e voleva che gli altri programmi utilizzassero il carattere / come “switch”.
Microsoft però utilizzava già il carattere “/” per altri scopi e quindi non poteva essere riutilizzato e fu dunque scelto il carattere \ o “backslash”, che assomigliava molto alla versione già “occupata”. Oggi Windows potrebbe non essere più legato ad un sistema DOS ma possiamo notare come ancora l’eredità del DOS sia presente in esso, facendo riferimento all’utilizzo del backslash come separatore di percorsi e anche nelle lettere dell’unità di sistema.
Dettagli più approfonditi sulla questione si possono trovare in un post del blog di Microsoft del dipendente Larry Osterman, che spiega in maniera dettagliata i motivi di queste decisioni.
Perché gli altri sistemi non usano il backslash?
Come già detto oggi non ha molta importanza l’utilizzo del backslash, per esempio anche i browser web seguono la convenzione Unix utilizzando il carattere / per gli indirizzi delle pagine Web. Un tipico utente Windows potrebbe essere confuso nel vedere l’utilizzo del backslash \ per i percorsi locali di sistema e invece il carattere / quando si è in una pagina Web.
I siti Web utilizzano la convezione Unix come fanno anche altri protocolli come quelli FTP, anche se provate ad usare un server Web o un server FTP in Windows troverete comunque il carattere slash /. Altri sistemi operativi Unix-based, come Linux, utilizzano solamente il carattere / e non il backslash, anche Mac OS X è tra questi sistemi poiché basato su BSD (variante di un sistema Unix).
Inoltre su Linux sono basati altri sistemi operativi come Android, Chrome OS e Steam OS.
È realmente importante questa differenza?
Gli sviluppatori sanno perfettamente che gli utenti sono confusi su quali siano le reali differenze tra i due tipi di slash, per questo motivo offrono sempre la possibilità di utilizzare entrambi i tipi in qualsiasi situazione, accettando l’utilizzo sia dell’uno che dell’altro. Se provate a digitare http:\\www.chimerarevo.com\ in Google Chrome, Mozilla Firefox o Internet Explorer, il vostro browser vi rimanderà comunque al nostro sito correggendo automaticamente l’indirizzo in http://www.chimerarevo.com/.
Lo stesso processo si verifica se provate a digitare C:/Users/Public/ nell’Esplora Risorse di Windows, infatti il percorso verrà corretto in C:\Users\Public\ portandovi comunque alla cartella corretta.
Gli sviluppatori DOS non erano molto contenti di queste differenze tra slash quindi hanno creato dei sistemi DOS che accettano sia l’una che l’altra soluzione per i percorsi. Purtroppo però questa correzione automatica non funziona ovunque in Windows, infatti se provate a digitare il percorso C:/Users/Public in una finestra di dialogo (vedi figura in basso) e provate a cliccare INVIO, potete vedere un messaggio che riporterà come “NON VALIDO” il percorso digitato.
Stessa situazione si potrebbe avere in alcune applicazioni Web che non sono state programmate per abilitare la conversione e vi mostreranno semplicemente un messaggio di errore. Possiamo infine dirvi che potreste anche dimenticarvi di quale sia l’uso corretto e specifico dei due tipi di slash, ma in alcune occasioni potrebbe tornarvi utile.
Sarebbe sicuramente meglio programmare o avere programmi che gestiscano automaticamente queste differenze, ma Windows ci ha storicamente abituato a problemi di compatibilità, già dagli anni 80.