Programming language file extensions that match ISO 3166-1 alpha-2 country codes

https://www.bruh.ltd/blog/programming-language-file-extensions-that-match-an-iso-3166-1-alpha-2-country-code/

Comments

weinzierlJul 24, 2026, 11:35 PM
Back in the day pl was a real problem.

It was and is the conventional extension for the Perl programming language, and Perl was most popular for server side (CGI) scripts for some time.

At same time the idea that webserver and user agent should negotiate the most suitable form of content was all the rage. Little of that survived (compression algorithm) but it used to be used for language as well.

Apache had the convention to use the two letter language code as file extension to encode the language. For example it shipped with collection of error messages in many languages, e.g. 404.html.pl.

Since this conflicted with Perl CGI scripts, Perl got .plx for Perl Executable in Apache and it was proposed as the official Perl extension, but did not stick.

inigyouJul 24, 2026, 2:09 PM
Isn't ruby .RB?

And why have I not seen loads an loads of .py domains for python? Paraguay is a stable enough country for this purpose. Do they limit domain names to residents?

ValdikSSJul 24, 2026, 3:08 PM
>Registration restrictions: Second-level registrations prohibited; must have a contact in Paraguay; subdomains have various restrictions; all applications subject to approval by registry

>Structure: Registrations are at third level beneath second-level labels

https://en.wikipedia.org/wiki/.py

