Previously we learn Development tools in iOS : iOS Software Development Tools
At its core, Objective-C is an ANSI standard version of the C programming language. Wrapped around this ANSI C core is a Smalltalk-inspired set of extensions that give the language its object-oriented capabilities, as well as several other enhancements that you don’t get from the regular version of C.
Brad Cox and Tom Love created the Objective-C programming language in the early 1980s in an effort to get people to write cleaner, more modular, and clearly separated code. Contrary to popular belief, Objective-C wasn’t invented by, nor is it exclusively owned by, Apple. It’s actually an open standard; in the past, implementations of the Objective-C compiler existed that even ran on Windows.
Cox showed that the construction of interchangeable software components really only needed a few practical changes to existing conventions. Objects needed to be supported in a more flexible manner, which would work in conjunction with a usable set of libraries, allowing for code to be bundled into a single cross-platform format.
To commercialize their creation, the dynamic duo created Productivity Products International, which allowed for the sale of an Objective-C compiler with class libraries. In 1986, Cox published a book about the language entitled Object-Oriented Programming, An Evolutionary Approach. Although the main focus of the instructional text was to point out the issue of reusability, Objective-C has been compared feature-for-feature with the major players in the programming game every since.
[ Objective-C isn’t just like C, it is C. If you have had any experience with C, learning Objective-C should be a breeze. Most developers find that learning the Objective-C syntax takes very little time at all, and the rest of the learning curve is devoted to learning about all the tools and controls available in Cocoa for Mac OS X.]
After Steve Jobs’ departure from Apple, he started a new company called NeXT. In 1988, NeXT licensed Objective-C from the owner of the trademark, releasing its own Objective-C compiler and libraries on which the NeXTstep UI and interface builder were based. The innovative nature of this graphics-based interface creation resulted in the creation of the first web browser on a NeXTstep system.
With Apple’s acquisition of NeXT in 1996, Apple used OpenStep, the standard that Steve Jobs pushed forward based on the Objective-C libraries he so vehemently supported, to build Mac OS X. This included a new developer tool that was later replaced by Xcode as well as a design tool called Interface Builder. Most of Apple’s present-day Cocoa API is based on NeXTstep interface objects.
At the Worldwide Developers Conference in 2006, Apple announced Objective-C 2.0, a revision of Objective-C that included syntax enhancements, performance improvements, and 64-bit support. Mac OS X officially included a 2.0-enabled compiler in October 2007. It is unclear at this time whether these language changes will be available in the GNU runtime, or if they will be implemented to be compliant with the larger Objective-C 2.0 standard.
[Cocoa classes begin with the acronym "NS" (standing either for the NeXT-Sun creation of OpenStep, or for the original proprietary term for the OpenStep framework, NeXTSTEP): NSString, NSArray, etc.
Foundation Kit, or more commonly simply Foundation, first appeared in OpenStep. On Mac OS X, it is based on Core Foundation. Foundation is a generic object-oriented library providing string and value manipulation, containers and iteration, distributed computing, run loops, and other functions that are not directly tied to the graphical user interface. The "NS" prefix, used for all classes and constants in the framework, comes from Cocoa's OPENSTEP heritage, which was jointly developed by NeXT and Sun..]
Next, we will see about : Objective-C : Programming Language Summary