Hacker News new | ask | show | jobs
by biafra 5672 days ago
+1 on the IDE stuff of your comment.

But Objective-C is a really nice OO language. It seems you do not get its dynamic nature. Yes, its different, but by no means inferior. And yes, tooling is much better for static languages like Java.

1 comments

You may be right that I don't get Objective-C. I understand that you're not actually calling methods on objects, but instead passing messages to it. What I don't get is why the IDE and the compiler accept invalid method (message) signatures. For example, if you tried [[UIView alloc] mymethod], XCode won't say anything (unlike Eclipse which would catch that mymethod does not exist), and if you try compiling it, you will only get a warning: "UIView may not respond to mymethod". On top of that, XCode won't always display that warning, so you can run into some serious trouble.

Even if XCode were consistent, suppose you are working with some frameworks (like OpenFeint) which, when compiled in your code, have a couple of warnings here and there. How do you tell your warnings from theirs?

More importantly, calling a method (or passing a message) with an incorrect signature should absolutely be a compile-time error.

I'm not trying to be facetious here, I really do run into these problems. I'm genuinely asking why Objective-C and XCode should be considered on equal footing as some other languages?

(P.S. I'm really fired about XCode and Obj-C because I work with it almost daily and these things bother me to no end, so hopefully you're not interpreting my passion for wanting to improve these tools as smugness or arrogance directed at you)