throw1234567891Jul 24, 2026, 10:09 PM
Maybe they do DNS in an Excel sheet?
8n4vidtmkvmkJul 26, 2026, 7:16 AM
Maybe they just want to use their country tld for things specific to their country instead of letting some shmucks scoop all the domains for useless junk?
bdcravensJul 24, 2026, 11:09 PM
Ruby is .rb, but .ru is affiliated with Ruby via rack (config.ru, where "ru" stands for "rack up")
bchJul 25, 2026, 12:32 AM
.tk[0] (e.g. a component of a Tcl/Tk[1] (or perhaps Perl/Tk, or Python/Tkinter) belongs to Tokelau[2].

[0] https://en.wikipedia.org/wiki/.tk

[1] https://en.wikipedia.org/wiki/Tk_(software)

[2] https://en.wikipedia.org/wiki/Tokelau

internet_pointsJul 24, 2026, 1:49 PM
Try also

    wget https://iso639-3.sil.org/sites/iso639-3/files/downloads/iso-639-3.tab
    grep -xFf <(grep -o ^... iso-639-3.tab) /usr/share/dict/british-english 
You can make whole English sentences out of ISO 639-3 language codes:

    woo yes, any fun car has the big dry cat, and thy ads are zen too; bye!
using the codes of Manombai Nyankpa Anyin Fulniô Galibi_Carib Haisla Chitwania_Tharu Biangai Darai Catalan Ansus Tha Adamorobe_Sign_Language Western_Arrarnta Zenaga Xicotepec_De_Juárez_Totonac Pouye
yreadJul 26, 2026, 4:06 PM
.cs is missing (for Czechoslovakia). Anecdotally, it also seems that c# is more popular in Czech Republic than in neighboring countries. Also quite some people from the MS C# team from there
yeputonsJul 24, 2026, 1:04 PM
I thought Ruby uses .rb (not .ru), and Scala uses .scala (not .sc).
hocuspocusJul 24, 2026, 1:38 PM
In Scala, .sc is used for worksheets and inconsistently for scripting, see https://scala-cli.virtuslab.org/scripting for instance.
b3ornJul 24, 2026, 1:09 PM
Yeah, should be .rb for Ruby. Also .mm isn't Objective-C, but Objective-C++.
cachiusJul 24, 2026, 1:29 PM
I love random associations between different concepts! And that the page title becomes 'Michaelsoft Teams' when inactive <3
ahy1Jul 25, 2026, 7:25 AM
Which are some interesting programs written in the Markdown programming language?
echoangleJul 25, 2026, 10:09 AM
I think according to the spec markdown can contain any JS program you want (inside raw html).
andy_parheliaJul 24, 2026, 2:24 PM
.sh is Saint Helena? I always assumed it was just "shell". Are there any file extensions on the list that are technically country codes but nobody actually uses them for the country?
WorldMakerJul 24, 2026, 4:54 PM
All two letter TLDs are some country's code. .tv (the oldest and longest example of a popular country code used by businesses) is Tuvalu but Tuvalu makes a nice revenue in all the television domains so they are mostly happy with the arrangement. It amuses me how much it bugs some of my friends when I ask what they are watching today on "Twitch dot Tuvalu".

A more controversial example is .io for the Chagos Islands which was assigned .io because at various times it has been referred to by its colonialist name the British Indian Ocean Territory. As a place it is full of ugly history including the British forcefully exiling big parts of the native population to help the US build a military base there. The registrar in charge of .io is a British company and the money has almost never benefited the natives or residents of the Chagos Islands. But it became the "hip" tech company TLD because it looks like input/output. There have been multiple awareness campaigns trying to get tech companies to offset this colonial bias in internet infrastructure with donations to useful charities.

cutterl6Jul 24, 2026, 10:08 PM
Since Europeans were first to discover and settle on the islands, wouldn't they have a greater claim to "indigenous" status than later ethnic groups? I genuinely don't understand, having had a quick read of the history, how your narrative of "colonialism" (in the pejorative) fits the actual timeline.
embedding-shapeJul 24, 2026, 10:18 PM
https://en.wikipedia.org/wiki/Chagossians

> The Chagossians are a mix of African, South Asian, and Malay descent. The French brought some to the Chagos Islands as slaves from Mauritius in 1776. Others arrived as fishermen, farmers, and coconut plantation workers during the 19th century. Under international law, they are the indigenous peoples of the Chagos archipelago, as they are descended from the earliest human settlers of the islands.

cutterl6Jul 24, 2026, 10:29 PM
How are they descended from the earliest settlers if European ancestry is not listed? I read the same Wiki article but only just picked up on this now. That these non-European groups were slaves and (much later) foreign workers only further cements the status of the Europeans as the original settlers of these islands.
embedding-shapeJul 25, 2026, 10:37 AM
Basically European settlers were a small group of people, who took with them a huge amount of people to work as slaves. Eventually, the small group of Europeans left, but the slaves were still there, turned workers and into the population who lived there.

Eventually though, the UK government came back again, and forcefully removed these people who weren't natives before, but essentially because of forced re-population by colonizers became the natives. Now they want access to the land they were forcefully migrated to, after being removed from it.

kevincoxJul 25, 2026, 3:48 PM
.eu is an exception as it is for the European Union but they don't consider themselves a country.
yencabulatorJul 25, 2026, 7:09 PM
While they're commonly called "country codes", being a country is not a requirement for having one.

Consider .uk vs .gb

.aq for Antarctica

.ax is part of Finland (.fi)

and so on.

https://en.wikipedia.org/wiki/Dependent_territory

https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2

yjftsjthsd-hJul 24, 2026, 11:57 PM
> Are there any file extensions on the list that are technically country codes but nobody actually uses them for the country?

Do we count .su?

apothegmJul 25, 2026, 1:34 PM
IIRC in the past they’ve shut down some TLDs for now-defunct former countries.
zabzonkJul 24, 2026, 2:11 PM
Bah, people who use .CC or .cc for C++ files deserve to be beaten about the head with a baseball bat. It's not clever.
8n4vidtmkvmkJul 26, 2026, 7:23 AM
You want them to use .c++? Or .cpp?
z500Jul 24, 2026, 4:32 PM
On the flip side, .hpp always makes me chuckle. What is that, Header++?
bogdanoff_2Jul 24, 2026, 10:27 PM
Well... Yes. If you start including templates in it it definitely is
jl6Jul 24, 2026, 1:48 PM
We must prepare for the possibility of a malicious secession of Exeter City, likely with Chris Martin as president.