Send your IronRuby usage and quotes

All,

It’s that time again, where I ask everyone to post what specifically you
use
IronRuby for, your opinions about IronRuby, or anything you want to say
about the project. Just reply to this thread with what you want to say,
but
also feel free to reply directly to me if you don’t want to tell the
world
about it ([email protected]). I’d like to take whatever public info
and
put it on http://ironruby.net/About/Usage and
http://ironruby.net/About/Quotes.

Even if you have talked about your IronRuby usages and praise on the
mailing
list before, please send again! This makes sure we know about it and put
it
online.

Thanks!
~Jimmy

We’re using IronRuby as an integration layer in our .NET applications.
All of our client/server apps fire fine grained business events whenever
anything interesting happens. We set up a convention based file
structure on our app servers that can allow us to handle any of these
events by dropping rb files in a directory with certain names that match
the event we want to handle, and the context surrounding each event is
given to that ruby code during execution. (We use
GitHub - PlasticLizard/Bracket: Bracket allows you to easily host Ruby Rack based applications and middleware from within your .NET applications or servers via IronRuby. Supports a variety of embedded web servers. Also allows IronRuby to access the standard libraries / gems / etc directly out of zip files, allowing for simpliefied, x-copy deployment of IronRuby enabled apps. to boil IronRuby down to a zip
file for easy versioning and deployment without having to actually
install IronRuby on our deployment targets). We used to have a formal
.NET message contract for each type of event we wanted to send out of
our systems (a la WCF or NServiceBus), but we’ve found it much more
flexible to do the mapping in IronRuby and compose our outbound messages
in dynamic code. So far we’re using this scheme to write XML files to
network shares for other apps to pick up or to publish messages to a
RabbitMQ broker (via the Bunny gem, which works well with IronRuby).
Having the combined power of .NET and Ruby and the flexibility of Ruby
at the integration layer is very liberating. IronRuby was the gateway
drug at our shop to Ruby itself, so now instead of using .NET/SQL Server
for our web apps we use Rails/MongoDB and deploy on Linux boxes hosted
at Rackspace, but because of IronRuby we are able to share a common set
of messaging libraries at the edges of the systems, which reduces
friction quite a bit. We can evolve our integrations with our .NET
applications orders of magnitude faster using IronRuby than we used to
achieve purely using managed code, which, of course, requires a full
build/package/deploy cycle for any kind of change, and change at the
integration layer especially in an event-driven environment is usually
fast and furious. My hope for IronRuby is that it will someday run
native gems and be truly cross platform. Every time I try to use
IronRuby as a first class environment, meaning beyond auxiliary roles
such as integration or automation scripts, I hit a brick wall pretty
quickly - things like EventMachine, cloud storage gems, image
processing, etc. somehow always pop up as requirements, and eliminate
IronRuby as a viable runtime, which is too bad, because otherwise I
would prefer it to MRI or JRuby given our extensive .NET investments.
All in all though we are tremendously happy with the technology. For me,
it is probably the most exciting addition to the .NET landscape that I
can remember, with potential that far exceeds things like ASP.NET MVC or
Entity Framework or whatever other edgy things MS is putting out.

Thanks for all the hard work!

Nathan

From: [email protected]
[mailto:[email protected]] On Behalf Of Jimmy
Schementi
Sent: Sunday, July 18, 2010 1:17 PM
To: [email protected]
Subject: [Ironruby-core] Send your IronRuby usage and quotes

All,

It’s that time again, where I ask everyone to post what specifically you
use IronRuby for, your opinions about IronRuby, or anything you want to
say about the project. Just reply to this thread with what you want to
say, but also feel free to reply directly to me if you don’t want to
tell the world about it ([email protected]). I’d like to take whatever
public info and put it on http://ironruby.net/About/Usage and
http://ironruby.net/About/Quotes.

Even if you have talked about your IronRuby usages and praise on the
mailing list before, please send again! This makes sure we know about it
and put it online.

Thanks!
~Jimmy

Hi,

