Short answer: write Objective-C (hyphen, capital O and C) in prose and documentation. In code identifiers, file names and URLs, use a hyphen-free form (ObjectiveC or Objective_C) when a hyphen is not allowed.
Quick answer
Use Objective-C in prose, docs, resumes and papers. Use ObjectiveC or Objective_C in identifiers, filenames or places where hyphens break builds.
- Correct (prose): Objective-C
- Incorrect: Objective C, objective-c, objective c
- Code / filenames: LegacyObjectiveC, Legacy_ObjectiveC (avoid hyphens if unsupported)
Core explanation: why the hyphen matters
The hyphen joins the adjective "Objective" to the base language "C," making the name a single, recognized term. Apple and most style guides use Objective-C; dropping the hyphen reads as a casual or careless variant in formal writing.
- Treat Objective-C like other compound names: machine-learning, real-time - the hyphen signals one concept.
- Keep the hyphen in resumes, API docs, papers, READMEs and release notes for clarity and consistency.
Hyphenation specifics: possessives, plurals, and combined forms
Keep the hyphen in possessives, plurals and when the name combines with other operators (Objective-C++).
- Possessive: Objective-C's runtime
- Plural: Objective-C programs
- Combined: Objective-C++ (hyphen remains, then ++)
- Wrong: Objective C's runtime differs from Swift's.
- Right: Objective-C's runtime differs from Swift's.
- Right: The codebase contains Objective-C++ modules.
Spacing and capitalization: common slip-ups
Always capitalize O and C and never add a space. Lowercasing or inserting a space makes the term nonstandard.
- Correct: Objective-C
- Wrong: objective-c, Objective C, objective c
- When you see variants, replace them with Objective-C in prose; keep hyphen-free forms inside code where required.
Grammar and code: when to change the form
Hyphens often break identifiers, filenames and URLs. In source code use ObjectiveC or Objective_C; in prose and comments that read as sentences, use Objective-C.
- Identifiers: LegacyObjectiveCModule or Legacy_ObjectiveC
- Filenames: LegacyObjectiveC.h or Legacy_ObjectiveC.h if your toolchain dislikes hyphens
- Docs/comments: prefer Objective-C; if you include inline code, show both forms if it helps (Objective-C / ObjectiveC)
- Work - Code: typedef struct LegacyObjectiveCModule { ... };
- Work - Comment: // Mirrors Objective-C behavior in C
Real usage and tone: copyable samples for work, school and casual
Match tone to audience. Workplace and academic samples use Objective-C; casual samples accept the same correct form but allow softer language.
- Work: Deprecated Objective-C API removed in v4.0.
- Work: CI tests cover both Objective-C and Swift targets.
- Work: Please refactor the Objective-C networking module before release.
- School: In this lab we subclass an Objective-C UIViewController to implement delegation.
- School: The methods follow Objective-C naming conventions; cite Apple's docs.
- School: The paper compares garbage collection with Objective-C's ARC.
- Casual: I still fix bugs in Objective-C projects on weekends.
- Casual: Do you know Objective-C or should I port it to Swift?
- Casual: Saw an old Objective-C tutorial today-nostalgic!
Try your own sentence
Test the whole sentence rather than the phrase alone; context clarifies whether the term should be hyphenated or converted for code.
Examples: quick wrong → right pairs you can copy
Search your text for these variants and replace them with the correct form for prose.
- Search for: Objective C, objective-c, objective c, ObjectiveC (when used in prose)
- Replace with: Objective-C in prose and docs; ObjectiveC only in identifiers
- Wrong (email): We still maintain several Objective C modules in the legacy repo.
- Right (email): We still maintain several Objective-C modules in the legacy repo.
- Wrong (report): The Objective C runtime performs message passing differently.
- Right (report): The Objective-C runtime performs message passing differently.
- Wrong (comment): fixed a bug in objective-c networking code.
- Right (comment): Fixed a bug in Objective-C networking code.
- Wrong (casual): Do you know Objective C at all?
- Right (casual): Do you know Objective-C at all?
- Wrong (school): my lab implements objc patterns from objective-c tutorials.
- Right (school): My lab implements ObjC patterns from Objective-C tutorials.
- Wrong (work): Add an Objective C bridge header for the module.
- Right (work): Add an Objective-C bridging header for the module.
- Wrong (README): supports Objective C, swift and c++.
- Right (README): Supports Objective-C, Swift and C++.
Rewrite help: fast, paste-ready fixes and edit steps
Three simple steps to fix text:
- Search for variants (Objective C, objective-c, objective c, ObjectiveC used in prose).
- Replace with Objective-C.
- Re-check possessives, plurals and surrounding punctuation.
- If text is code, keep hyphen-free identifiers and add a clarifying comment if needed.
- When in doubt in formal writing, prefer Objective-C.
- Original: Our Objective C implementation is deprecated.
Rewrite: Our Objective-C implementation is deprecated. - Original: The Objective C bridge header is missing.
Rewrite: The Objective-C bridging header is missing. - Original: I submitted the objective-c lab late.
Rewrite: I submitted the Objective-C lab late. - Original: add support for Objective C and Swift.
Rewrite: Add support for Objective-C and Swift. - Original: objective-c headers are in the include folder.
Rewrite: Objective-C headers are in the include folder. - Original: The Objective C++ bindings are experimental.
Rewrite: The Objective-C++ bindings are experimental.
Memory trick and quick editing checklist
Mnemonic: Objective + C = Objective-C. The hyphen joins them into one name, like machine-learning. Use that image when proofreading.
- Checklist: Search for Objective C / objective-c / objective c / ObjectiveC → Replace with Objective-C in prose → Verify possessives/plurals → Keep identifiers hyphen-free in code.
- Tip: Use a regex like (Objective[ -]?C|objective[ -]?c|ObjectiveC) to find common variants quickly.
- Example action: Run a repo-wide search for 'Objective C' and replace in docs and comments; update filenames and build scripts separately if needed.
Similar mistakes and related terms
Keep other language names and platform trademarks in their canonical forms and use parallel formatting in lists.
- Correct forms: Objective-C++, C++, Swift, Xcode, iOS, macOS
- Wrong: Objective C++, C plus plus, X code - these break readability and correctness.
- When listing languages: keep parallel capitalization and punctuation: Objective-C, Swift, and C++.
- Wrong: We mixed Objective C++ and C++ code in the module.
- Right: We mixed Objective-C++ and C++ code in the module.
- Usage: Support planned for Objective-C, Swift and C++.
FAQ
Is it Objective C or Objective-C?
Objective-C: hyphenated and capitalized in prose and documentation.
Can I write objective-c in lowercase?
Lowercase objective-c is nonstandard in technical writing. Use Objective-C for clarity and professionalism.
Can I use a hyphen in code identifiers, filenames or URLs?
Hyphens often break identifiers and tools. Use ObjectiveC or Objective_C in code and filenames; keep Objective-C in prose and docs.
How do I make Objective-C possessive or plural?
Possessive: Objective-C's (e.g., Objective-C's runtime). Plural: Objective-C programs. The hyphen stays with the name.
Is Objective-C++ written with a hyphen?
Yes. Write Objective-C++ (hyphen is part of the name, followed by ++).
Quick pre-publish checklist
Before publishing: search for Objective C / objective-c / objective c / ObjectiveC in prose and replace with Objective-C. Adjust code, filenames and build scripts separately.
If you'd like, paste a sentence here and it will be rewritten in Objective-C form with two alternate rewrites for different audiences.