Last Train Home

June 01, 2004

RNA

I've been working on my own Ruby Code Generation Framework called RNA. It's a modular support framework for generation that wraps multiple text templating languages and manages models as XML. It's kinda like Ant, but for code generation. The idea is to allow the user to concentrate on the logic of generation while managing all of the infra-structural stuff.

Now the Ruby choice was a great one to get my ideas off the ground. But I have to say that if I really want this thing to take off it's going to have to be ported to either .NET or Java. So I have been weighing some pros and cons.

Java.NET
Pros
  • Portable
  • Popular
  • Good at XML and XSLT
  • Saxon is native
  • Supports dynamic class loading
  • I can use an IDE like Eclipse on the Mac
  • Velocity
Cons
  • Not a pure object oriented language
  • Not well supported on Windows
Pros
  • With Mono it's portable
  • Popular
  • Pure object oriented language
  • Good at XML and XSLT
  • Supports dynamic class loading
  • Great on Windows
  • Would work with any CLI language
  • NVelocity (but I'm not sure of the status of that project)
Cons
  • I would be writing C# with Vim
  • The XSLT is not Saxon
  • Not well liked because of the Microsoft connection
  • Requires Mono on Macintosh and Linux

One more plus for Java is that technology seems to flow better from Java to .NET and not the reverse. Arguably if the project was successful in Java there is a good chance that the .NET community will embrace it and do the port.

Any thoughts?

Posted by jherr at June 1, 2004 10:59 PM
Comments
Post a comment









Remember personal info?