
Cette première série d’articles sur le langage Objective-C n’a pas pour but de vous apprendre à écrire des programmes avec des fenêtres et des interfaces utilisateurs évoluées. Ce que je cherche à vous présenter est le langage en lui-même, dénué des compléments et extensions tels que Cocoa (qui est un ensemble de classes (que nous aborderons la prochaine fois) et de fonctions vous simplifiant le travail et vous épargnant de nombreuses lignes de code).
Trêve de bavardages, vérifions déjà les pré-requis :
MacOS X
Xcode ou Project Builder (les copies d’écran se feront depuis Xcode 1.5) installé sur votre ordinateur
Une connaissance minimale de l’informatique et de l’anglais technique
De la patience
Du café
Si vous avez déjà tout ça, vous pouvez aller directement au paragraphe suivant, sinon, pour XCode (MacOS X 10.3) ou Project Builder (MacOS X 10.0 jusqu’à 10.2) , vous pouvez télécharger la dernière version directement sur le site d’Apple : http://connect.apple.com après vous être créé un compte. Sinon, un petit pas à pas pour la configuration (les valeurs par défaut étant parfaites dans la plupart des cas) :
Dans Xcode/Project Builder, créez un nouveau projet (File > New Project ...).
Choissisez comme type de projet "Foundation Tool" et nommez-le comme vous souhaitez, "HelloWorld" serait parfait (et c’est ce nom que j’ai utilisé).
Vous voici enfin devant la chose. Double-cliquez sur le fichier HelloWorld.m, un éditeur apparaîtra avec le code ci-dessous :
Supprimons tout ça, on en a pas grand chose à faire pour l’instant et remplaçons le par
Cliquez sur le marteau dans la barre d’outil de l’éditeur pour lancer la compilation [1], Xcode va être occupé quelques instants et normalement va afficher en haut à gauche de la fenêtre "built succeeded". Sinon, vérifiez ce que vous avez écrit, il doit y avoir une erreur quelque part.
Cliquez sur le rond vert avec la flèche et ça lance l’application dans une console. Votre première application fonctionne !
Petite analyse succinte des opérations, ligne par ligne :
#import <stdio.h> rajoute au programme les fonctions [2] nécessaires pour afficher des données à l’écran, ou en saisir d’autres. stdio signifiant Standard Input/Output.
int main () déclare la fonction principale et les accolades, ouvrantes et fermantes, définissent les limites du contenu de cette fonction.
printf("hello world"); nous permet d’inscrire à l’écran hello world. printf() est une fonction de stdio.
return 0; est une instruction spéciale qui signifie que désormais la fonction main est finie et qu’elle renvoie la valeur 0.
Un langage de programmation est d’abord un langage et à ce titre nécessite une syntaxe et une grammaire. Nous avons rencontré dans les quelques lignes notre programme des éléments "universels", que vous rencontrerez souvent en Objective-C ainsi que dans d’autres langages.
; : Le point-virgule détermine la fin d’une instruction. printf("hello world"); et return 0; sont des instructions.
() : Les parenthèses permettent de spécifier un paramètre. Par exemple, dans printf("hello world");, le paramètre est "hello world". Ces paramètres sont parfois optionnels. Notre fonction main() n’en demande pas aujourd’hui. Nous verrons plus tard que c’est très rarement le cas.
{} : Les accolades permettent de grouper un ensemble d’instructions.
Je vous laisse là pour l’instant. Bien que ce que nous ayons écrit n’est pas en soit très valorisant dans l’immédiat, il nous permettra d’aller plus vite quand les choses deviendront plus complexes.
[1] La compilation est le processus rendant votre code directement exécutable par le processeur. En effet, un processeur ne peut comprendre que les zéro et uns, mais écrire d’une telle façon un programme est inimaginable, c’est pourquoi, nous nous adressons indirectement à l’ordinateur grace à un langage de programmation.
[2] En Objective-C, l’une des structures de base d’un programme est la fonction. La fonction permet de déclarer et définir un sous-programme.