Category:Objective-C: Difference between revisions

Added paragraph at bottom about latest compiler (Clang), ARC, and other recent updates.
No edit summary
(Added paragraph at bottom about latest compiler (Clang), ARC, and other recent updates.)
Line 9:
|LCT=yes}}{{language programming paradigm|Object-oriented}}
[[wp:Objective-C|Objective-C]] is an [[object-oriented]] superset of the [[derived from::compatible with::C]] language. It mostly copies the message passing system from [[derived from::Smalltalk]]. It was popularized by NeXT, and then again by [[Apple Inc]] with [[Mac OS X]] and [[iOS]] to implement the [[Cocoa]] frameworks. Its main reference implementation is within the [[gcc]] compiler, maintained mostly by Apple.
 
As of October 2011, with the release of [http://developer.apple.com/library/ios/#documentation/DeveloperTools/Conceptual/WhatsNewXcode/Articles/xcode_4_2.html#//apple_ref/doc/uid/00200-SW1 XCode 4.2], Apple switched from [[gcc]] to [[wp:Clang|Clang]] as its default compiler. [[wp:Clang|Clang]]/[[wp:LLVM|LLVM]] offers competitive execution times, better compile times, improved error messages, and supports a simpler alternative syntax for expressing NSArray & NSDictionary literals and indexing. In the same release Apple also introduced automatic reference counting (ARC) which eliminates the need to manually release/retain memory. With ARC the compiler reports an error any time it encounters a call to release, autorelease, retain, or dealloc.
<br clear=right>