Le Hollandais Volant

Une définition de la programmation

J’ai parfois à expliquer qualitativement ce que je voulais dire par « je programme » ou « je code ».
Je sais pas comment vous vous en sortez quand on vous pose la question, mais voilà la version longue de l’explication que je donnerai dans le futur.

Une phase essentielle en informatique

« Programmer ». Si je prends le dictionnaire, il est dit que c’est l'action d’écrire des programmes.

Bien, c’est la bonne définition, mais on est pas du tout avancé.

En fait, c’est dur d’expliquer ce qu’est la programmation à quelqu’un qui n’en a jamais fait.
Encore plus à quelqu’un qui utilise l’ordinateur tous les jours sans en faire, en fait.

Je vais pourtant essayer de me lancer dans une explication, car la programmation est quelque chose de fascinant et j’ai envie de partager ça (et je voulais partager un moyen d’expliquer ce que je fais une partie de mon temps libre).

Et surtout cette phase de « programmation » est essentielle : sans elle rien n’existerait sur nos ordinateurs : ni Windows, ni Firefox ou Word, ni le BIOS, ni votre fond d’écran, ni iTunes, ni Google, rien sur nos ordinateurs ne seraient là. Rien non plus sur nos téléphones, nos « Box », nos consoles, nos montres à quartz, nos GPS, nos voitures, ascenseurs, feux de croisement…

Même les langages de programmation ont dû être programmés… Dans d’autres langages !

Alors c’est quoi, en quoi ça consiste « programmer » ?

Imaginer et écrire un code

Je vais utiliser un exemple que tout le monde comprend : celui de la recette de cuisine.

Une recette de cuisine est une suite d’instructions à suivre et de procédures à appliquer sur des ingrédients pour obtenir un plat comestible.
Avant d’avoir le plat, il faut une recette, et avant que la recette soit prête, il y a forcément eu une étape d’imagination et d’écriture de cette recette par un cuisinier.

Par analogie, la recette de cuisine, c’est le code source d’un programme. Le programme (navigateur, traitement de texte…) c’est le plat.
Votre ordinateur dispose de programmes prêts à l’emploi, pour vous. Mais le code source — la recette, si vous préférez — n’est pas toujours fourni car pas nécessaire au fonctionnement, tout comme manger un plat ne demande pas d’en connaître la recette.

Le travail du programmeur, c’est d’imaginer un nouveau programme (pour combler une nécessité ou un besoin, par exemple), puis d’en créer le code source en écrivant ligne après ligne des instructions que la machine sait interpréter.

Si tout est fait correctement, le programme fonctionne. Il peut éventuellement rester quelques bogues mais cela se corrige par quelques ajustements (comme en cuisine en fait : un peu plus de sel, un peu moins de sucre, etc.).

Pourquoi programmer soi-même ?

Ce qu’il faut bien voir, c’est que les programmes ne sont pas sortis de nulle part.
Tapis dans l’ombre, il a quelqu’un qui un jour (ou une nuit) a écrit le code. Ce que vous utilisez tous les jours sur votre ordi, c’est le résultat de ce code.

Prenons ce site web par exemple : ses couleurs, sa mise en page, ses articles qui s’affichent dans le bon ordre… fonctionne parce que j’en ai écrit le code source : le site affiche les articles parce que j’ai décidé qu’il doit le faire.

Le système qui fait fonctionner le site (BlogoText) est une suite d’une dizaine de milliers de lignes de code dans pas moins de 6 langages différents.
L’utilisation du logiciel ne nécessite pas d’en connaître le code source et c’est ça la beauté : tout le monde peut utiliser un logiciel, alors que seuls quelques personnes ont besoin d’écrire le code source.

Programmer, ou écrire des recettes pour ordinateur, c’est quelque chose de passionnant et avec un peu de patience, tout le monde qui veut s’y essayer peut arriver à écrire un programme qui fera exactement ce que vous aurez décidé qu’il fasse.

Où commencer pour apprendre ?

Découvrir la programmation, c’est un peu comme découvrir la face caché de l’ordinateur.

Ne vous êtes vous jamais dit « tiens, ce serait cool si un logiciel faisait "ceci-cela" » ?
N’avez-vous jamais eu l’idée de faire votre propre programme ?

Et bien sachez que c’est possible avec la programmation ! En fait, c’est même le but de la programmation.

Apprendre à programmer c’est fun ! Ça demande du temps et de la patience, mais une fois qu’on a atteint un certain niveau, il est possible de demander à l’ordinateur de faire ce qu’on veut, y compris le café s’il le fallait.
C’est exactement à cela que sert un ordinateur : faire ce que l’on veut qu’il fasse (et non pas l’inverse).

Savoir programmer, c’est reprendre la main sur l’ordinateur.

Pour terminer, voilà quelques liens sur la programmation. Ils sont du Site du Zéro, la référence francophone pour apprendre à programmer. Ils font aussi des bouquins.

  • apprendre à programmer en Python, sur OpenClassRooms. Python est sûrement plus simple pour débuter : peu de tracas avec les types de variables ou les syntaxes strictes du C par exemple.
  • apprendre à programmer en C/C++, sur OpenClassRooms. Ce langage est très connu, éprouvé, mais il a le mérite non seulement de vous apprendre à programmer avec de bonnes bases, mais aussi de vous apprendre beaucoup de choses sur le fonctionnement interne d’un logiciel informatique, qui servent dans les autres langages aussi.
  • programmer un site Web en PHP. C’est ça que je fais : PHP permet de faire beaucoup de choses, en rapport avec le Web, mais aussi autres (en CLI ou avec des bibliothèques : traitement d’images, scripts locaux, par exemple).