Add the Mercury language to linguist by PaulBone · Pull Request #748 · github-linguist/linguist

3 min read Original article ↗

(tl;dr of the below: wtf github)

I'd like to weigh in that Limbo has used the .m extension since the mid 1990's. While it's unlikely that there are large amounts of Limbo code on Github, there's really no way to know with how terrible the source code language detection and searching is in general on the service (and I understand that Linguist is at fault, and that this issue is a step toward fixing it). 😦 Amusingly, I know of many Limbo projects on Google Code and Bitbucket, though.

For those reading this (needlessly) way-too-long PR and who are unfamiliar with Limbo, Limbo was written for the Inferno operating system which was designed by the same people we know and love from UNIX and C lore and seems to have heavily inspired Go (which is currently extremely fashionable). In fact, the document describing the language was written by no other than the esteemed Dennis M. Ritchie (may he rest in peace). http://www.vitanuova.com/inferno/papers/limbo.html

The fact this PR has been open for 5 months (for something with such a deceptively trivial title), with such facepalm inducing comments as it's managed to garner, is a testament to just how much Github focuses on the trendy languages, ignoring the fact that there are dozens of languages that are in wide use which they marginalize because the cool kids haven't ever even heard of them. Telling people to choose a different extension for code that has been around far longer than Github itself, just because a popular language also uses it, is pure hubris.

I hate ranting in comments, but really, I find the position against this PR totally unpalatable and an example of the inherent flaws in current software development. Marginalizing things you don't know is traditionally a sign that you are too closed-minded to even use what you do know effectively. I would hope that a site like Github would at least make a small attempt to encourage people to expand their horizons and accommodate programmers of all sorts. Instead, it appears that it's no better than the rest of the "cool kids", and this saddens me a bit.

Basically, Github needs to be accepting of programmers of all stripes, or they are destined to be irrelevant (or at least doing lots of scrambling) once the trendy kids move on from the trendy things they're doing and the currently-popular languages start falling out of style with a reversion to a previous status quo. Github needs to accept that there is a vast wealth of code out there which predates it and which will easily postdate it. Not just accept it, embrace it. Telling people with code that's 20 years old that "you need to pick a different [extension]", as @arfon did above, is the exact opposite of what a healthy code repository steward should be doing.

There's an old saying that you can catch more flies with honey than you can with vinegar. I'm hoping that Github isn't going to try to use carrion to see if that's even more effective.