14 ms·
My dislike is that it uses [] for method calls. It's like making Objective-English where we swap Z and A and j for o, just for the hell of it. If thzt sjunds
by IanDrake 12y ago
My dislike is that it uses [] for method calls. It's like making Objective-English where we swap Z and A and j for o, just for the hell of it.
If thzt sjunds like fun tj yju, thzn gj fjr Jboective-C.
- trustfundbaby 12y agovery genius response!
- emp 12y agoIt's not for the hell of it. [ ] does not mean method call, it is the syntax for a message send. Objective-C is a super set of C, adding an Smalltalk like object system to C. The delimiters say "I am sending a message", which is different to a method call. Also, without them the language would be much more difficult to parse, and future changes to C could break the language. It's lasted well (first appeared in 1993). Not as long as Lisp, perhaps it needs more [ ] :)
- dragonwriter 12y ago> It's lasted well (first appeared in 1993). 1983, actually.
- emp 12y agoThanks - I felt I should type 1983, but if felt wrong! I still had my Apple ][ back then.
- IanDrake 12y agoThanks. Just read up on messaging and now I like it even less :( In Smalltalk and Objective-C, the target of a message is resolved at runtime, with the receiving object itself interpreting the message. ... A consequence of this is that the message-passing system has no type checking. http://en.wikipedia.org/wiki/Objective_c#Messages http://en.wikipedia.org/wiki/Objective_c#Messages
- infinite8s 12y agoThis is exactly what gives you the ability to easily wire up standard UI components and do tihngs like KVO. KVO is really difficult in something like C++ (for example, it's practically impossible to do in Qt to create without a lot of templating/boilerplace code).
- jfb 12y agoThis is in my opinion the best thing about Objective-C; it clearly delineates the object/class and C dichotomy, making it easier for a C programmer (or a Smalltalk programmer!) to pick up. For years, the only changes from vanilla C were the brackets, "#import" and the @ literal syntax (IIRC).
- jfb 12y agoActually, if you ask me today, after dealing with Scala's idea of how the Option type should work, I might say that nil propagation is the best thing about Objective-C.
- jonhendry 12y agoThat's how I always felt. I liked the clear differentiation between C function calls and method calls on objects.