The Register® — Biting the hand that feeds IT

Feeds

'Freakishly fast' Ruby coming to the Mac

Blowing up the bridge

Customer Success Testimonial: Recovery is Everything

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. ®

Regcast training : Hyper-V 3.0, VM high availability and disaster recovery

Latest Comments
Anonymous Coward

Typical Ruby bashing....

We have *not* seen that Ruby doesn't scale. That meme is pure BS.

What we have seen is Twitter struggling to cope with it's stellar growth rate. Frankly given their growth I'm amazed that they've only had 80 hours of downtime in the last year - that's remarkable. Twitter is the one example that's trotted out time and time again about how Ruby doesn't scale; I don't think I've heard of a single other example.

Several other Rails sites cope with fairly heavy traffic such as the 37signals sites and funnyordie.com.

Ruby as a language has no inbuilt support for databases. I'll give you the benefit of the doubt and assume that you are instead parroting criticisms about Rails' ActiveRecord ORM library. Unfortunately that criticism is largely ignorant - yes, there are naming conventions, but they can be overridden with configuration info to comply with just about any legacy database system. There's also a few other ORMs to choose from.

The "official" Ruby interpreters have indeed been rather slow when compared with most other dynamic languages. This new MacRuby 0.5 is much faster, and has not yet been optimised. It is too early to judge how it will compare with other languages like Perl or Python.

Whilst performance may be important, there is more to choosing a language than execution speed. Personally I find that I'm much more productive using Ruby which I only get to play with occasionally than Perl or JavaScript, the two languages I code in every day.

0
0

re: Fast but scalable?

So wrong in so many ways.

First you mean Rails when you say Ruby.

Then you say Ruby (but mean Rails) has to follow naming conventions when persisting objects - it default to this, but can quite happily be mapped to other database schemas (as can any other object relational mapper such as Hibernate).

So other than not understanding what the technology is or what it can do - great comment!

0
0
Anonymous Coward

Fast but scalable?

Sorry, but we've seen that Ruby doesn't scale. Not to mention that if you're working with a legacy database, you're in for a lot of work. Ruby's view is that the database merely persists their objects and has to follow their naming convention.

0
0

More from The Register

SCO vs. IBM battle resumes over ownership of Unix
Zombie lawsuit back and wants to suck the brains out of Linux
Bjarne Again: Hallelujah for C++
Plus: Now officially OK to admit you never used STL algorithms
Interwebs taunt Sir Jony over Apple eye candy makeover
Hey Ive, Ive... add more unicorns, willya?
Apple: iOS7 dayglo Barbie makeover is UNFINISHED - report
Plus: You don't like the icons? Blame marketing
Red Hat to ditch MySQL for MariaDB in RHEL 7
So long, Oracle! Don't let the door hit you on the way out
Shy? Socially inadequate? Fiddling with your phone could help
App 'tells the brutal truth' about social inadequates' chatup lines
Java EE 7 melds HTML5 with enterprise apps
New release arrives with GlassFish, NetBeans support
 breaking news
'Office Facebook' firm Tibbr wants you to PAY for mobe-meetings app
Great idea. Punters won't cough for it though
 breaking news
The only Waze is Google: Ad giant tipped to gobble map app 'for $1.3bn'
Pac-Man-satnav-ish upstart in bidding war with Apple, Facebook
 breaking news
PM Cameron calls for modern, programmable computers! (We think)
IT education musings to G8 chiefs to mystify IT industry