SwiftQA Random

When would you still write Objective-C today?

Legitimate reasons to write new Objective-C today

  1. Maintaining or extending a large existing Objective-C codebase.
  2. Certain Objective-C runtime features that Swift can’t express as naturally — method swizzling, highly dynamic runtime introspection, KVO-heavy code.
  3. Certain low-level system/private API work — especially macOS AppKit corners.
  4. A library specifically meant to be consumed equally well from both Objective-C and Swift, with zero friction.
  5. 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.