From: Alexandru Popescu Date: 2005-10-21T08:32:36+09:00 Subject: Re: Cut-based AOP #: Trans changed the world a bit at a time by saying on 10/21/2005 1:16 AM :# > Alexandru Popescu wrote: >> Most probably my comments are missinterpretted. I am not trying to argue the value behind the RCR. >> Neither I contradict it's power. I am just trying to point that it is missing important features. >> Once we agree on this, the discussion may proove fruitful. Otherwise, there is no reason to continue it. > > I have already agreed. We are not promising the world. Like I said we > focused on most common potential uses. > >> I surely would like to write my own one. As said I am not ruby expert, and when time back I was >> asking for the community help (and should I mention that I asked your personal help?) on this matter >> I got some form of refusal in the form: you can do this trick and that trick and you will have >> something that is AOP. No, it is not; but I can go on with my life :-). > > Alexandru, we are busy too. And we have our own ideas too. If you > really want to do this, then okay. I am not against helping. But I have > a lot on my plate and must squeeze in. Also if you want to manipulate > core, I'm not really the goto man, I code Ruby. Peter's the C expert. I > understand what you are saying, I'm not trying discourage you, but I'm > not a big believer in the Aspect/J-kind of design. It's heavy > "top-down". An that's what I was trying to say before. I think there's > more fluidity in "build-up". You might look at that as tricks, but > those tricks are they very thing you will use to build a > full-framework. How do I know? Because I've basically done it. > Good to hear that both of us have done it. I have to agree that till now everything I've done in this direction is theory and Java only. >> Now, comments inlined: >> >> I was not talking about innexistent good frameworks in Ruby. I was talking about the principles of a >> new framework. > > Okay. > >> I have still to disagree with this percentages. But for the moment, it is not >> so important. > > Sure. That's fine. > >> Ohhh... I got the idea... but I am wondering where is that "simple 1 line of code" :-). > > Hey, I said I could write *a* pointcut not *any* pointcut. Besides I > wanted to give you a show! :) > >> Moreover: a pointcut is not expressed only in terms of class and methods. I don't call my methods >> 'database'. And I am wondering where is the modularity of this piece of code. How can I reuse it? >> (copy and paste?) > > You expected all that in one line of code? :) Beside you did not > specify those things. > >> I am stopping now, as I may already sound harsh and this is not my intention. > > Well, I hope you are not put off. It is a good discussion. > >> I surely would prefere to write instead of the above script: >> >> class TransactionAspect < AOP::Aspect >> pointcut: transactionalMethod => "*#save*(..) || *#delete*(..)" >> >> before: transactionalMethod >> def assureTransaction >> [...] >> end >> end > > I have written parts of very similar framework. Others have too. What > is "new" about your framework? I would be interested to hear. Why don't > you contact me private email. We can discuss and I can see how much I > can help if you really want. I am certainly not against an interesting > full framework, but such just doesn't deter from Cuts. > > Thanks, > T. > There is not such thing existing. That time back when I opened the discussion I had the time to find out what you ruby-guys think about it. Unfortunately, the feedback wasn't sufficient for me to get me started, so I backed to my Java AOP things. Nobody (in fact I am speaking just for myself) is trying to take you away from Cuts. My experience, just made me point you out the missing points. Probably, oposed to the majority here, I am very happy to still be doing Java, so there is no rush for me ;-). Ruby seemed to me young in this field, and just wanted to hint that some wheels are not so circle as I assumed. Probably it would be interesting to start doing the cuts and see how we can build over it. Unfortunately, I still cannot see solutions for some of the points I have mentioned previously. regards, ./alex -- .w( the_mindstorm )p.