No es un invento, inténtalo en tu sistema: Abre el Bloc de Notas, y guarda algo con el nombre «con.txt». La respuesta de Windows será que el nombre de archivo «está reservado para su uso». «CON» no es la única expresión que carga con esa condición. También existen viejas referencias a puertos serie, puertos paralelos, y dispositivos auxiliares que nunca se fueron a ninguna parte. ¿Por qué siguen allí? La respuesta corta es «retrocompatibilidad», pero el youtuber Tom Scott la explora un poco más a fondo en uno de sus últimos vídeos…
Los cambios en cualquier espacio informático son particularmente complicados de procesar. Aún recordamos bien los reclamos de los usuarios cada vez que Facebook modificaba su interfaz, o la resistencia al sistema Ribbon en Office 2007, que básicamente arrojó a la basura años enteros de costumbres y memoria muscular. Otro ejemplo reciente es el de COBOL, y la necesidad de «reclutar» nuevos programadores para mantener mainframes con más de 30 años sobre los hombros.
Encontrar el equilibrio exacto entre novedad y familiaridad es muy difícil, y en más de una ocasión requiere aceptar varios compromisos. Por ejemplo, Windows aún posee elementos que se remontan a los builds 3.x y a su dependencia de MS-DOS, pero hay cosas que son aún más antiguas. El caso más «mediático» (si se lo quiere llamar así) es el del nombre «CON». Cada vez que tratamos de usarlo para guardar un archivo o crear una carpeta, Windows indica que se trata de un «nombre reservado». ¿Por qué?
Tom Scott explica que tanto CON como el resto de los nombres reservados (la lista completa aparece documentada aquí) son referencias que permitían (y todavía permiten) a los usuarios «hablar» con determinados dispositivos, y enviar información a ellos. Sus orígenes exactos nos obligan a viajar a mediados de la década del ’70, época gobernada por CP/M y las limitaciones técnicas de aquellos humildes ordenadores.
Si bien nuestra exploración del tema es un poco más profunda, el vídeo de Tom lo vuelve más visual: Los nombres reservados existen para garantizar retrocompatibilidad, aún cuando las interfaces físicas involucradas están casi extintas (es muy raro encontrar un ordenador con Windows 10 que aún posea un puerto paralelo dedicado).
Tom también hace mención a un caso muy especial, que es el famoso «bug del 29 de febrero de 1900» en Microsoft Excel. El año 1900 no fue bisiesto, sin embargo, cuando Excel salió al mercado por primera vez para Windows en 1987 (dos años antes en Mac), tenía como principal competidor a Lotus 1-2-3… que cargaba con ese bug. La decisión de Microsoft, en nombre de la retrocompatibilidad con planillas 1-2-3, fue reproducir el bug en su software. El «error» sigue allí 33 años después, y es parte de las especificaciones oficiales.
Recuerdo que en los 90 habia un exploit (o como se llame) en el mIRC donde la peticion era algo como /dcc con/con.txt y le colgabas el sistema a quien el hacias la peticion.