Objective-C

Objective-C
ParadigmsReflective, class-based object-oriented
FamilyC
Designed byBrad Cox, Tom Love
First appeared1984; 40 years ago (1984)
Stable release
2.0[1]
Typing disciplineStatic, dynamic, weak
OSCross-platform
Filename extensions.h, .m, .mm, .M
Websitedeveloper.apple.com
Major implementations
Clang, GCC
Influenced by
C, Smalltalk
Influenced
Groovy, Java, Nu, Objective-J, TOM, Swift[2]

Objective-C is a high-level general-purpose, object-oriented programming language that adds Smalltalk-style message passing (messaging) to the C[3] programming language. Originally developed by Brad Cox and Tom Love in the early 1980s, it was selected by NeXT for its NeXTSTEP operating system. Due to Apple macOS’s direct lineage from NeXTSTEP,[4] Objective-C was the standard language used, supported, and promoted by Apple for developing macOS and iOS applications (via their respective application programming interfaces (APIs), Cocoa and Cocoa Touch) from 1997, when Apple purchased NeXT until the introduction of the Swift language in 2014.[3]

Objective-C programs developed for non-Apple operating systems or that are not dependent on Apple's APIs may also be compiled for any platform supported by GNU GNU Compiler Collection (GCC) or LLVM/Clang.

Objective-C source code 'messaging/implementation' program files usually have .m filename extensions, while Objective-C 'header/interface' files have .h extensions, the same as C header files. Objective-C++ files are denoted with a .mm file extension.

  1. ^ "Runtime Versions and Platforms". Developer.apple.com. Archived from the original on July 20, 2016. Retrieved December 24, 2017.
  2. ^ Lattner, Chris (June 3, 2014). "Chris Lattner's Homepage". Chris Lattner. Archived from the original on June 4, 2014. Retrieved June 3, 2014. The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.
  3. ^ a b "App Frameworks". Apple. June 2014. Archived from the original on February 16, 2019. Retrieved February 13, 2019.
  4. ^ Singh, Amit (December 2003). "A Brief History of Mac OS X". Mac OS X Internals. Archived from the original on May 14, 2012. Retrieved June 11, 2012.