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