nuclear  zone  productions  

                           ARTICLES  &  BLOG








               

                                                                       
EMPOWER NETWORK BLOG




   A Programming Journey in any of the Languages in a tough one.
  However generally once you learn one Programming Language it's fairly easy to shift towards a                         different Platform especially within the same Family of Coding. 
  C, C++ and Objective C are related so its not too difficult to work between these Platforms. 
  Even shifting to Java afterwards is not too difficult. 

   IOS and OS X use Cocoa and Cocoa Touch Frameworks.
  Cocoa descends from Objective C and Objective C descend from C. 
  Actually the deeper we dig into Cocoa and Objective C the more C Language we will see. 

  Coding Apps for Apple is amazing because Apple is one of the only companies in the World that allows you 
  to create your own Apps and if accepted distribute them in the App Store, let's you use their tools and 
  offers support which is pretty cool. 

  I hope some of these educational videos and sample source code will help you to write your own scripts. 

  Good Luck! 


Objective C


Objective  C is an object oriented programming language. Object Oriented Programming differs from traditional  C because of the way components are grouped together into Objects. Object Oriented Programming is a strict super set of  C with Smalltalk.  Developed in 1980s  by Brad Cox and Tom Love at  Stepstone. It was officially published by them in 1986
at Productivity Products International.
In 1988  NeXT Computers (Steve Jobs)  licensed Objective  C from Stepstone, became  NeXTSTEP operating system where  OS X and IOS operating system platforms originated. These platforms use  Cocoa and  Cocoa Touch  API's.
Apple acquired  NeXT  in  1996.  NeXTSTEP was modified into  Open Step  API and first used that year in the new operating system for a  Macintosh  OS

Both Objective C and C++ descend from C. 
C in the Parent Language and both Objective C and C++ are Children of C with much more advanced functionality.
C is not an Object Oriented Programming Language but both Objective C and C++ are, the same as Java.
Objective C is a Super Set of C, anything we cay say in C we can call in Objective C.

Today's programming was starting to get very complex with a lot of Data floating around and the source code was 
complicated to control and would actually interfere with each other and the solution to this problem is 
Object Oriented Programming. This type of programming simplifies the control of applications at Run Time.

This type of programming let's us " wrap " whole sections of code into self contained OBJECTS that we can control very
easily with Methods. This process packs a ton of functionality into these objects and Data that is hidden and can be 
controlled with specific methods towards specific Objects. This process is called ENCAPSULATION.

MAJOR COMPONENTS OF OBJECTIVE C ARE:

<CLASSES>
Class is a Structure of Data  (contains variables) that holds Data and Functions. Different classes will own different properties and methods. A class almost always inherits properties and methods from other classes.
A class serves as a Template or a blueprint for creating an Object.
A class is something we can use to represent things symbolically on our computer that can represent real objects / things in
the real world. A class operates on it's method's and is used to Model Data.

<OBJECTS>
Objects represent sets of Data. Objects will consist of Data and Methods. Objects are INSTANCES of Classes.
Objects are always instantiated from classes. We create these objects by allocating memory on the heap and
initializing these allocations. This process represents a CONSTRUCTOR.
Creating an Object from a Class is called INSTANTIATION and this process will define an Object.
Each Object will inherit different properties and methods from specific class.
An Object in Objective C can be compared to a real Object in the real world.
All objects in Objective C are Pointers.

<INSTANTIATION>
Instantiation occurs when we create (INSTANTIATE) an Object from a Class. 
This Object we can control with specific Methods owned by that class.

<METHODS>
Methods are actions performed on an Instance of a Class.
Method is a Subroutine but it associates with a specific Object.
Different Objects will inherit different properties and methods from different Classes.
When we call a Method we are sending a message to an Object.
This CALL will work on the Methods contained within the Object and the Data contained within the Object.
This Encapsulation is very effective for a very organized flow of code.
We can send  a single method to multiple Objects.

<FUNCTIONS>
Functions we use to specify conditions and operations.
We generate logic and code flow using functions.

<VARIABLES>
Hold Data within the Applications. 
A Variable is an Instance of a Class, an Instance Variable or an Ivar.
It is a Variable that is accessed by an Object., an Instance of a Class.
By declaring properties and Synthesis now we gain access to the Setters and the Getters.

<NSObject>
NSObject is the Parent ROOT Class in Objective C.
IOS Descends from Cocoa and NSObject is the highest Ultimate Parent Class in Cocoa.
All Classes inherit from NSObject at some point directly or indirectly.
If we Subclass from NSObject we will inherit all of it's properties and Methods.
Contains (alloc) and (init) methods.
(alloc) is a class method of NSObject.
(init) is an instance method of NSObject.
Also contains Introspections methods with which we can inspect Objects at Run Time.