Am 11.05.2011 13:31, schrieb Richard Quadling:
> On 11 May 2011 07:50, dukeofgaming <dukeofgam...@gmail.com> wrote:
>> It is really troubling to read that statement. Seems there are still some
>> that don't really have a clue of what annotations are, even when the RFC
>> clearly links to them. Annotations ARE NOT documentation; in the case of
>> PHP, documentation is being used as annotations because there is no language
>> implementation, which exists in other languages (Java, .NET) and they are
>> widely used. Also, some use annotations as documentation (e.g. store the
>> class version), but again, annotations ARE NOT documentation. Don't let the
>> "@" notation shared with docblock fool you.
>>
>> Guilherme, I think its easy to assume that people already have some sense of
>> what annotations are, but perhaps the wiki entry could be more educational
>> about it?. The first time I read about annotations it was from this link:
>> http://download.oracle.com/javase/tutorial/java/javaOO/annotations.html;
>> perhaps an intro like that could help to make the case for annotations
>> crystal clear?.
> 
> I'm guessing experience and interpretation is everything here.
> 
> From reading the Oracle page, to me, it seems annotations ARE
> documentation. It just depends upon who or what is reading them.
> 
> The first line of the page ...
> 
> "They have no direct effect on the operation of the code they annotate".
> 
> In other words, annotations are just like comments. At least in terms
> of what I understand the "compiler" does and what the "runtime
> processing" does.
> 

They have no direct affect of the operation of the code they annotate,
but they have affect of the code which runs the annotated code. So
annotations are no comments.

> 
> The use of the @ isn't a fooling (according to Oracle) ... "The use of
> the "@" symbol in both Javadoc comments and in annotations is not
> coincidental—they are related conceptually.".
> 

I think the usage of the @ is historical. Because Java annotations in
the first implementation were DocBlock annotations parsed by XDocklet.
Starting with version 5 of the Java specification, they implemented
Annotations as part of the language.

http://www.devx.com/Java/Article/27235

> 
> What I can't see from the link is _WHY_ annotations can't just be
> docblocks? Annotations and comments don't affect the code. Annotations
> and comments would need to be parsed to read them.
> 
> I understand that caching of the annotation could be an issue. And
> this leads to a gap in my knowledge/understanding. Why does _this_
> script need to know anything about its annotations? Especially as
> "They have no direct effect on the operation of the code they
> annotate". It would seem wasteful to process dead data for no purpose
> in _this_ script. It only seems useful for some sort of external
> process reading the annotation/comment (say a documentor or a tool to
> build code for runtime operation). In those cases, these are one offs
> (ish), so caching would not seem to serve any real benefit here.
> 
> 
> Whilst I think the syntax of the annotation may be worth discussing,
> the annotation can surely only exist in a comment, at least with
> regard to PHP.
> 
> 
> And I'm guessing that the primary use of annotations within PHP would
> be in runtime processing, so is this really about the parsing of
> docblocks.
> 
> I think using PHP code in a docblock (with the appropriate tag ...
> @annotation maybe) would cover the requirements. Possibly. Due to
> phpdocumentor not being updated to handle namespaces yet, annotations
> are also not going to work correctly there.
> 
> 
> Richard.
> 
> 
> 
> 

Why not learning from Java and implement annotations in the way
Guilherme proposed it? I think they had good reasons for the new
implementation. Maybe someone has a link which points to such discussion.

Best regards,
Christian

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to