BUT WHAT DID YOU DO BEFORE ? GNO OF COURSE !!! AND THE BASIC CALC PROGRAM... Here is a little program in ObjectiveC that shows you it's complex to start programming. This complexity is here to show that it is easier to start programming in C with GNO. It's like a baby trying to walk, start with the easiest tools first. You have nothing without pain... You're like water, you take the shape wherever you are. Here is a source code to be considered like a Hello World in ObjectiveC. For me Brad COX the inventor of ObjectiveC was a genius like Steve JOBS. But I can't understand all the work from Brad COX and Steve JOBS. I am only human. ************ run.sh ********* cc -g -DDEBUG -Wall -o Calc *.m ************ calc.h ********* #import /* **** Une méthode sans argument pour l'objet Calc Une méthode avec un argument pour l'objet Calc Une méthode avec deux arguments pour l'objet Calc **** */ @interface Calc:Object { int sortie; } - (void) message; - (void) messageAvecUnInt:(int) monEntier; - (void) messageAvecDeuxInt:(int) premierEntier :(int) deuxiemeEntier; @end ************ calc.m *********** #import "calc.h" @implementation Calc - (void) message { printf("Affiche depuis l'objet Calc\n); } - (void) messageAvecUnInt:(int) monEntier; { printf("Affiche un entier passe en argument : %d\n",monEntier); } - (void) messageAvecDeuxInt:(int) premierEntier :(int) deuxiemeEntier; { printf("Premier entier : %d et deuxieme entier : %d\n, \ premierEntier, deuxiemeEntier); } @end ************ calc_main.m ************ #import #import "calc.h" int main(); id Calc; void initCalcObject(void) { Calc = [[Calc alloc] init]; } void run(void) { printf("\Nous sommes dans le programme\n"); } void cleanUp(void) { [Calc free]; } int main() { initCalcObject(); run(); [Calc message]; [Calc messageAvecUnInt:99]; [Calc messageAvecDeuxInt:33 :55]; cleanUp; exit(0); }