On Apr 1, 2020, at 11:59, Jonathan Goble <jcgoble3@gmail.com> wrote:

On Wed, Apr 1, 2020 at 2:35 PM Dan Sommers <2QdxY4RzWzUUiLuE@potatochowder.com> wrote:
On Wed, 01 Apr 2020 10:50:29 -0700
Brendan Barnwell <brenbarn@brenbarn.net> wrote:

> ... we must demand that the language itself be renamed to something
> less offensive and more accurate, such as
> ConvenientProgrammingLanguage ...

ITYM convenient_programming_language.  See PEP 8, Naming Conventions,
Method Names and Instance Variables (the language as we know it is an
instance of a convenient programming language).¹

¹ https://www.python.org/dev/peps/pep-0008/#id47

I'm not so sure about that. Is it an instance or a subclass? Seems to me that the language specification would be a base class (maybe an abstract base class) and each implementation would subclass that with appropriate method overrides. In that case, ConvenientProgrammingLanguage would be correct by PEP 8 (or is that CPLEP 8 now?).

I don’t think inheritance is the relationship you want here. Of course you’re right that CConvenientProgrammingLanguage is a class, because every time you run it you are creating an instance of it. But CConvenientProgrammingLanguage isn’t a subclass of ConvenientProgrammingLanguage. It’s not a language, it’s a language implementation—an instantiation of the language. Along with the other instantiations like MicroConvenientProgrammingLanguage, JonvenientProgrammingLanguage, and CoCo. So ConvenientProgrammingLanguage is a metaclass. (And is itself an instance of the metametaclass ProgrammingLanguage—one of the few that can actually represent that relationship, but then everyone agrees that the powerful metaclass semantics are what makes it convenient, right?)

At any rate, metaclasses are spelled the same way as regular classes in CPLEP 8. But maybe that’s too English- (or Dutch-)centric? The fact that we only have two ways to capitalize things is surely just a consequence of the accident that our script has only two classes of letter case. I’m not aware of any human scripts that have three or more classes, but do we really want a language that’s limited to human use only?