Re: @Override
Arne Vajh??j wrote:
Robert Klemme wrote:
Silvio Bierman wrote:
Using an annotation is, as with
almost all uses of annotations, a poor attempt at making up for the lack
of a proper language feature.
That is nonsense. The mere fact that users can define their own
annotations along with handling these annotations demonstrates that
annotations solve problems which cannot be tackled by changing a
language's syntax. Annotations add *arbitrary* meta data to language
constructs; if all these would have to be handled by a language change
you would need a new Java for every custom library which requires
additional meta data.
True.
There are two types of annotations:
* those acting as a supplement to the language
* those intended for runtime reflection
In many respects and for many purposes annotations obviate the need for
byte-weaving approachs like AspectJ's. Annotations arguably are the most
significant improvement to Java ever.
They make life ridiculously easy compared to not having them. For example,
JUnit4 tests are simpler than JUnit3 and safer because annotations replace
fragile and non-compiler-enforceable spelling conventions for method names.
JPA uses annotations to define object-to-RDBMS correlations. For Android
testing, annotations allow one to create multiple test suites off the same
code base with no recompilation. The topical '@Override' is a significant
assistance.
So many good things have come out of Java's adoption of annotations.
Silvio's opinion flies in the face of the evidence. It's an easy kind of thing
to say - wave your hands about "proper" language features without having to
say what the damage to the language might be or what such features might look
like or whether they're even feasible. It would be a much harder claim to make
if one were to enumerate all the "proper" language features that would be
needed to approximate the functionality of annotations. That exercise might
even force the retraction of the opinion, Gods forfend.
--
Lew
Honi soit qui mal y pense.
http://upload.wikimedia.org/wikipedia/commons/c/cf/Friz.jpg