Résidu Pentagone

Je veux programmer… Mais je sais pas par où commencer !

Salutations, internaute ! Si vous commencez à vous intéresser à la programmation, que vous avez envie de faire des choses mais que vous vous sentez impuissant⋅e face à l'immensité obscure que représente le monde du code et de l'informatique, alors cet article est fait pour vous !

En effet, la programmation est un territoire très, très vaste qui permet tout un tas de possibilités, parfois même des trucs auxquels on ne penserait jamais. vous avez envie d'explorer ce territoire et de faire votre bout de chemin ? C'est super ! Dites-vous bien que ce qui va vraiment vous faire progresser, c'est votre envie. N'oubliez donc pas de vous faire plaisir en apprenant !

Pour commencer, il est bon de savoir, à peu près, ce que vous avez envie de faire avec la programmation. Il y a tout un tas de possibilités. Vous pourriez très bien avoir envie de faire des applications mobile utiles, de programmer des jeux, de générer des images, d'expérimenter des IA (intelligence artificielle), faire du web, de faire de la musique… Comme je l'ai dit, les possibilités sont vastes et cette liste n'est pas exhaustive. Je peux vous aiguiller sur un certain nombre de cas de figure, mais pas sur tous. J'ai une certaine expérience de la programmation, mais il y a aussi énormément de choses que j'ignore complètement et que j'ai encore à apprendre —et c'est ça qui est excitant !

Cet article s'adresse donc principalement aux débutant⋅e⋅s, aux curieu⋅ses⋅x, aux explorat⋅eur⋅rice⋅s ou même aux artistes. Expert⋅e⋅s prétentieu⋅se⋅x s'abstenir !

Les notions de base

Dans à peu près n'importe quel langage de programmation, vous pouvez retrouver un certain nombre de notions élémentaires auxquelles vous n'échapperez pas. Pour chaque notion, je vais aussi vous montrer ce que ça donne dans plusieurs langages de programmation : en C, en Javascript (JS) et en Python (Py).

Les variables

Une variable est une boîte qui contient quelque chose. C'est une boîte que vous pouvez créer, et vous pouvez mettre ce que vous voulez dedans. Ce que vous y mettez peut être un nombre (-12, 256, 0.2516…), une chaîne de caractères ("Hello world", "Je suis un KIWI", "moi + toi = 3"), un tableau de valeurs (appelé array), un booléen (un genre de bouton vrai / faux) ou même un objet (notion que j'aborde plus bas).

Le contenu de cette boîte est variable ! Ce qui veut dire que, à tout moment, vous pouvez en modifier le contenu. Certains langages de programmations exigent que vous ne mélangiez pas les types de valeur dans votre boîte, tandis que d'autres s'en fichent et s'avèrent souples à ce niveau.

Quand vous créez une variable, on appelle ça "déclarer une variable". Lorsque vous déclarez une variable, l'ordinateur fait de la place dans sa mémoire vive pour accueillir le contenu de cette variable. Grosso merdouille, il vous réserve une boîte ! Et vous déclarez une variable en lui donnant un nom (sans espace).

Déclaration d'une variable qui contient un nombre entier :

(en C)
int maVariable = 64;

(en JS)
var maVariable = 64;

(en Py)
maVariable = 64

Ainsi, je peux faire des calculs avec mes variables ; les additionner, les multiplier, les soustraire, les diviser, les triturer, les dupliquer, les tronquer, les accumuler, les assembler…

Quant à la déclaration d'une variable qui contient une chaîne de caractères, voici :

(en C)
char phrase[] = "Bonjour tout le monde !";

(en JS)
var phrase = "Bonjour tout le monde !";

(en Py)
phrase = "Bonjour tout le monde !"

Les conditions

