This article is more than 1 year old

Realizing this is getting out of hand, Coq mulls new name for programming language

Community to think outside the pants

After three decades, Coq, a theorem-proving programming language developed by researchers in France, is being fitted for a new name because it has become impossible to ignore that it sounds like bawdy English slang.

Once referred to as CoC, short for Calculus of Constructions, the programming language became Coq when work on version 5 began in 1989.

The name – according to software engineer Théo Zimmermann's initial entry to the Coq GitHub wiki on April 6 – is a reference to the French word for "rooster," to the Calculus of Constructions, and to the contributions of Thierry Coquand, one of the creators of the language.

Coq also happens to sound like "cock," which while it means both "a male rooster" and "to tilt," can be used informally to refer to the male anatomy. And for some people, that deters community participation.

"This similarity has already led to some women turning away from Coq and others getting harassed when they said they were working on Coq," the project wiki, last updated on Friday, explains. "It also makes some English conversations about Coq with lay persons simply more difficult."

Tech terminology changes have roiled online communities for the past few years as efforts to make computer science and other fields more welcoming to a more diverse set of people have led to the deprecation and removal of terms that carry cultural baggage like "master," "slave," "blacklist," and "whitelist."

This has been particularly evident in volunteer-based open source communities, where the need to formalize governance through codes of conduct has met with frequent resistance among people who resent the imposition of rules on a sphere where they previously acted without constraint.

The Coq community went through this itself in 2017 and 2018 when there was some debate about the need for a code of conduct – confusingly abbreviated a CoC in some discussion threads.

Ribald usage of Coq isn't exactly new. Its community has been aware of the pun potential for years. But with so many projects trying to make themselves more welcoming to new contributors, the programming language has finally decided to take a serious look at removing the barrier-to-entry that its name presents.

Members of the Coq community have undertaken the thankless job of evaluating the dozens of suggested new names and, after more than two months of discussion and wiki updates, they've already rejected many for obvious failings.

For example, "Gallus," the Latin word for "rooster" has been discarded because, again, it sounds like a word for a part of the male anatomy.

Then there's "coqi," where the added "i" stands for induction, a mathematical proof technique. Unfortunately, "coqi," it sounds like "коки," evoking Russian slang for another male anatomical feature.

Why not "Cocon," the French word for "cocoon"? Well, "con" isn't quite polite in French as it's slang for a part of the female anatomy. The project wiki notes that this is likely to lead to more jokes, which is the problem that prompted the whole renaming effort.

How about "Bando," Portuguese for a group of roosters? Er, no. Another male anatomy reference in French slang.

But there are some more promising proposals. One possible solution involves extending "Coq" to "Coquand," since the language's name is already derived at least in part from one of its main creators. There's precedent for homage-based branding with languages like Ada, Pascal, and Haskell. It is unclear how Coq's other contributors might feel about this.

Naming is hard. No pun intended. ®

More about


Send us news

Other stories you might like