Category:Objective-C: Difference between revisions

Content added Content deleted
No edit summary
(Added paragraph at bottom about latest compiler (Clang), ARC, and other recent updates.)
Line 9: Line 9:
|LCT=yes}}{{language programming paradigm|Object-oriented}}
|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.
[[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>
<br clear=right>