Comment Re:.NET (Score 1) 697
The short answer (from http://developer.apple.com/documentation/Cocoa/Con ceptual/ObjectiveC/Articles/chapter_4_section_3.ht ml)
"A crucial difference between function calls and messages is that a function and its arguments are joined together in the compiled code, but a message and a receiving object aren't united until the program is running and the message is sent. Therefore, the exact method that's invoked to respond to a message can only be determined at runtime, not when the code is compiled."
It's this difference between functions and messaging that allows for all of the obj-c runtime dynamism. Categories (methods added to existing classes that you don't have the source to) and DO (essentially forwarding said messages to a separate entity - where entity can be anything from thread, to process, to computer) are two of the more interesting examples.
For more info, I suggest taking a look at http://developer.apple.com/documentation/Cocoa/Con ceptual/ObjectiveC/Introduction/chapter_1_section_ 1.html
"A crucial difference between function calls and messages is that a function and its arguments are joined together in the compiled code, but a message and a receiving object aren't united until the program is running and the message is sent. Therefore, the exact method that's invoked to respond to a message can only be determined at runtime, not when the code is compiled."
It's this difference between functions and messaging that allows for all of the obj-c runtime dynamism. Categories (methods added to existing classes that you don't have the source to) and DO (essentially forwarding said messages to a separate entity - where entity can be anything from thread, to process, to computer) are two of the more interesting examples.
For more info, I suggest taking a look at http://developer.apple.com/documentation/Cocoa/Co