> python
>>>
Bonjour, monde

6 mots. Votre ordinateur vient d'exécuter 10 millions d'instructions pour les afficher.

700+
langages de programmation existent.
Python Java JavaScript C

Ils font tous la même chose. De façon différente. Cette fiche explique pourquoi.

Le code, c'est donner des ordres à quelqu'un qui obéit aveuglément.

Pas d'intuition. Pas de bon sens. Juste des instructions précises, exécutées des milliards de fois par seconde. Cette fiche vous apprend à penser comme un ordinateur.

C'est quoi coder ?

Donner des ordres à un esclave très rapide mais très bête. Et comprendre pourquoi il y a 700+ langages.

Du code à l'exécution

Ton code ne tourne pas directement. Il traverse un pipeline. Clique sur « Étape suivante » pour suivre le voyage, étape par étape.

📝 Code source ⚙️ Compilation 🔢 Bytecode 🚀 Exécution Prêt — clique pour démarrer

Du transistor au code

Dans Prog 0, tu as vu les transistors et les portes logiques. Mais comment passe-t-on de ça... au code Python ?

Transistors
ON/OFF
🔢
Binaire
0 et 1
🧠
CPU
Exécute
🔧
Assembleur
MOV, ADD
🐍
Python
print("Hi")

🔄 Le cycle du CPU (Fetch-Decode-Execute)

📥
1. FETCH
Récupère l'instruction en mémoire
🔍
2. DECODE
Comprend ce qu'il doit faire
3. EXECUTE
Exécute l'opération

Ce cycle se répète des milliards de fois par seconde (3 GHz = 3 milliards de cycles/s)

🔧 L'assembleur : le traducteur humain ↔ machine

Code machine (binaire)
10110000 01100001
❌ Illisible pour un humain
Assembleur
MOV AL, 61h
✅ "Met la valeur 97 dans le registre AL"

L'assembleur est une représentation lisible du code machine. Chaque instruction correspond à une opération du CPU.

⚙️ La compilation : ton code → binaire

print("Hello")
Ton code Python
🔨
Compilateur / Interpréteur
01001000...
Code machine
🖥️
CPU exécute

🔨 Langages compilés

Tout le code est traduit avant l'exécution.

C, C++, Rust, Go, Java*
✓ Rapide | ✗ Compilation nécessaire

📖 Langages interprétés

Le code est traduit ligne par ligne à l'exécution.

Python, JavaScript, Ruby, PHP
✓ Flexible | ✗ Plus lent

💡 Résumé : Ton code "humain" est traduit en binaire que le CPU peut exécuter. Plus le langage est "haut niveau", plus cette traduction est complexe !

"Quel est le meilleur langage ?"

C'est la MAUVAISE question.

C'est comme demander : "Quel est le meilleur véhicule ?"

🚗
Voiture
Courses quotidiennes
Python
🚚
Camion
Transporter du lourd
→ C++
🏎️
Formule 1
Performance max
→ Rust
🚲
Vélo
Simple et léger
→ Bash
✈️
Avion
Aller loin vite
→ Java
🚀
Fusée
Repousser les limites
Assembleur

👉 Le bon outil dépend du PROBLÈME, pas de tes préférences.

La Pyramide d'Abstraction

Plus on monte, plus c'est facile pour l'humain. Plus on descend, plus c'est proche de la machine.

🤖
Niveau 5 - IA & No-Code
ChatGPT, Copilot, Excel, Bubble
Tu parles français
🐍
Niveau 4 - Haut niveau
Python, JavaScript, Ruby
Facile à lire
Niveau 3 - Moyen niveau
Java, C#, Go, Kotlin
Équilibré
⚙️
Niveau 2 - Bas niveau
C, C++, Rust
Contrôle mémoire
🔧
Niveau 1 - Machine
Assembleur, Code machine
Direct CPU

👆 Clique sur un niveau pour voir les détails

Même tâche, différents outils

Mission : Additionner les nombres de 1 à 100


                

Quand utiliser quoi ?

Domaine Langages populaires Pourquoi ?
🌐 Web Front JavaScript, TypeScript Seul langage des navigateurs
🖥️ Web Back Python, Node.js, Java, Go API, bases de données
📱 Mobile Swift, Kotlin, Flutter iOS = Swift, Android = Kotlin
🎮 Jeux vidéo C++, C# Performance + Unity/Unreal
🤖 IA / Data Python, R Librairies ML (PyTorch, TensorFlow)
🏢 Entreprise Java, C# Robustesse, écosystème mature
⚡ Systèmes C, Rust OS, drivers, embedded

À quoi ressemble du vrai code ?

👀 Juste un aperçu ! Ne t'inquiète pas si tu ne comprends pas tout. L'objectif ici est de voir à quoi ressemble du code typique dans différents langages. On apprendra chaque concept en détail plus tard.

🗺️ Vue d'ensemble : Comment fonctionne un programme

📁
Des fichiers

Le code est organisé dans des fichiers (.py, .java, .js...)

🔧
Des fonctions

Des blocs de code réutilisables qui font une tâche précise

🚀
Un point d'entrée

Le main() où tout commence !

Le code se lit de haut en bas, de gauche à droite. Le main() appelle des fonctions → qui appellent d'autres fonctions → etc.

📄 Calculatrice.java — Application Java typique
// Point d'entrée : la méthode main()
public class Calculatrice {

    public static void main(String[] args) {
        // Le programme commence ICI
        int resultat = additionner(5, 3);
        System.out.println("Résultat: " + resultat);
    }

    // Une fonction (méthode) qu'on appelle
    public static int additionner(int a, int b) {
        return a + b;
    }
}

Java : Chaque fichier = une classe. Très structuré, utilisé pour les apps enterprise, Android.

💡 Remarque : Tous ces exemples ont la même logique : des fonctions qui s'appellent entre elles. Le code est organisé en blocs réutilisables. On verra tout ça en détail dans les prochaines fiches !

Teste tes connaissances

🎯

Mode Survie

10 questions, zéro erreur autorisée.
Le temps départage les meilleurs !

📝 Ce qu'il faut retenir

Prog 0 Prog 2
🎬

Pour aller plus loin

Les excellentes vidéos de Graven sur les bases de la programmation :

Java Basics
Apprendre le Java #1 - Les Bases
Graven • ☕ Java
Python Basics
Apprendre le Python #1 - Les Bases
Graven • 🐍 Python
Glisser pour continuer vers Prog 2 : Variables
⬇️
Débutant