I haven't done a lot of programming in either Cocoa or Rails but I will say that, having done several tutorials for Cocoa Bindings, it seemed to me that mistakes made in binding were extremely hard to find. I do remember thinking it would have been simpler to have them specified in code, which can be seen, rather than bindings, which I had to basically redo in order to fix. Whatever is tedious in a tutorial is bound to be seriously frustrating in a real application.
Now, having used both, I would say that of course Cocoa is better to use in Objective-C. Every language has its own flavor and Objective-C is somewhat stranger than most. But the fact is Ruby is a higher-level language. I find nothing doubtable in Tim's assertion that Ruby is more concise. Look at ActiveRecord, where one line of code like acts_as_tree can have such far reaching ramifications as defining a half-dozen methods based on optional parameters. You can tell it's higher level because declarative seeming constructs like that exist but are still actually implemented in library code. Lisp is even better at this kind of thing with its macro facility.
I say, let's see what he comes up with. It won't be as good as some idealized Ruby GUI framework that doesn't exist, but it will probably be good.
by Daniel Lyons — Jan 06
Now, having used both, I would say that of course Cocoa is better to use in Objective-C. Every language has its own flavor and Objective-C is somewhat stranger than most. But the fact is Ruby is a higher-level language. I find nothing doubtable in Tim's assertion that Ruby is more concise. Look at ActiveRecord, where one line of code like
acts_as_tree
can have such far reaching ramifications as defining a half-dozen methods based on optional parameters. You can tell it's higher level because declarative seeming constructs like that exist but are still actually implemented in library code. Lisp is even better at this kind of thing with its macro facility.I say, let's see what he comes up with. It won't be as good as some idealized Ruby GUI framework that doesn't exist, but it will probably be good.