Les conditions sont également une notion très importante en programmation. Les conditions sont décrites au travers de if / else (et dans d'autres cas plus particuliers). C'est assez difficile à expliquer comme ça, alors je pense que je vais l'expliquer sous la forme d'une situation :

Mettons que vous soyez un⋅e enfant et que vous vouliez monter dans un manège à sensations. Seulement, pour rentrer, il faut que votre taille fasse 1m40 ou plus ! Donc, si votre taille est supérieure ou égale à 140cm, alors vous pouvez monter dans le manège, sinon vous ne montez pas.

Une condition permet de vérifier un état, une valeur ; de vérifier si quelque chose est vrai (true) ou faux (false). Si la condition vérifiée est vraie, alors on fait quelque chose. Sinon, on fait autre chose. Voici notre exemple retranscrit en code :

(C et JS)
if ( taille >= 140 ) {
    (Vous pouvez monter);
} else {
    (Vous ne pouvez pas monter);
}

(Py)
if taille >= 140:
    (Vous pouvez monter)
else:
    (Vous ne pouvez pas monter)

Les boucles

Les machines sont particulièrement douées pour faire, à répétition, les mêmes tâches des miliers de fois. Vous pouvez demander à votre ordinateur d'effectuer des tâches à répétition, et aussi lui dire combien de fois il doit répéter ces tâches. Il existe plusieurs types de boucles en programmation, comme les while, les do while, les foreach… Mais la plus courante est la boucle for.

Les boucles sont utiles pour de nombreuses raisons. Mettons par exemple qu'une recette de cuisine me demande de casser 5 œufs. Je vais donc faire cinq fois l'action de casser un œuf. En pseudo-code, cela se traduirait par :

casser un œuf
casser un œuf
casser un œuf
casser un œuf
casser un œuf
mélanger avec la farine

C'est un peu barbant, mais ça va. C'est pas la fin du monde. Maintenant, imaginez que je doivent casser 100 œufs ! Argl, ça commence à faire beaucoup. Au lieu de cela, je vais plutôt dire de répéter cinq fois l'action de casser un œuf.

répéter 5 fois l'action : casser un œuf
mélanger la farine

Pour compter 5 répétitions, la boucle for se sert d'une variable (souvent appelée i pour iterator) comme d'un compteur. À chaque fois que la tâche est effectuée une fois, le "compteur" augmente de 1. À la fin de la tâche, la boucle for vérifie si le compte est bon. "Est-ce que mon compteur égale 5, maintenant ? Ah, non. Bon, on continue". Si le compte est bon, la boucle est finie et on passe à la suite (mélanger la farine).

(C)
int compteur;
for ( compteur = 0 ; compteur < 5 ; compteur += 1 ) {
    casserUnOeuf();
}
melangerFarine();

(JS)
for ( var compteur = 0 ; compteur < 5 ; compteur ++ ) {
    casserUnOeuf();
}
melangerFarine();

(Py)
for compteur = 0 in range(5):
    casserUnOeuf()
melangerFarine()

Les fonctions

C'est peut-être une notion que vous avez croisé en cours de maths. C'est en réalité très proche. Une fonction est une suite d'instructions, c'est un peu comme une page de manuel que j'ai écrit pour mon programme, de telle sorte à ce qu'il sache quoi faire quand je lui demande de faire quelque chose.

Si vous demandez à votre ordinateur de monter un meuble Ikéa, il ne va pas vous répondre. Un ordinateur est idiot. Il ne sait pas ce que ça veut dire, "monter un meuble Ikéa" (cas n°1). Vous pouvez donc lui expliquer tout ça en déclarant une fonction. Dans cette fonction, vous lui donnez les instructions à suivre pour monter un meuble Ikéa. Ainsi, il saura quoi faire ! (cas n°2)

(Cas n° 1)
Ordinateur, monte-moi un meuble Ikéa.
> ordinateur : Gné ? (génère une erreur)

(Cas n° 2)
Comment monter un meuble Ikéa :
    - Prendre la pièce 1
    - L'emboîter dans les pièces 2 et 3
    - Rajouter de la colle et du scotch

Ordinateur, monte-moi un meuble Ikéa.
> ordinateur : … Voila ! J'ai réussi !
> ┬─┬ ノ(゜-゜ノ)

Une fonction peut aussi prendre ce qu'on appelle des paramètres. C'est comme en maths, avec par exemple f(x)=x²x serait le paramètre et le résultat. Mais, mettons les maths de côté. Un paramètre pourrait être interprété comme le réglage de température de votre grille-pain. C'est une valeur que vous indiquez, en plus de la fonction, pour moduler le résultat ou le comportement de la fonction. Mettons, par exemple, que je veuille faire écrire un message à la machine, dans le montage du meuble ikéa.

Comment monter un meuble Ikéa, avec un message dessus :
    - Prendre la pièce 1
    - L'emboîter dans les pièces 2 et 3
    - Rajouter de la colle et du scotch
    - Écrire le message sur le meuble

Monte-moi un meuble Ikéa avec le message "Je suis une table" dessus.
> ordinateur : … Voila ! J'ai réussi !
> "Je suis une table" -> ┬─┬ ノ(゜-゜ノ)

Maintenant, monte-moi un meuble Ikéa avec le message "Je t'aime" dessus.
> ordinateur : … Voila ! J'ai réussi !
> "Je t'aime" -> ┬─┬ ノ(゜-゜ノ)

Les paramètres sont essentiels. Une fonction peut n'employer aucun paramètre, mais le plus souvent, il y en a. Par exemple, il existe toujours une fonction pour afficher un message, du genre printf() en C, ou console.log() en JS. De telles fonctions ont un paramètre : le contenu du message à afficher.

(C)
void meubleIkea(char[] message) {
    (prendre pièce 1);
    (emboîter dans pièce 2 et 3);
    (mettre colle et scotch);
    printf(message);
}

(JS)
function meubleIkea(message) {
    (prendre pièce 1);
    (emboîter dans pièce 2 et 3);
    (mettre colle et scotch);
    console.log(message);
}

(Py)
def meubleIkea(message) :
    (prendre pièce 1)
    (emboîter dans pièce 2 et 3)
    (mettre colle et scotch)
    print message

Objets

La notion d'objet en programmation peut être assez complexe. Il existe des langages de programmation dits "orientés objet", tels que Python ou Javascript. Cela veut dire que la logique de ces langages est orientée vers la notion d'objet. Mais qu'est-ce qu'un objet en programmation ?

Un objet, en programmation, est un genre de grosse méta-variable. Un objet est une variable qui contient d'autres variables de tout type, et qui peut aussi contenir des fonctions. Les fonctions rattachées à un objet sont appelées méthodes. C'est sans doute un peu obscur en l'état.

Mettons que vous jouiez à pokémon. Un pokémon pourrait être décrit à travers un objet. Un pokémon a plusieurs caractéristiques : par exemple, un n° dans le pokédex, un type (ou deux), des valeurs de PV, d'attaque, etc. Pikachu est un pokémon. En tant que pokémon, Pikachu porte un n° dans le pokédex, un ou deux types, et tout le reste…

Ce n'est pas grave si cette notion est encore obscure pour vous. Sachez simplement que ça existe, et vous comprendrez sans doute plus tard, dans la pratique, de quoi il en retourne vraiment. J'ai mis pas mal de temps avant de comprendre cette notion, et le jour où je l'ai comprise, j'ai eu la sensation de tout comprendre à Javascript ou à Python.


Maintenant que vous avez quelques notions générales en tête, vous avez sans doute envie de commencer à rentrer dans le vif du sujet. Comme vous le savez peut-être, il existe de nombreux langages de programmation. De même que des langues vivantes, certains langages de programmation partagent des racines ou s'avèrent être assez proches, tandis que d'autres sont plus éloignés… Les langages de programmation que vous allez utiliser varient, bien sûr, en fonction de ce que vous voulez faire. Pour vous aiguiller, je vais vous donner quelques pistes que je connais, en fonction des cas de figure.

Publié le : 15/05/2020
Vues: 79

Retour


Commentaires :

Ada : Chèr⋅e⋅s lecteur⋅ice⋅s, il n'y a aucun commentaire pour le moment.

Poster un commentaire :

Avant de poster un commentaire, veuillez consulter le guide et code de conduite des commentaires.