C++ Logo

SG14

Advanced search

Subject: Re: [isocpp-lib-ext] std::colony name brainstorming
From: Nathan Myers (ncm_at_[hidden])
Date: 2021-02-11 19:48:35


On 2/11/21 12:20 PM, Ville Voutilainen wrote:
> On Thu, 11 Feb 2021 at 22:16, Ville Voutilainen
> <ville.voutilainen_at_[hidden]> wrote:
>>
>> On Thu, 11 Feb 2021 at 22:06, Tony V E via Lib-Ext
>> <lib-ext_at_[hidden]> wrote:
>>>> A name that satisfies all of the above criteria, not suggested
>>>> yet, is "cote".
>>> barn/pen/coop/...
>>
>> Hive. Not that I really care, but you could describe to me how cote or
>> coop is better. A cote
>> allows random-access insertion and retrieval, a hive does not. And no,
>> I'm not talking about
>> a nest. :P
>
> ..but now that I looked, I have that backwards, I could swear I read
> somewhere that a hive
> is natural and nest is articifial, but it's the other way around.
> Nevertheless, unless cracked
> open by a special operation, a hive isn't random-access either. So the
> difference between
> those and a cote remains.

A hive has cells, but the grubs and the honey in the
cells come from inside the hive. From the outside, it's
just a box. Except it's full of bees. A box of wholly
interchangeable bees that don't live in the cells. If
there is a beekeeper, the combs come in and out, and
have the surface shaved off to drain the honey out of
the cells. The comb slots are like a backplane, except
messier.

Bees live in hives, ants and termites live in colonies.
"Hive" is just "colony" spelled differently. If "colony"
is unsatisfactory, "hive" is almost as; albeit a little
shorter, and with fewer unfortunate secondary associations.

The point of "cote" was that it has specific holes that
(in the case of a dovecote") get one pigeon each. Pigeonholes
are freed up and re-occupied more-or-less at random. The
pigeon keeper goes in and out, so sees the pigeonholes.
The pigeons are not interchangeable: each has a name. But
what pigeonhole they sleep in depends only on when they
arrive and how many got in first.

So, we want a name that implies a collection of places
for elements, but which place an element goes into depends
on history, and the places are reused efficiently. We have
zillions of examples of this semantic from life. Parking
lot spaces, hotel rooms, hat-checks, dovecotes, marina
berths, gates & baggage carrousels in an airport terminal,
gym lockers, bowling-balls in racks, arena seats. When one
lot/shelf/terminal/tier/rack fills, you overflow to the
next one.

So we have lots of them, and lots of names for them.
We are not in a position where only one name will do.
Whatever name we end up with, people will get used to it
very quickly, and soon be hardly able to conceive of there
having once been a choice. At one time we had "baggage",
which Beman hated; we got "traits" instead, which turned
out to be equally good, or maybe better. (Graydon probably
would not have cribbed "baggage" for Rust.)

Some people have already got stuck on "colony" or "hive".
It's not a good look to be stuck on a name that is really
no better than dozens of others. After it has been pulled
into the Standard is the time to get attached.

Nathan Myers


SG14 list run by sg14-owner@lists.isocpp.org

Older Archives on Google Groups