Si usaste el intérprete de comandos de Windows o usaste MS-DOS seguro que tienes claro que al escribir una ruta en DOS se usaban las barras invertidas o «\». Un ejemplo sería «C:\Users\JaviPas\Downloads\ejemplo.png».
Lo curioso es que Microsoft eligiera ese carácter para ir indicando la ruta hacia el fichero. Teniendo en cuenta que los propios desarrolladores de Microsoft querían usar la barra normal («/») que se usaba en los sistemas UNIX, ¿por qué eligieron la invertida?.
Todo empezó con DOS 1.0, la primera versión del sistema operativo que Microsoft preparó para IBM. En aquel momento solo se daba soporte a discos flexibles, y curiosamente muchas de las utilidades incluidas con DOS habían sido desarrolladas por IBM, que usaba el carácter «/» como «interruptor» o «modificador» de comando.
Así, si alguien quería añadir un parámetro a un comando como DIR, lo hacía con esa barra normal. Para obtener la ayuda de un comando, por ejemplo, uno escribía (y sigue escribiendo) «DIR /?». Ese mismo modificador se usaba también en otros sistemas operativos de la época como los DEC.
En los sistemas UNIX el modificador no era la barra, sino el guión («por ejemplo, «ls -la»), pero cuando IBM diseñó el funcionamiento de sus comandos no tuvo en cuenta el formato usado por esos sistemas UNIX.
El problema llegó cuando hubo que soportar directorios, algo que ni siquiera estaba contemplado en DOS 1.0. Con su segunda versión, DOS 2.0, ocurrió que el desarrollo tenía que alinearse con el PC/XT de IBM, que contaba con un disco duro de 10 MB.
Eso planteaba una oportunidad para los desarrolladores de Microsoft, que tenían la oportunidad de añadir soporte para APIs de sistemas de ficheros modernos y también soporte para rutas jerárquicas.
Ahí fue cuando se encontraron con el problema, porque muchos de los desarrolladores de DOS usaban máquinas Xenix (el UNIX de Microsoft) para su trabajo y para la gestión del correo electrónico.
Estaban por tanto muy acostumbrados a utilizar la barra normal para esas rutas jerárquicas que sí estaban soportadas en sistemas UNIX desde hacía años, así que intentaron aplicarlas a DOS 2.0 a través de la barra normal («/»), pero no pudieron.
¿Por qué? Pues porque esa barra normal ya estaba utilizada y se usaba como el citado modificador. Se pensó en usar el punto («.») que por ejemplo se usaba en sistemas DEC, pero ese carácter se usaba para separar nombres de fichero de sus extensiones. Así pues, acabaron eligiendo la barra invertida («\») que después de todo era parecida a la barra normal.
Así fue como ese carácter se convirtió en el utilizado por esa versión de DOS y después se aplicaría al resto de versiones, llegando también a heredarse en todas las versiones de Windows, incluida la versión actual, Windows 10.
Aún así, en Microsoft los desarrolladores hicieron trampa, porque aunque la notación oficial hace uso de la barra invertida, permitieron que se usase la notación UNIX con la barra normal para indicar rutas de fichero. Puedes probarlo en una consola de comandos o en el propio explorador de archivos: da igual que escribáis «C:\Users\JaviPas\Downloads\ejemplo.png» o «C:/Users/JaviPas/Downloads/ejemplo.png», y el sistema operativo convierte las barras normales a invertidas.
De hecho, apuntaba finalmente Osterman, también llegó a ser posible usar el modificador de Unix en el intérprete de comandos de Windows: si añadíamos la opción «SWITCHAR=» podíamos establecer si queremos elegir el carácter oficial («/») o el modificador de Unix («-«).