# **🐦 Booth: Swift (2014)**

* **Creator:** Chris Lattner (Apple)  
* **Design Philosophy:** Safe, fast, and expressive. Swift represents a ground-up reimagining of application and systems architecture for Apple systems, replacing Objective-C with modern syntax patterns, type inference, and value-type semantics.  
* **Key Innovations:** Optionals (safe nil handling), Automatic Reference Counting (ARC), protocol-oriented programming, and strict value semantics (struct over class).

## **🔒 Value Semantics & References**

Swift enforces strict value safety. Unlike classes (which copy reference memory addresses), structures in Swift utilize Copy-on-Write value-type copying.

Let the assignment of a value type structure be defined as:

![][image1]This prevents unexpected global side-effects, ensuring code remains predictable across multi-threaded applications.

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

print("Hello, World\!")

## **🎨 Showpiece: Protocol-Oriented Math Mapping**

This program highlights safe unwrapping structures, Protocol-Oriented design, and generic structures containing optional returns.

// Define a math operator blueprint utilizing protocols  
protocol Transformable {  
    associatedtype Element  
    func apply(to val: Element) \-\> Element?  
}

// Implement a safe square root transformer using generic value structures  
struct SafeSquareRoot: Transformable {  
    typealias Element \= Double  
      
    func apply(to val: Double) \-\> Double? {  
        // Optionals prevent mathematical domains from triggering undefined crashes  
        guard val \>= 0 else { return nil }  
        return val.squareRoot()  
    }  
}

// Executing code sample  
let calculator \= SafeSquareRoot()

let inputs: \[Double\] \= \[16.0, \-9.0, 4.0\]

print("Applying safe protocol operations on inputs:")  
for num in inputs {  
    // Safely unwrap optionals using "if let" syntax  
    if let result \= calculator.apply(to: num) {  
        print("Success: sqrt(\\(num)) \= \\(result)")  
    } else {  
        print("Failure: sqrt(\\(num)) yields an imaginary value domain exception")  
    }  
}  


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