Introduction à la programmation
"Un bon programmeur est quelqu’un qui regarde toujours des deux côtés avant de traverser une rue à sens unique."
Qu’est-ce que la programmation ?
La programmation consiste à écrire des instructions compréhensibles par un ordinateur afin de lui faire exécuter des tâches spécifiques.
Un programme est donc une suite d’instructions écrites dans un langage de programmation.
Pourquoi apprendre à programmer ?
- Pour automatiser des tâches
- Pour résoudre des problèmes complexes
- Pour créer des applications, jeux, logiciels, sites web
- Pour communiquer avec les machines
Un peu d’histoire
- 1940-1950 : Premiers langages bas niveau (assembleur)
- 1957 : Naissance du langage Fortran, destiné aux calculs scientifiques
- 1970-1980 : Apparition de C, Pascal, puis des langages orientés objet comme C++ et Java
- 2000+ : Langages modernes comme C#, Python, JavaScript…
Aujourd’hui, il existe des centaines de langages, chacun adapté à un usage particulier.
Langages compilés vs interprétés
| Type de langage | Fonctionnement | Exemples |
|---|---|---|
| Compilés | Traduit en un fichier exécutable | C, C++, C# |
| Interprétés | Exécuté ligne par ligne à l'exécution | Python, JavaScript |
Exemple visuel
Voici un programme simple qui affiche un message :
Console.WriteLine("Bonjour le monde !");
Cela signifie simplement :
“Demande à l’ordinateur d’afficher ce texte à l’écran.”
La programmation, c’est comme…
- Une recette de cuisine (on suit des étapes)
- Un plan de construction (chaque instruction a sa place)
- Un dialogue avec une machine (en langage formel)
Ce que vous apprendrez bientôt
- Les variables, pour stocker des informations
- Les conditions, pour faire des choix
- Les boucles, pour répéter des actions
- Les méthodes, pour organiser son code
- Les tableaux, pour manipuler des listes de données
Langages bas niveau vs haut niveau
| Type de langage | Caractéristiques principales | Exemple |
|---|---|---|
| Bas niveau | Proche du langage machine, difficile à lire pour l’humain | Assembleur, binaire |
| Haut niveau | Proche du langage humain, facile à écrire et comprendre | C#, Python, Java |
Les langages haut niveau sont traduits (compilés ou interprétés) pour que la machine les comprenne.
Compilateur vs Interpréteur
Compilateur
- Traduction totale du programme en un fichier exécutable (.exe)
- Vérification des erreurs avant l’exécution
- Plus rapide une fois compilé
🧪 Exemples : C, C++, C#
Interpréteur
- Exécution ligne par ligne du code pendant que le programme tourne
- Plus lent mais flexible
- Utile pour les scripts ou tests rapides
🧪 Exemples : Python, JavaScript, PHP
➡️ En résumé : - Compilé = efficace, mais nécessite un passage par le compilateur - Interprété = pratique, mais un peu plus lent
Exemple concret : Bas niveau vs Haut niveau
Objectif : afficher le nombre 42 à l'écran
En langage bas niveau (assembleur x86)
section .data
message db "42", 0Ah ; la chaîne à afficher (avec retour à la ligne)
section .text
global _start
_start:
mov edx, 3 ; longueur du message
mov ecx, message ; adresse du message
mov ebx, 1 ; numéro du descripteur de sortie (1 = écran)
mov eax, 4 ; appel système "write"
int 0x80 ; interruption pour exécuter l'appel système
mov eax, 1 ; appel système "exit"
xor ebx, ebx ; code de sortie 0
int 0x80 ; quitter le programme
➡️ Ce code demande une gestion manuelle des registres, de la mémoire, des interruptions système, etc.
En langage haut niveau (C#)
Console.WriteLine(42);
➡️ Ici, une seule ligne suffit pour obtenir le même résultat, sans se soucier de la mémoire ou des appels systèmes.
Comparaison
| Aspect | Assembleur (bas niveau) | C# (haut niveau) |
|---|---|---|
| Lisibilité | Très faible | Très bonne |
| Gestion manuelle | Obligatoire | Automatique |
| Proximité avec le matériel | Très proche | Abstraite (cachée) |
| Efficacité | Maximale | Suffisante pour la majorité |
| Usage | Systèmes embarqués, pilotes | Applications, jeux, outils... |
Quiz
Testez vos connaissances ! 📝 Clique sur chaque question pour découvrir la réponse.
1️⃣ Qu’est-ce que la programmation ?
B. Dire à un ordinateur quoi faire
C. Écrire des articles
D. Réparer un ordinateur
E. Naviguer sur internet
✅ Afficher la réponse
2️⃣ Quel est l’avantage principal d’un langage haut niveau ?
B. Il est plus facile à lire et écrire
C. Il permet de créer du matériel
D. Il fonctionne sans ordinateur
E. Il ne peut pas afficher de texte
✅ Afficher la réponse
3️⃣ Quel type de langage demande de manipuler des registres et la mémoire ?
B. HTML
C. Assembleur
D. Java
E. Python
✅ Afficher la réponse
4️⃣ Quelle est la différence entre un langage compilé et interprété ?
B. Compilé = ligne par ligne, Interprété = global
C. Compilé = converti en programme exécutable, Interprété = exécuté à la volée
D. Il n’y a pas de différence
E. Compilé = ne fonctionne qu’en ligne de commande
✅ Afficher la réponse
5️⃣ Lequel de ces langages est interprété ?
B. C
C. Python
D. Assembleur
E. Rust
✅ Afficher la réponse
Et ensuite ?
Dans les sections suivantes, nous allons explorer :
- 📌 Ce que veux dire algorithme VS Programme
- 📌 S'initier au langage binaire
- 📌 C'est quoi l'architecture d'un ordinateur
- 📌 Explorer l'interface de Visual Studio
- 📌 Comprendre l'objet Console
Navigation
Programmation Algorithme Binaire Encodage Architecture Visual Studio Console
Pour aller plus loin
- Microsoft Learn – C# pour les débutants Une excellente base pour commencer avec C# et .NET, directement par Microsoft.
-
OpenClassrooms – Apprenez à programmer avec C# Tutoriel gratuit pour débutants, en français.
-
Programiz – What is Programming? Un article simple et clair pour comprendre ce qu’est la programmation et son utilité.
- C’est quoi un programme ? – Le Réveilleur Vidéo pédagogique pour comprendre les bases.