On 29 June 2010 18:37, Adrien Grand <[email protected]> wrote: > Hello Hyrum, > > On Mon, Jun 28, 2010 at 1:20 PM, Hyrum K. Wright > <[email protected]> wrote: >>> But, beg your pardon, what's so "heavy-weight" with RAT? I can't see >>> any advantages of a Python implementation, other than it would be >>> preferrable to Python developers. >> >> In our discussion, Robert and I observed that improving and extending >> RAT as it is today can be quite a chore. He explained the origins of >> RAT as "and experiment in software architecture" and that it had >> horribly gone wrong. The architecture is way over-engineered for the >> core mission of RAT, but because the tool proved useful, it was >> adopted anyway. mouse is an attempt to greatly reduce the amount of >> code needed to accomplish that mission, and be much easier to extend >> down the road. >> >> Another goal of mouse is to be easily incorporated into a post-commit >> hook, so that it could audit the files being modified during each >> commit. > > I'm not sure using Python as a programming language would make it > simpler : Many people from the Java world enjoy audit tools such as > CPD, Findbugs, Cobertura and so on, but they will only use a tool like > RAT if it integrates with their build and integration tools such as > Ant, Maven and Hudson. I have the feeling that you may waste much more > time developing Maven/Ant plug-ins that call Python code (need to fork > a process, what if Python is not installed?) than what you will gain > by writing the core in Python. Another solution would be to rely on > Jython to seemlessly integrate your code inside a Maven/Ant plug-in, > but it looks more like a magic trick than the right thing to do, in my > opinion. > > I admit that my arguments may sound a little bit Java-centric, but I > think that there are many potential users of RAT among Java developers > because of their love for audit tools. :-)
I'd just add that RAT currently has Ant and Maven interfaces which are likely to have been used by lots of people/projects. So Mouse needs to support any such interfaces. Furthermore any change to the API which requires users to change their scripts will not be popular and will hinder takeup. > -- > Adrien Grand >
