To clarify things a bit more, the real difference between the two ways is 
performance and cleanness of the .NET code. My guidance would be to initially 
build a ruby front-end API, and call into .NET when needed; the cleanest 
solution IMO but depends on slow reflection for calling into .NET code. If you 
find that the .NET integration is too slow for that particular library, then 
you can move your code over to the generated-initializers model that IronRuby's 
libraries use.

~js
________________________________
From: [email protected] [[email protected]] 
on behalf of Shri Borde [[email protected]]
Sent: Sunday, October 11, 2009 12:44 PM
To: [email protected]
Subject: Re: [Ironruby-core] IronRuby C# Extensions

Tomas, assuming you wanted your library to be C# code only for whatever reason, 
wouldn’t you need to use RubyModuleAttribute etc for various reasons (other 
than performance) to make the library look really Ruby-friendly and also be 
multi-ScriptRuntime-aware? For example, if you wanted a class constant, you 
couldn’t just declare a C# “const” variable as that would be appdomain-wide and 
also read-only. So you have to tag it with “RubyContantAttribute”, right?

From: [email protected] 
[mailto:[email protected]] On Behalf Of Tomas Matousek
Sent: Sunday, October 11, 2009 11:48 AM
To: [email protected]
Subject: Re: [Ironruby-core] IronRuby C# Extensions

Ideally Reflection would be fast and we wouldn’t need any workarounds to load 
built-ins fast. But that’s not the case, so we use initializers.

As for the scenarios you mentioned:
1. Porting Ruby native extensions
Why not to write them in Ruby with calls to .NET Framework assemblies? Is there 
anything that makes this difficult?

2. Create an IronRuby library in C# in order to improve performance of a 
certain operation
Couldn’t you write the parts whose perf matter in C# code that doesn’t have all 
the Ruby bells and whistles and keep your library written in Ruby?

Tomas

From: [email protected] 
[mailto:[email protected]] On Behalf Of Shay Friedman
Sent: Sunday, October 11, 2009 10:26 AM
To: [email protected]
Subject: Re: [Ironruby-core] IronRuby C# Extensions

By the way, if we're at the subject... Ivan does have a point there, but why 
were the standard libraries written this way?

Thanks,
Shay.
On Sun, Oct 11, 2009 at 7:19 PM, Shay Friedman 
<[email protected]<mailto:[email protected]>> wrote:
Right, but this way you have more control on the "translation" of your Dll to 
IronRuby.

Shay.

On Sun, Oct 11, 2009 at 7:14 PM, Ivan Porto Carrero 
<[email protected]<mailto:[email protected]>> wrote:
But wouldn't you be able to accomplish these scenarios just by requiring a C# 
built dll?

---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto Carrero
Blog: http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)

On Sun, Oct 11, 2009 at 7:03 PM, Shay Friedman 
<[email protected]<mailto:[email protected]>> wrote:
2 samples I can think of -
1. Porting Ruby native extensions
2. Create an IronRuby library in C# in order to improve performance of a 
certain operation

Shay.

On Sun, Oct 11, 2009 at 6:57 PM, Ivan Porto Carrero 
<[email protected]<mailto:[email protected]>> wrote:
Just require an assembly should work just as well I guess.

When would you need to use the RubyClass etc attributes and the initializer? 
What is the added value of those?
---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto Carrero
Blog: http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)


On Sun, Oct 11, 2009 at 6:51 PM, Shay Friedman 
<[email protected]<mailto:[email protected]>> wrote:
Is it possible to consider allowing to load extensions without the need of a 
library initializer? (another argument in the load_assembly method for example)
Currently, the library initializer makes the whole thing much more 
complicated...

Thanks,
Shay.

On Sun, Oct 11, 2009 at 6:27 PM, Tomas Matousek 
<[email protected]<mailto:[email protected]>> wrote:
Basically to avoid reflection when loading the classes and modules.

Tomas

-----Original Message-----
From: 
[email protected]<mailto:[email protected]> 
[mailto:[email protected]<mailto:[email protected]>]
 On Behalf Of Shay Friedman
Sent: Sunday, October 11, 2009 9:14 AM
To: [email protected]<mailto:[email protected]>
Subject: Re: [Ironruby-core] IronRuby C# Extensions

I found out I needed an initializer...

I have a question - why do we need initializers if we define everything on the 
attributes?

Thanks,
Shay.
--
Posted via http://www.ruby-forum.com/.
_______________________________________________
Ironruby-core mailing list
[email protected]<mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/ironruby-core

_______________________________________________
Ironruby-core mailing list
[email protected]<mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/ironruby-core


--
--------------------------------------------------
Shay Friedman
Author of IronRuby Unleashed
http://www.IronShay.com
Follow me: http://twitter.com/ironshay

_______________________________________________
Ironruby-core mailing list
[email protected]<mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/ironruby-core


_______________________________________________
Ironruby-core mailing list
[email protected]<mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/ironruby-core



--
--------------------------------------------------
Shay Friedman
Author of IronRuby Unleashed
http://www.IronShay.com
Follow me: http://twitter.com/ironshay

_______________________________________________
Ironruby-core mailing list
[email protected]<mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/ironruby-core


_______________________________________________
Ironruby-core mailing list
[email protected]<mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/ironruby-core



--
--------------------------------------------------
Shay Friedman
Author of IronRuby Unleashed
http://www.IronShay.com
Follow me: http://twitter.com/ironshay



--
--------------------------------------------------
Shay Friedman
Author of IronRuby Unleashed
http://www.IronShay.com
Follow me: http://twitter.com/ironshay
_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to