• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

Difference between C and Objective-C?

Newbie Spellweaver
Joined
Oct 31, 2010
Messages
8
Reaction score
9
C is an "old" programming language. It is quite low-level, that means it is quite close to assembly and the machine code that actually runs on the processor. It is a procedural language. In a procedural language you focus on solving problems with step by step recipes. Recipes can be reused, this is called a function. As programs grow larger functions will typically be grouped out in separate files based on functionality.

Objective C keeps all aspects of C and allows you to build programs exactly the way you would do a C program if you want.

In addition Objective C adds syntax and semantics that allows for object oriented programming. Object oriented programming differs from procedural programming by focusing on grouping data and methods of manipulating this data in classes.

Usually you will be able to write any program using either C or Objective C, the difference is the approach you take to solve the problem. Some find it easier to think procedural for small problems, but objective oriented design has advantages when it comes to tackling large problems. First of all because it becomes easier to divide the problem into subproblems and submodules that can be developed and tested individually. Secondly because it is easier to reuse your own or other's modules.

As for the problem of remembering everything. For the vast majority of us it is impossible to quickly memorize all aspects of a programming language straight away. You're going to have to keep books and other documentation handy at all times. The best way to learn is to practice. Create small programs to test, learn and understand new things as you go along.
 
Back
Top