3 ms·
It'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 obj
by emp 12y ago
It'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).