Aller au contenu

Introduction à la programmation

"Un bon programmeur est quelqu’un qui regarde toujours des deux côtés avant de traverser une rue à sens unique."

Doug Linder

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 ?

A. Créer des images
B. Dire à un ordinateur quoi faire
C. Écrire des articles
D. Réparer un ordinateur
E. Naviguer sur internet

✅ Afficher la réponse
Réponse B: Programmer, c’est définir des instructions que l’ordinateur exécutera.

2️⃣ Quel est l’avantage principal d’un langage haut niveau ?

A. Il est plus lent
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
Réponse B: Un langage haut niveau est proche du langage humain ➜ plus simple à comprendre.

3️⃣ Quel type de langage demande de manipuler des registres et la mémoire ?

A. C#
B. HTML
C. Assembleur
D. Java
E. Python

✅ Afficher la réponse
Réponse C: L’assembleur est un langage bas niveau proche du fonctionnement du processeur.

4️⃣ Quelle est la différence entre un langage compilé et interprété ?

A. Compilé = instantané, Interprété = lent
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
Réponse C: Le compilateur traduit tout le code avant l’exécution, l’interpréteur l’exécute directement.

5️⃣ Lequel de ces langages est interprété ?

A. C#
B. C
C. Python
D. Assembleur
E. Rust

✅ Afficher la réponse
Réponse C: Python est un langage interprété ➜ il exécute les instructions ligne par ligne.


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