Extensiones de archivo de lenguajes de programación que coinciden con códigos de país ISO 3166-1

Fuentes: Programming language file extensions that match an ISO 3166-1 alpha-2 country code

El estándar ISO 3166-1 alpha-2 asigna un código de dos letras a cada país y a varias dependencias territoriales (como ME para Montenegro o EU para la Unión Europea). Resulta que muchas de esas dos letras coinciden con extensiones de archivo usadas por lenguajes de programación, lenguajes de dominio específico o lenguajes de marcado, lo que provoca coincidencias curiosas: el dominio .rs, por ejemplo, pertenece a Serbia pero también es la extensión de Rust; .ru es a la vez Rusia y Ruby; .py une a Paraguay con Python.

El blog Ruby Klover ha recopilado una lista incompleta de estos emparejamientos, organizada en una tabla con el código, la bandera, el lenguaje y el país asociado. Incluye coincidencias como .md para Markdown y Moldavia, .pl para Perl y Polonia, .sc para Scala y Seychelles, .sv para SystemVerilog y El Salvador, .ps para PostScript y Palestina, o .gy para Groovy y Guyana. También aparecen .es (ECMAScript/España), .as (ActionScript/Samoa Americana), .cc (C++/Islas Cocos) y .mk (Makefile/Macedonia del Norte), entre otras.

El artículo explica que estas coincidencias pueden deberse al azar o a decisiones de diseño de los creadores de cada lenguaje, y señala un efecto práctico: cualquier proyecto cuyo repositorio use la extensión de un lenguaje verá cómo su dominio queda asociado al país correspondiente en la mayoría de servicios web. El autor invita a los lectores a proponer más casos que conozca.