×

Blog

Comment créer un programme?

Comment les développeurs arrivent, à partir de simples lignes de codes, à créer des programmes exécutables comme par exemple des jeux vidéos, des sites internet ou encore des applications mobiles? C’est de la magie? Ou pire encore, de la sorcellerie!? Rien de tout ça bien sure, c’est simplement de la programmation. Mais que signifie exactement programmer?

Que signifie coder un programme?

Il faut bien comprendre que tout programme, que ce soit un jeu vidéo, un site internet, un éditeur de texte ou encore un système d’exploitation, a été créé via du code source écrit par un développeur.

du code au programme

Mais, du code source c’est quoi exactement? C’est simplement, un ensemble d’instructions qui sont écrit par un développeur et qui vont être ensuite donnée à votre ordinateur pour qu’il les exécutes. On donne à l’ordinateur la liste ordonnée des actions qu’il doit réaliser.

instructions programmation

L’ordinateur exécute alors ces instructions de manière bête et méchante sans réfléchir. Cela signifie que lorsqu’il y a un bug dans un programme, c’est de la faute du développeur qui à mal expliquer à l’ordinateur ce qu’il devait faire :p

Pour faire l’analogie avec la vie de tous les jours, prenons l’exemple d’un gâteau.

coder c'est du gateau

On peut alors imaginer que notre développeur c’est le chef pâtissier qui va écrire la recette du gâteau. Nous, petits gourmands, nous allons cuisiner le gâteau en suivant la recette. Dans cette analogie, nous somme alors l’ordinateur. Et comme dans l’analogie, si le chef se trompe dans la rédaction de la recette, nous allons rater notre gâteau (équivalent d’un bug).

C’est quoi un langage de programmation?

Vous vous en doutez, on écrit pas du code comme on écrit une recette de gâteau. Pour cela on va utiliser ce que l’on appelle des langages de programmation. Des langages de programmation il en existe des tonnes! Voici une petite sélection:

les langages de programmation

Mais le problèmes, c’est qu’un ordinateur ne peut pas comprendre les langages de programmation. N’oubliez pas, un ordinateur c’est pas très malin! Les langages de programmation sont fait pour simplifier l’écriture du code par un Humain. Pour que l’ordinateur puisse exécuter un programme, il faut convertir le code écrit dans le langage de programmation en langage machine. Donc oui, il y a au moins un convertisseur par langage de programmation.

du code au langage machine

Les langages de programmation peuvent être rangés en deux grandes catégories, les langages compilés et les langages interprétés. Cela correspond à deux méthodes de transformation du langage de programmation en langage machine.

langages compilés et interprétés

Langages compilés

Il faut voir la compilation comme la traduction d’un livre. Pour traduire un livre Anglais en Français, on prend un traducteur qui traduit le livre en entier pour créer la version Française. Cela prend du temps mais lorsque c’est terminé, on peux dupliquer la version Française et la distribuer à plusieurs personnes sans avoir à refaire la traduction.

traduire un livre

La compilation c’est un peu la même chose. Le compilateur vas traduire tout le code source en langage machine. Cela prend un peu de temps, mais après on peux distribuer le binaire sur différents ordinateurs pour exécuter le programme. C’est le cas, par exemple, des fameux .exe sous Windows.

langage compilé

Langages interprétés

Il faut voir les langages interprétés comme un discourt interprété dans une autre langue en directe. Une personne parle par exemple en Français et l’interprète vas alors directement traduire cette phrase puis attendre la suivante. Et ainsi de suite. Cela signifie que si la personne fait de nouveau ce discourt, l’interprète vas de nouveau traduire les même phrases les une après les autres.

jouer les interpretes

Pour exécuter un programme écrit avec un langage interprété c’est la même chose. Chaque instruction est traduite puis envoyé à l’ordinateur pour exécution les une après les autres. On traduit une instruction, puis on la donne à l’ordinateur pour exécution puis on passe à l’instruction suivante et ainsi de suite. Cela signifie donc que pour exécuter de nouveau le programme, il faut de nouveau interpréter les instructions.langage interprété

C’est pour cela que l’on dit que les langages compilés sont plus performants que les langes interprétés. La partie traduction du langage de programmation en langage machine prend un certain temps. Dans le cas de la compilation, ce temps ne se retrouve pas lors de l’exécution du programme, contrairement aux langages interprétés.