Annotations are one of the more ridiculous language syntax styles to emerge. The Java version is particularly ugly. Scala's version is weird too. In general they are mixing a different language syntax in for attributes of methods (or even more ridiculously, classes). I suppose that adding attributes to methods was a missing feature, but I see no reason not to solve it by mixing another syntax into a language. The addition of the <i>throws</i> clause to a method definition is a good example of adding metadata without adding another language into the language.
The article has a nice description of changes to PHP binding in 5.3...
The article has a nice description of changes to PHP binding in 5.3...