Fleshgrinder wrote on 28/04/2016 20:20:
On 4/28/2016 8:02 PM, Rowan Collins wrote:
Interesting; do you have a link to where this terminology is explained?
Most of the articles I've seen just refer to "attributes", and the link
you have doesn't really explain that at all, it has namespaces with
"annotation" in the name, but uses the word "attribute" everywhere in
the actual text.
Yes, I provided many in the initial message, the Wikipedia link [1]
explains it in detail and you may use it as reference for all the other
questions you have here, since it answers all of them.
I meant specifically in the context of C#/.net. You claimed a very
specific usage within that framework, but all the articles I can find
refer to them consistently as "attributes" in that context. Event the
Wikipedia article:
> In the C# programming language, attributes are [...] equivalent to
annotations in Java.
That's pretty clear to me that the two languages call the same concept
different things.
The word construct "attribute specification" is completely right, it
specifies which attribute should be applied to the data.
But it completely disagrees with your earlier claim that "The result of
an annotation is an attribute." There is absolutely no usage of
"annotation" in that page; there is just a description of syntax for
applying "attributes".
Method modifiers are a more specialized form of attributes and it makes
sense to refer to them as such because it is less ambiguous than the
word attributes.
It may make sense, but can you point me to any C#/.net documentation
which describes that relationship? I'm talking about actual usage here,
not theoretical definitions.
As I said in the initial message, using the term /attribute/ is pretty
much never wrong because the term /attribute/ is so generic. :P
What kind of answer is that? The page clearly describes a Perl feature
very similar to the feature proposed for PHP, and it very clearly calls
it "attributes". If it's "never wrong" for Perl, surely it's "never
wrong" for PHP either?
Actually I checked the dictionaries for the actual definition. This is
also how I documented it in the initial message. All additional language
links were only used to proof that Java is not the only language that
uses the term and that the term is always used in the context.
I have already pointed out that 3 of those links do not back up your
claim. You appear to dispute this, but I'm increasingly unclear on what
grounds.
You are perfectly entitled to the opinion that C#, Perl, and Rust are
*wrong* in their usage of the term, but they absolutely use that term in
the same way as Hack, not in the way you wish to define it.
That is why there is an empty line between the pages that are actually
documenting the usage of an annotation functionality and the pages that
are using the term annotation correctly in natural language to describe
something. Again, it is about language and terminology.
OK, I'm completely lost now. I thought your argument was that the
feature should under no circumstances be called "attributes", because
that is too general a term, and that it should instead be called
"annotations", because that is the only correct term. Then you link to a
page which demonstrates *annotations* being used as a general term, and
*attributes* being used for the feature being proposed.
Me neither, I am saying that the term is too generic and that we should
use the term annotation in order to make it unique, easily
understandable, non-ambiguous in terms of natural language and not in
terms of what others use or do.
Except that the Rust example demonstrates that "annotation" can be used
just as generically and ambiguously as "attribute". There really is very
little to choose between the two terms.
Regards,
--
Rowan Collins
[IMSoP]
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php