What does it mean to call objective-c a messaging language?


 In a procedural language like C, when you call a function, that functions pointer is placed on the stack and the execution pointer jumps to it immediately.  In objective-c, when you call a function you place your request to call a function onto the runtime queue.  Later the runtime will pop your request and do the actual call.  The asynchronous nature of this operation is the key difference. 

why this is good and how it could be bad ?

One way it can be good is because we can alter the destination of a message at runtime by switching the implementations, a drawback to messaging is that adds a bit of overhead to every call — doing it a lot in a tight loop can degrade the performance of your app.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s