Class & interface terminology

forax at univ-mlv.fr forax at univ-mlv.fr
Fri May 8 19:59:31 UTC 2020


> De: "John Rose" <john.r.rose at oracle.com>
> À: "Remi Forax" <forax at univ-mlv.fr>
> Cc: "daniel smith" <daniel.smith at oracle.com>, "amber-spec-experts"
> <amber-spec-experts at openjdk.java.net>
> Envoyé: Vendredi 8 Mai 2020 02:15:44
> Objet: Re: Class & interface terminology

> On May 7, 2020, at 3:07 PM, [ mailto:forax at univ-mlv.fr | forax at univ-mlv.fr ]
> wrote:

>> No, i disagree about to things
>> - trying to tilt each features to be either an interface or an class is not
>> appropriate

> I buy Dan’s argument that since the JLS uses this bifurcation,
> it is legitimate to extract more benefit from it in this way.

> After all, every type-declaring construct is covered under one
> or the other heading (chapter 8 or chapter 9) in the JLS.

>> - use classes or interfaces as a kind of composed word with the same meaning as
>> "declared type”.

> As I just said in my previous note, this composed word isn’t
> perfect but it is a great improvement over “type”, and I don’t
> want a hypothetical best (as yet undiscovered) to be the enemy
> of an actual better.

> If we can agree on this composed word, it will be progress.
> And I think it will sharpen any future discussion of a better
> umbrella word. We are sure to have such a discussion if/when
> we introduce templates and/or specializations, which are
> like more-concrete, less-erased, less-parametric versions
> of generics and their types.

I'm 100% to have a spec more clear, using annotation instead of annotation type make the spec more clear, using annotation interface, enum class, or record class instead of annotation, enum and record is in my opinion a regression because it highlights a property of the construct which is only a part of what the construct is and thus doesn't help to understand what the construct is. 

I'm not against replacing "type" as a generic term for all the construct. 
You're using "type-declaring construct", and i think it's a better term that "class and/or interface" because it convey the fact that this is an union of the different constructs. 
class and interface is ambiguous because it makes the terms "class" and "interface" both a construct and a subset of the constructs. 

Usually, it's better to avoid compound words in technical writing, so there is maybe a better term like type-construct or typeconstruct like you have cellphone and not cell phone. 

> — John

Rémi 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/amber-spec-experts/attachments/20200508/7e8d42d4/attachment-0001.htm>


More information about the amber-spec-experts mailing list