# **🍏 Booth: Objective-C (1984)**

* **Creator:** Brad Cox and Tom Love  
* **Design Philosophy:** Objective-C was created as a thin, clean OOP extension to the standard C programming language. It fused the procedural performance of C with the clean, highly dynamic message-passing model of Smalltalk.  
* **Key Innovations:** Dynamic runtime system, selector-based message dispatch, category extensions (appending methods without subclassing), and dynamic typing (id).

## **🚀 Hello, World\!**

\#import \<Foundation/Foundation.h\>

int main(int argc, const char \* argv\[\]) {  
    @autoreleasepool {  
        NSLog(@"Hello, World\!");  
    }  
    return 0;  
}

## **🎨 Showpiece: Custom Class and Message Sending**

In Objective-C, method calling is fundamentally treated as message passing. The syntax \[receiver message\] does not resolve statically; instead, it is handled at runtime via the Objective-C messaging system:

![][image1]\#import \<Foundation/Foundation.h\>

// \--- Interface Declaration \---  
@interface GreetingMachine : NSObject {  
    NSString \*\_prefix;  
}

\- (instancetype)initWithPrefix:(NSString \*)prefix;  
\- (void)greetUser:(NSString \*)name;

@end

// \--- Implementation \---  
@implementation GreetingMachine

\- (instancetype)initWithPrefix:(NSString \*)prefix {  
    self \= \[super init\];  
    if (self) {  
        \_prefix \= \[prefix copy\];  
    }  
    return self;  
}

\- (void)greetUser:(NSString \*)name {  
    NSLog(@"%@, %@\!", \_prefix, name);  
}

@end

// \--- Execution \---  
int main(int argc, const char \* argv\[\]) {  
    @autoreleasepool {  
        // Instantiate and send keyword-style messages  
        GreetingMachine \*greeter \= \[\[GreetingMachine alloc\] initWithPrefix:@"Welcome to the Museum"\];  
          
        \[greeter greetUser:@"Ada Lovelace"\];  
    }  
    return 0;  
}  


[image1]: <data:image/png;base64,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>