Live data from Hacker News

Why I'm Not Using RubyMotion in Production

joshsymonds.com

11–20 of 75 posts

Re: Why I'm Not Using RubyMotion in Production

#11

I just bought a RubyMotion license and I really enjoyed creating my first iPhone App but I don't think I would have started if I knew about this issue. I really hope that they get around to fixing this problem, it does make me a bit concerned that they are pushing big new features while such a serious issue seems to exists.

This is exactly how I'm feeling now. I've been prototyping and loving it, but I almost don't even want to try releasing an application if the support burden is going to be that high... Now it's like, well, why not just use Objective-C? I sort of just wish I had my $200 back.

Think of the bright side - becoming aware of the perils of third-party platform toolchain you are likely saving a huge number of hours and frustration for yourself in the future. For example, I still regret using Google Web Toolkit, and for a few years now, but I'm sort of stuck with it.

$200 is small potatoes.

Re: Why I'm Not Using RubyMotion in Production

#12

Apologies for the basic question, but why would this 'analog' (is that another system? An abstraction?) have this issue if it is using ARC? Isn't ARC just a flag in XCode's compiler? If RubyMotion turns it on, wouldn't XCode make all the necessary arrangements? Again, I simply want to understand; I'm not trying to make a point.

It's NOT using ARC. It's using an "analog" (in the original post's words).

With which he means "a substitute", "a similar tech", "their own implementation of the same concept", "something analogous to ARC" (hence the "analog").

(Most people know "analog" only as in "analog vs digital", but it was immediately obvious to me, because I know the etymology of the word from the original language it was adopted from.

Btw, the english dictionary definition that's closer for such a use of the word is:

1. An organ or structure that is similar in function to one in another kind of organism but is of dissimilar evolutionary origin. The wings of birds and the wings of insects are analogs.).

Re: Why I'm Not Using RubyMotion in Production

#13
post #9

Am I the only one who thinks that ARC in a language like Ruby is probably impossible? Even with Objective C they had to add 4 new variable qualifiers, and put that burden on the programmer to use them properly.

Ruby already has garbage collection, so clearly GC is not impossible at all.

And there have been successful bridges from Python/Ruby to Obj-C that had GC too.

Now, ARC, or something similar for RubyMotion, is a different take on the matter. I don't know why they want that way instead of an actual GC.

Re: Why I'm Not Using RubyMotion in Production

#14

Apologies for the basic question, but why would this 'analog' (is that another system? An abstraction?) have this issue if it is using ARC? Isn't ARC just a flag in XCode's compiler? If RubyMotion turns it on, wouldn't XCode make all the necessary arrangements? Again, I simply want to understand; I'm not trying to make a point.

RubyMotion doesn't use ARC (or Xcode) at all -- it doesn't produce Objective-C code as its output, but executable bytecode intended to be run on the target. The output of Objective-C and RubyMotion, that is, is the same. So you need an equivalent implementation of ARC in RubyMotion to deal with memory management, unless you want to do it manually, which wouldn't make RubyMotion very Ruby-like at all.

Re: Why I'm Not Using RubyMotion in Production

#15
post #12

Apologies for the basic question, but why would this 'analog' (is that another system? An abstraction?) have this issue if it is using ARC? Isn't ARC just a flag in XCode's compiler? If RubyMotion turns it on, wouldn't XCode make all the necessary arrangements? Again, I simply want to understand; I'm not trying to make a point.

It's NOT using ARC. It's using an "analog" (in the original post's words). With which he means "a substitute", "a similar tech", "their own implementation of the same concept", "something analogous to ARC" (hence the "analog"). (Most people know "analog" only as in "analog vs digital", but it was immediately obvious to me, because I know the etymology of the word from the original language it was adopted from. Btw, t…

Thanks to you and Veraticus. My assumptions were completely off.

Re: Why I'm Not Using RubyMotion in Production

#16
post #9

Am I the only one who thinks that ARC in a language like Ruby is probably impossible? Even with Objective C they had to add 4 new variable qualifiers, and put that burden on the programmer to use them properly.

ARC in a language like ruby is trivial. ARC is probably the first kind of garbage collection ever implemented.

It's only complicated in Objective-C because of all the C.

Re: Why I'm Not Using RubyMotion in Production

#18
post #5
post #4

While RM-3 itself is only 4 months old, the bug's been around and discussed since RubyMotion first came out (e.g. http://blog.blazingcloud.net/2012/07/16/rubymotion-block-sco... ). They used a bug tracker that wasn't publicly viewable until they migrated everything to YouTrack earlier this year (I reported it last August).

Laurent himself replied to that blog post saying the bug was resolved in RM v1.20. What's the difference between RM-3 and what that post describes? They read very similar to me.

Maybe a regression? It does sound like the exact same issue at a glance.

Re: Why I'm Not Using RubyMotion in Production

#19
I'm happy that the RubyMotion guys can charge money for what they're doing.

But if you're going to stay closed source, you're asking me to just trust you that important (to me) bugs are going to get fixed fast enough. That is very hard to do.

That is the real value of open source. It's not about the money -- an extra $200 is nothing in a development budget. It's about being able to fix the bugs myself when they matter enough.

Re: Why I'm Not Using RubyMotion in Production

#20
post #12

Apologies for the basic question, but why would this 'analog' (is that another system? An abstraction?) have this issue if it is using ARC? Isn't ARC just a flag in XCode's compiler? If RubyMotion turns it on, wouldn't XCode make all the necessary arrangements? Again, I simply want to understand; I'm not trying to make a point.

It's NOT using ARC. It's using an "analog" (in the original post's words). With which he means "a substitute", "a similar tech", "their own implementation of the same concept", "something analogous to ARC" (hence the "analog"). (Most people know "analog" only as in "analog vs digital", but it was immediately obvious to me, because I know the etymology of the word from the original language it was adopted from. Btw, t…

Personally, I use "analog" to mean "not digital" and "analogue" to mean "something similar to". I think that's a little clearer, at least to some US readers.
Post reply on HN