Tag Archives: Pragmatic DSLs in Ruby

The Productivity Continuum: Ruby for Big Companies

Meeting review/notes from May 2, 2007

On Wednesday, May 2, Joe O'Brien made the trip from Columbus to present a talk on Ruby for the Enterprise, for the Ann Arbor Computer Society.  We first made Joe's acquaintance in the time leading up to CodeMash 2007, when he saw that we were looking for Ruby speakers and he stepped up (and also promoted the heck out of it, so thanks much, Joe!).  Joe helped to found the Columbus Ruby Brigade, and he's recently written a book on domain specific languages (DSLs), which should be available soon.  The book isn't available for order yet (as far as I can tell), but the title is:

Pragmatic DSLs In Ruby: Fluent Interfaces for your Code by Zak Tamsen, Jeremy Stell-Smith, Joe O’Brien, Neal Ford

I had originally thought that the talk was going to be on Ruby on Rails, but Rails was definitely only a small part of it.  Rails is an example of a DSL used for web programming.  Joe focused on integrating Ruby into the enterprise.  He talked about how you can integrate with Java, if your back end is already written in Java.  He said that he gets dirty looks from Ruby programmers for even suggesting a thing, but Joe strikes me as a pragmatic guy.  He wants to use powerful tools to solve problems, but he understands that it doesn't always make good business sense to go in and rip everything out and start over.

Joe talked a lot about Ruby as an "enterprise glue" language, for accomplishing specific tasks.

After hearing horror stories about deploying Ruby apps, I was glad to hear Joe talk about Capistrano, which he says simplifies all of that.  Another developer whose opinion I trust immensely, Barry Hawkins from Atlanta, concurs.

He described a few other tools, including RubyGems (akin to Python's cheeseshop, this is one-stop shopping for Ruby components). Watir is used for web application testing in Ruby.  It looks a lot like twill (written in Python), to me.

Joe is hosting the Enterprise Ruby Conference in Columbus July 16-18.  It looks like a great conference, with some really great speakers.  The cost is discounted to $199 for user groups (AACS members can contact the AACS for a discount code, and other user groups can get one from Joe).  He's heavily promoting this event to user groups, and I think that's a fantastic idea.

This was a great talk and I was really glad that I was able to attend, and that we were able to spirit Joe up to Ann Arbor to speak.  I don't know if I will get down to the Ruby Conference, but I'm sure it will be a great experience for those who can.

Ruby

RubyGems

Watir
Web testing in Ruby
Capistrano
Deploying Ruby apps
Enterprise Ruby Conference
(blog entry description)