'Freakishly fast' Ruby coming to the Mac
Blowing up the bridge
Mac developers intrigued by Ruby's ease of use and simple maintainability but deterred by its turgid performance will be happy to hear that MacRuby 0.5 - aka its "experimental branch" - is remarkably snappy.
Exactly how snappy is remarkably snappy? A suite of low-level benchmark tests recently performed by Antonio Cangiano of Zen and the Art of Programming shows MacRuby 0.5 to be on average just under three times as fast as Ruby 1.9.1, with some operations coming in at nearly eight times faster.
According to Cagiano: "MacRuby... has the potential to become a game changer - at least for Mac developers. Based on Ruby 1.9, MacRuby’s main aim is to provide programmers with the ability to write Mac OS X applications in Ruby, making Ruby a first-class Cocoa programming language."
The MacRuby open-source development project is sponsored by Apple, which includes an introduction to the language on its Developer Connection website. You can also download a free version of the most-recently qualified development version, MacRuby 0.4, from Apple's software vault.
MacRuby's raison d'être is to overcome the performance limitations of RubyCocoa, which functions as a speed-robbing intercommunication bridge between the Mac OS X Objective-C runtime component and the standard Ruby interpreter.
Simply put, the MacRuby project is working to create a Ruby implementation that sits directly on top of the Objective-C runtime, eliminating the RubyCocoa bridge.
Cagiano claimed that MacRuby 0.4 - which allows a developer to deliver an application in a standard Mac OS X .app package - is both stable and effective. However, he said that MacRuby’s real promise lies in MacRuby 0.5, which he called "freakishly fast."
It appears that Mac developers may soon have another full-fledged - and either remarkably snappy or freakishly fast - Cocoa-compliant development language with which to deliver desktop applications.
More information and up-to-date news on the MacRuby development effort can be found at MacRuby.org. ®