On 31 mars 2011, at 05:56, <macruby-devel-requ...@lists.macosforge.org> Bryan Harrison <br...@bryanharrison.com> wrote:
> Message: 6 > Date: Wed, 30 Mar 2011 20:43:27 -0700 > From: Bryan Harrison <br...@bryanharrison.com> > To: macruby-devel@lists.macosforge.org > Subject: [MacRuby-devel] Tyro Needs Ruby vs. O-C Advice > Message-ID: <f3d5a990-d053-45a7-91fc-e29fbd6df...@bryanharrison.com> > Content-Type: text/plain; charset="windows-1252" > > I've decided to use an upcoming sabbatical to teach myself OS X and iOS > programming. My background includes OS X systems administration and web > development, mostly using the Apache/MySQL/PHP model. I'm familiar with OOP > concepts and have trifled with any number of languages from C to AppleScript, > but am not fluent in any object oriented language. I've been exploring Xcode > 4 for a week and feel conversant with the IDE if not yet able to accomplish > anything with it. > > So? I understand that Cocoa is a given, but today's million dollar question > is Objective-C or MacRuby? I'm a blank slate with regard to both and so > could use some good advice. For example? > > What are the advantages of MacRuby over Objective-C? > > What are the advantage of O-C over Ruby? > > Is Xcode's support for O-C significantly better than it's handling of Ruby? > Do I care? > > At this point I'm primarily interested in OS X development, but iOS clearly > needs to run a close second. What's the current status of Ruby development > for iOS and is it likely to go anywhere in the nearish future? > > Any thoughts on the longer-term prospects of either language? > > Any thoughts from anybody will be much appreciated. > > Thanks, > Bryan I will be blunt: stay away from MacRuby and go with Objective-C. Before I get burned at the stake on this list, let me explain why. This stems from an assumption I made from you question about your goal: Assumption: your goal is to become proficient in Cocoa [touch] programming as fast as possible, starting from basically zero. If that assumption is wrong, then the conclusion might be too. MacRuby is very good already, but it's a far less treaded route. As a result, you will have to load your brain with additional burden, always a difficult proposition when learning: - Less applicable resources for learning: less examples, less books, less blog posts, less people to help you out. - So you will need to translate every example and snippet from Objective-C to Ruby. This means you will effectively need to learn two languages instead of one at the same time, together with Cocoa. - You will need to translate every one of your question from Ruby to Objective-C when posting to stackoverflow or Apple's forum, or risk getting no answer. Sure you can stay in this list, but that's one less resource. - Every time you face a difficult roadblock, you will necessarily have to wonder "Is this me? Or is this MacRuby?". To answer that question for certain, you will then port your code to Objective-C to make sure. - You will face less understanding development tools. When you have an issue with them, the official answer will be "MacRuby development is not supported". With Xcode 4 being immature by itself, you probably don't want to add an immature MacRuby to the mix. Now the MacRuby journey might taste a lot better, depending on you. And if for you "the reward is the _journey_", you might consider it. On the practical details, what has been said still applies, with two small corrections: - You also have ahead of time compilation with MacRuby. But arguably, you don't care about that when learning. - The job market for iOS programming is thriving, and for Mac programming is getting a lot better. Sure, Ruby programmers are also in demand, but it's not clear to me which market is actually better. One thing is for sure: demand for iOS Ruby programmers is zero. Jean-Denis _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel