5 ms·
Speed is what you're missing. Not to denigrate you or your statement, and yes Objective-C is not that hard to learn, but it comes down to speed. If I've never
by coffee 14y ago
Speed is what you're missing.
Not to denigrate you or your statement, and yes Objective-C is not that hard to learn, but it comes down to speed.
If I've never programmed in Objective-C and if I'm experienced in Ruby my time from concept to live iPhone app can be FAR quicker by using the tools/language I'm already familiar with (regardless of which tools/language).
Remove the concept of learning a new language, a new IDE, and only require that I learn a new lib to work against and I'm FAR quicker.
Yes, there may be some limitations. But this is iterative development. Build something as solid and quick as possible, and give users the chance to play with it. If it works, and you need more flexibility, it's reasonable to spend the time on learning new tools/languages.
- chc 14y agoCompared to learning Cocoa (Touch), Objective-C is really nothing — especially since to use MacRuby you have to learn a bunch of kinda-awkward hacks they've stuck on top of Ruby to make it compatible with Objective-C (e.g. the "def foo(bar, baz:quux)" syntax and Pointers). It's a very simple language. Unless you are exceptionally bad at learning syntax, you're really not saving yourself a whole lot of time.
- Argorak 14y agodef foo(bar, baz: "something") is perfectly valid ruby(1.9).
- chc 14y agoReally? What on earth does it mean? The "baz: something" ought to parse as a hash literal, which isn't legal in a method declaration.
- Argorak 14y agoSorry, I really should get some sleep: i read "foo(a: b)", but wrote what you wrote and complained about it. :) You are right :).
- Argorak 14y agoNow I know where I got that from: its the proposed keyword argument syntax for ruby 2.0. http://ruby-dev.info/posts/44602 http://ruby-dev.info/posts/44602
- coffee 14y agoYou've completely missed my point. Feel free to re-read what I wrote. Just for reference, yes I code in both Objective-C AND Ruby. There are significant speed gains when using the tools/language you're most familiar with. I've seen this first hand with myself, and in others... It's not about "how easy it is to learn" it's about "how much time it takes." You're mixing together two entirely different topics.
- chc 14y agoI was specifically addressing this point (which seemed to be the crux of your comment): > Remove the concept of learning a new language, a new IDE, and only require that I learn a new lib to work against and I'm FAR quicker. That's a bit like saying, "Remove the concept of putting on running shoes and warming up and only require that I run a marathon and I'm FAR quicker." The time to tie your shoes is nothing compared to running the marathon. Likewise, the trouble of learning Objective-C (especially with a background in Ruby) is insignificant compared to the time it takes to learn Cocoa.
- coffee 14y ago> That's a bit like saying, "Remove the concept of putting on running shoes and warming up and only require that I run a marathon and I'm FAR quicker." It's not at all like saying that. Feel free to keep your words out of my mouth :) > ...is insignificant compared to the time it takes to learn Cocoa. I see you've changed from using the word "easy" to the word "learn." That's a step in the right direction :) Though, we are not comparing the time it takes to learn Cocoa vs. Objective-C. That was NOT the crux of my comment. Again, you're missing the point (you seem to be very talented at this). The comparison is with Ruby ;)
- chc 14y agoI know you aren't comparing the time it takes to learn Cocoa vs. Objective-C. My point is that if you did make the comparison, you'd realize that if you have the time to learn Cocoa, you have the time to learn Objective-C, because the latter takes basically no time compared to the former. You get a time savings of like 0.05% by learning MacRuby instead of Objective-C.
- eaurouge 14y agoYou're missing something here. I understand Objective-C, I can write Objective-C code. But it doesn't come as naturally to me as Ruby does, there are certain nuances that I stil don't understand intuitively. Ruby is the complete opposite, coding it is almost instinctive for me. RubyMotion doesn't just slap on a Ruby syntax, its objects inherit from both Ruby and Objective-C classes with some mixed in Ruby modules. The RubyMotion development environment is, in my opinion, an improvement over XCode. And of course, there's the REPL. The "awkward hack" you mentioned is nothing. I don't particularly like the way he's implemented pointers to pointers, but that's also minor. The benefits, for me, easily outweigh the negatives.
- coffee 14y agoI couldn't agree more, and I'm glad to see you picked up on this. I feel the same way. I'm far more comfortable, and have far more trigger time on one language over another, and those inherent nuances make me far more productive. Of course it's easy enough to learn a new language/library, but that's not the point. The point is what do I know now, and what can I be productive in, the quickest. Kudos.