Hacker News new | ask | show | jobs
by gfodor 4735 days ago
The fact that there is a workaround is irrelevant for two reasons.

First, said workaround would completely change the entire structure of your ruby code. Basically, kill blocks. This is inferior to Objective-C itself structure-wise.

Second, and most importantly, this bug is not something that jumps out at you. It only causes crashes in some small % of runs. So, the result is your apps look fine, you are writing idiomatic ruby, but once you release to production, you start getting crash reports because you closed over a local variable that ends up being released. This is the kiss of death for production apps: un-reproducible bugs due to magic in the compiler not working as expected.

In other words, even if you know about the bug, and even if you understand the workaround, if you write code naturally, you are going to introduce crashing bugs that are not reproducible that affect some small but measurable percentage of your users. A true nightmare.

1 comments

I think "irrelevant" is a poor choice of words here.

It is VERY relevant that there is a workaround. Additionally, it's kind of unfair to point at 1 bug (that has a workaround) and judge an entire system on it.

https://yourlogicalfallacyis.com/composition-division https://yourlogicalfallacyis.com/no-true-scotsman https://yourlogicalfallacyis.com/the-texas-sharpshooter

You basically just said "No, you" and then posted some links to logical fallacies. Care to address my argument more directly? The key problem here is that while this bug that may have a workaround (and that workaround is questionable to even work in all cases), it's that the bug does not manifest itself in a development environment, and occurs when you write code naturally. So, you are likely to introduce the bug, but you don't get to know you have crash issues all over your app until you ship it to a lot of users. This, combined with the App Store review delay process, results in a situation where this platform is not tenable for professional software developers to use.

edit: Laurent (RubyMotion lead) has chimed in and raised the priority of this issue, this is great news