On Fri, 2006-12-08 at 23:21, Gregg Wonderly wrote:
> On 08/12/06, *Andrew S. Townley* <[EMAIL PROTECTED]
> >     No kidding. Many people still fail to realize that annotations are
> >     really just meta-programming. I think they can be useful at times (take
> >     the way NUnit allows the testcase annotation rather than needing
> >     reflection to determine a test based on the name), but when you have
> >     more annotations than you do source code, you're just asking for
> >     trouble. Aspects are a much cleaner solution to this sort of thing, but
> >     there again, you've a degree of freedom between the code and the aspects
> >     that you don't have with annotations.
> > 
> >     Building a framework "to support SOA" solely around annotations is sheer
> >     madness...
> 
> One of the things about any type of meta-data is that tools can interpret it 
> differently.  I don't think that Java EE has any distinct advantage to offer 
> with it's current model over some other things that I have more desires to 
> use. 
>   But, by switching to a meta data model for the software, they can start to 
> address some of the platform issues because the software that uses 
> annotations 
> can now be treated evolutionary as the platform changes without having to be 
> edited or rewritten entirely.
> 
> It's not a completely finished product either.  XML is being used as 
> meta-programming.  The primary issue for me, is whether the meta-data has a 
> useful set of mappings that are coherent in all usages.  There are some 
> people 
> who are using XML in non-coherent designs just like people construct services 
> in 
> non-coherent ways.  The end result is, of course, CRUD that has to be 
> reworked.

I didn't mean to imply that meta-programming was bad.  Most of the
systems I've built over the years have used it quite a bit, generally
via extensive configuration mechanisms.

My problem with the way it is in both C# and Java is that it's bound
into the code and not separate from it.  This means if you want to
change something, it's most likely going to be a 'recompile, redeploy,
re-test' type of operation vs. a set of documented configuration aspects
with known (and previously tested) side-effects.

But, I agree with you... most decent tools can be used sensibly or not,
but often getting it right takes some time.

ast
-- 
Andrew S. Townley <[EMAIL PROTECTED]>
http://atownley.org

Reply via email to