[MacRuby-devel] The Future of MacRuby

Joshua Ballanco jballanc at gmail.com
Fri Apr 6 23:13:46 PDT 2012


On Friday, April 6, 2012 at 11:06 PM, Henry Maddocks wrote:
> > The MacRuby VM is very nicely tailored to the job of running on top of the Objective-C runtime. It is also fairly mature. Personally, I see no technical reason that a proliferation of VMs should be a problem (there are at least 3 major Java VMs…4 if you disregard Oracle's lawyers and count Dalvik).
> >  
>  
>  
> That's fine if the MacRuby VM is " fairly mature". I was thinking more from a sharing of resources position. More people available to work on the VM.

VM expertise would, of course, be welcome. However, I think you would find that attempting to rewrite the MacRuby VM with the goal of sharing VM implementations with Rubinius would not only be an enormous amount of work, but you would ultimately end up with more implementation specific code than shared code.

For example, the MacRuby VM must contend with the possibility that exceptions can be thrown from Cocoa code into the MacRuby environment, so there is a good amount of the VM that deals with exceptions. In contrast, Rubinius is only concerned with Ruby generated exceptions. That, right there, is a giant chunk of the VM that couldn't be shared easily.
  
> > I would assert that Ruby without automatic memory management can hardly be called Ruby. ARC is a compile-time tool, so using it directly is not an option. Whether we call memory management a garbage collector or an automated reference counter is, I think, a matter of semantics. However, memory needs to be managed "somehow".
> >  
>  
>  
> What are we talking about here, the ruby language GC or the ruby implementation GC? Take MRI; it implements a GC in a non GC language (C), it uses malloc and free.
>  
> I was talking about to ARC in the Obj-c implementation, not removing GC from ruby the language.

I apologize, it wasn't you but others have brought up the notion of giving MacRuby the ability to explicitly retain/release objects in place of GC. That, to me, is a complete non-starter. Regarding ARC, MacRuby cannot use ARC. That is, MacRuby cannot use the Obj-C implementation of ARC. The concept of ARC, as an acronym for "Automatic Reference Counting", could be an interesting avenue to pursue. Personally, I am inclined to see what Laurent has in mind. While the GC question is important, it is by no means the only thing that needs attention in MacRuby (and it is not currently "broken"). I think we have more than enough work to do to keep many contributors busy for a good while.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-devel/attachments/20120407/91c4550a/attachment.html>


More information about the MacRuby-devel mailing list