Could Ruby be Apple’s Language and API Future?
There has been a shift in development landscape over at Apple. John Siracusa of Ars Technica recently published an article about Apple’s language and API future. I believe Apple is preparing to transition to Ruby as their next default language.
Parveen pulls together some interesting threads about MacRuby, LLVM, and XCode to argue that Apple might be looking at Ruby as a future first-class language for their platforms.
I'm going to put myself on the line with a hunch here and say, yes, MacRuby is going to become a first-class language at Apple. Seriously. Apple's investment in MacRuby is an interesting one for a company not known for frivolity in its crazy-scale R&D operations and there's something brewing there. Either that, or they'll disband the whole thing.
Parveen's post is being discussed over on Hacker News where danudey makes a good point for why Apple would not make MacRuby a first class language:
I can't really see Apple doing this, if for no other reason than Objective-C is something they can control, and Ruby isn't. If the core Ruby developers decide they want to add more features, change the language's underpinnings, etc. Apple's left to play catch-up. If Apple wants to add features, then they basically have to fork the language and hope their changes get merged in.
Apple's shown (and been shown) how much of a benefit it is to control your own destiny; even with Ruby being open-source, it's still an outside influence they have to work with or against. Objective-C, for all intents and purposes, is their language, one they can take in any direction they want.
Seems like reasonable thinking but I say "watch this space."
June 30, 2010 at 6:25 am
Of course Apple believes MacRuby is a great project otherwise they would stop developing it. Does it mean it will be the next official Apple language? Nobody knows for sure. This dude seems to think so and I personally hope so too. But really, the only thing that we can do is wait and see. Starting rumors certainly won't help (one way or the other).
June 30, 2010 at 6:31 am
But nor will spreading a rumor hurt, as Apple has seen time and time again (I'm convinced most of their "leaks" are deliberate anyway).
June 30, 2010 at 7:58 am
I'd love to see Ruby become Apple's dev language of choice.
I love my Mac OS, but I'd see it as a waste of time to get into a proprietary language, be it .net or objective-c. When I had my first glance at MacRuby, I instantly thought: if this project evolves, that could mean I'm finally able to develop for Mac OS without the feeling of being trapped by a company's language.
I hope Apple opens up, perhaps being reminded of their own past virtues.
To put it short: I'd love to see that!
June 30, 2010 at 4:04 pm
Really the big question for a lot of people is will they port Mac ruby to iOS. Right now you can basically build any OSX app in MacRuby, even if its not a "first class" language for Apple. iOS development however is another story. While mobile devices may not have as much processing power, the LLVM can do some amazing things, so if MacRuby keeps improving at the rate it has, it wouldn't surprise me if they open iOS development to use MacRuby as well. Right now the big issue is garbage collection from what I understand.
June 30, 2010 at 4:50 pm
I just hope its C like with dot notation a line terminated with a semi-colon. Nothing that looks like VB or Python. As for Ruby it doesn't feel comfortable or C like either.
Perl 6 looks interesting, if it ever materializes.
June 30, 2010 at 5:02 pm
I followed all the links and re-read Peter's intro, looking for an argument. There is none here.
Yes, Apple supports the development of MacRuby, and it uses LLVM, but that's a long shot from making it the official language for writing Cocoa apps.
I've written and shipped a MacRuby app and I can say that 90% of a MacRuby app is just calling through to the Cocoa APIs. Using Ruby instead of Objective-C would give up protocols, first-class pointers, and a bunch of other language features that Cocoa relies on heavily.
However, Apple has shown that they will continue to enhance the Objective-C language (which is an open standard, not a proprietary language). Gradual improvement makes more sense than switching to Ruby altogether.
July 1, 2010 at 12:08 am
I would like that too, but seriously, this is but a dream. At most, we can expect Apple to consider Ruby as a language for scripts, not for big applications. Objective-C has already got an ecosystem so monolithic that a small change would hurt the whole community. Plus, MacRuby is made upon Objective-C.
July 8, 2010 at 5:15 pm
There's no way Apple would replace Objective-C. But like their Java support, Ruby is probably gaining acceptance as a scripting / adjunct language.
September 15, 2010 at 1:57 am
1. With Ruby you can quickly make web applications
2. With Objective C you can make actual applications