I use Iron ruby as the glue between sqlserver, dynamic processing for
complex order scheduling, with excel connections for review/updating of
scheduling.

The tools that I am missing so far (and I guess that it is because
IronRuby is a new platform within the .net universe) are:
a) a simple GUI platform (or a nice port of either Shoes / FXRuby /
wxRuby for .net) - WPF/Silverlight targeting would be great!!!
b) An IronRuby IDE (VS10 support maybe?)

What I find great about IronRuby is all the technologies you can target
from IronRuby within the same environment:
SqlServer (using ActiveRecord gem as an example)
Excel (through: load_assembly “Microsoft.Office.Interop.Excel”)
and all the other ones: xml, yaml, json, http, ftp, etc.

I’m not saying that we cannot access all the technologies using plain
.net.

However, in the .net world, you really have to master several “visual”
environments just to accomplish a simple CRUD:
EntityFramework / Linq
SQLServer
either VB.NET or C#
Blend (or VS xaml) if you want to work with “visual” design of the
screens,
having to figure out how to “Bind” controls to tables,
Excel VBA, in case of some automation in Excel directly, etc. etc.

And all the source generated for each of the components is just very
long
and difficult to grasp if you need to maintain the code in a later time.

With IronRuby (and RUBY), due to its Dynamic nature and the elegance of
the language, the DRY concept, the testing capabilities and the
immediate execution of ir, this gives back the “fun” part of programming
to developers.
It also contributes to improving development productivity big time.

It is NOT the same to maintain a 600 line piece of code, scattered
across different environments and a 60 line piece of code with the same
functionality
in only one environment.

Please continue with this great work, you are really heading in the
right direction!!!
.
Jimmy S. wrote:

All,

It’s that time again, where I ask everyone to post what specifically you
use
IronRuby for, your opinions about IronRuby, or anything you want to say
about the project. Just reply to this thread with what you want to say,
but
also feel free to reply directly to me if you don’t want to tell the
world
about it ([email protected]). I’d like to take whatever public info
and
put it on http://ironruby.net/About/Usage and
http://ironruby.net/About/Quotes.

Even if you have talked about your IronRuby usages and praise on the
mailing
list before, please send again! This makes sure we know about it and put
it
online.

Thanks!
~Jimmy

Hi Jimmy,

I’ve just released the first version of IronMock (
http://bit.ly/ironmock )
which uses 9 lines of embedded IronRuby to apply interfaces to objects
at
runtime. It can be used for duck-typing any object, but there’s also a
DynamicObject-based mocking class.

If you want a quote:

“I achieved in a couple of lunchbreaks and a few lines of Ruby and C#
something which used to take reams of IL Emit code. IronRuby rocks.”

Cheers,
Mark

We have taken to use IronRuby from pre-alpha stage in our GUI conversion
project where we are transforming Napa SW GUI (1 mil+ SLOC) from Motif +
custom script language to WPF + IronRuby. So we are using IronRuby as
WPF scripting language. Still wishing for more XAML + IronRuby interop,
but we manage with this level as well.

Robert B.
Software architect
Napa Ltd
Tammasaarenkatu 3, Helsinki FI-00180
P.O.Box 470, Helsinki FI-00181

Tel. +358 9 22 813 1
Direct. +358 9 22 813 611
GSM +358 45 11 456 02
Fax. +358 9 22 813 800

Email: [email protected]

Dug this old thread up and added the posts to
IronLanguage usages · IronLanguages/main Wiki · GitHub; if you
have anything to add, feel free to add it to the wiki page directly.

~Jimmy

We’ve been using IronRuby for dialplan scripts on sipsorcery.com for a
couple of years now. The IronRuby scripts let VoIP users control how
their calls get routed around the place. Some of the scripts written by
users have become pretty sophisticated:

http://code.google.com/p/google-voice-sipsorcery-dialplans/source/browse/trunk/SIP%20Sorcery%20Dial%20Plans/DialPlans/ComplexDialPlan

Regards,
Aaron