LuùÔ Miguel LoureníÐ a ñÄrit : > Hello, > > I'm working with some friends on an AOP comparison across several > programming languages. We're doing this as a small project for a college > course. We want to talk about AOP and how it's been implemented in > various languages, it's influence on them and how it's being accepted by > their various communities. > > We've chosen Ruby as one of the languages. Java and C++ are the other > ones. This seemed like a good idea since they stand at different levels > of dynamism. Dynamism as in metaclasses, reflection, open classes, eval, > etc. > > I've searched the mailing list archives and googled for information > about AOP and Ruby, but haven't come up with much. AspectR seems to have > been abandoned. I did find a proposal for AOP in Ruby up at RubyGarden. > Not much more though. Can someone give us some pointers to more > information? My impression is that there isn't much interest in AOP from > the Ruby community in general. > > I'm somewhat convinced that Ruby, compared to many other languages, > enables one to effectively cut back tremendously on code scattering, > with it's reflection capabilities, metaclasses, eval, etc. But from what > I've understood from AOP it aims to bring direct semantics to code that > crosscuts a program. So, I'm not sure the techniques used in Ruby would > qualify as AOP. I have however seen an interesting quote by Dave Thomas > (http://c2.com/cgi/wiki?AspectsAndDynamicLanguages) in which he says > "Once you have decent reflection and metaclasses, AOP is just part of > the language.". I'm not sure I agree with it. I agree in the sense that > I can probably avoid code scattering using Ruby, I don't agree because I > have to think in terms of metaclasses, method aliasing, reflection and > whatnot to get the code in there. I don't know how big a deal that is. > Or if it is a deal at all. Any thoughts on this? > > LuùÔ Miguel LoureníÐ > > Had a sight at Objectteams ruby? http://www.objectteams.org/README.rot http://sourceforge.net/projects/robjectteam/ Good work! :) -- Lionel Thiry Personal website: http://users.skynet.be/lthiry/