When would you still write Objective-C today?
Legitimate reasons to write new Objective-C today
- Maintaining or extending a large existing Objective-C codebase.
- Certain Objective-C runtime features that Swift can’t express as naturally — method swizzling, highly dynamic runtime introspection, KVO-heavy code.
- Certain low-level system/private API work — especially macOS AppKit corners.
- A library specifically meant to be consumed equally well from both Objective-C and Swift, with zero friction.
- Extremely small, stable utility code where a rewrite has negative ROI.
Reasons that used to be valid but mostly aren’t anymore
- “Swift compile times are too slow”
- “Swift lacks feature X”
- “My team doesn’t know Swift”
- Fear of ABI/binary compatibility issues
The honest framing for an interview
“For genuinely new projects today, I’d default to Swift essentially always. Where I’d still write new Objective-C is inside an existing large ObjC codebase, where the cost of bridging back and forth outweighs the benefit, or for code that specifically needs Objective-C runtime dynamism — swizzling, heavy KVO, runtime category injection. Otherwise it’s a legacy-maintenance question, not a technical-merit one.”
That signals you understand it’s a cost/context decision, not a language-loyalty one — the actual senior-level judgment being tested.