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
