[MacRuby-devel] The future of MacRuby

Joshua Ballanco jballanc at gmail.com
Fri Apr 6 09:18:41 PDT 2012


Hi Denny,

On Friday, April 6, 2012 at 4:34 AM, denny trebbin wrote:
> for me I can tell the story about losing interests in MacRuby and stopping to use it began with rejecting feature suggestions/requests here on the mailing list. For example the automated snake_case to humbleCase and vise versa conversion. Just by the saying 'JRuby does it to so why not MacRuby as well?' feature request got ignored and rejected.
If I recall correctly, there has actually been a good amount of discussion around this issue (it is possible that much of that happened in IRC, though…). Just to restate some of the considerations that went into the decision:

* Using Cocoa libraries in MacRuby means reading Cocoa documentation. This is easier to do if you don't also have to translate the names of everything.
* Keeping with the Cocoa tradition of SnakeCase makes translating Obj-C code much easier. (I recently translated about 800 lines of Obj-C in less than 2 hours…and cut out 300 lines of code at the same time!)
* Making this conversion possible at the VM level is a non-trivial amount of work, and there are more pressing needs at the moment.

I would also like to add that questions of naming convention are a classic example of an issue prone to bikeshedding. Such debates are mostly counter-productive to the progress of open source, and so it is usually the case that someone has to make a decision. In this case, Laurent made that decision a good number of years ago. Ultimately, though, I would hope that choice of naming convention is not reason enough to choose one technology over another.
  
> The second next show stopper for me was and still is to be forced to use Xcode. I wonder how people can be productive with Xcode but somehow they manage to be it. I couldn't so I have no chance to get comfortable with MacRuby. I pretty much love tools like Sublime Text2 and the ZSH or RubyMine but all these tools become pretty much useless for every MacRuby related project. Just my thought here!
Personally, for MacRuby I use MacVim, as I know Eloy does. I know others use TextMate, vim, and a whole host of other editors. You can compile MacRuby from the command line quite easily. If you want to use InterfaceBuilder for laying out your UI, it is true that since Xcode 4 you have to start Xcode, but there is no requirement that you do any code editing in Xcode. I gave a talk late last year at Boston.rb showing exactly how this works (http://bostonrb.org/presentations/macruby-for-fun-and-profit).

However, there is no strict requirement that UI be constructed with InterfaceBuilder. It is quite possible to build your UI in code. The HotCocoa project was originally built with this exact goal in mind. Mark has been working with HotCocoa, and if you ask I'm sure he would be more than happy to have a helping hand with that work.
  
> The third and last thing on my list of 'why I stopped using MacRuby' is - For me MacRuby looks just like an Cocoa wrapper with Ruby'ish syntax but I think MacRuby should be real Ruby interpreter implementation with Gem's allowing to connect to Apple frameworks API's like Cocoa. Using MacRuby with RVM or rbenv is like pain in the ass. Gem handling of MacRuby feels not like Gem handling in other rubies.
I already mentioned HotCocoa, which is available as a gem (https://rubygems.org/gems/hotcocoa) and works with the Cocoa libraries, but it is not the only one. There is also the "dispatch" gem (https://rubygems.org/gems/dispatch) which adds a number of Ruby-ish conveniences to GCD. In the realm of testing, the Seattle.rb guys have created "minitest-macruby" (https://rubygems.org/gems/minitest-macruby) which let's you automate UI testing in MacRuby. There are more than just these if you poke around a bit, as well as a number of useful Gists and snippets. All of these you should be able to install just as you would install gems for any other Ruby. If you do run into problems, though, be sure to let us know.

Regarding RVM and rbenv, I'm not sure what the situation is with rbenv, but I have heard from Mark and a number of others that they are using MacRuby successfully with RVM. As these are third-party projects, we cannot affect their course directly, but if there are any problems getting MacRuby to work correctly with them, we are more than happy to give whatever assistance we can.

Finally, as Laurent mentioned, I'm almost always in our IRC channel (#macruby on Freenode). If you drop in and stay a while, I'll do my best to get back to you. I will be moving to Turkey at the end of April, and my wife and I are expecting in July, so while I will do my best to give what free time I can, that may be in short supply for the next few months. That said, I hope to be back to full speed by the later half of this year.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-devel/attachments/20120406/03fbdb99/attachment.html>


More information about the MacRuby-devel mailing list