C
Définition
C est un langage de programmation impératif et compilé, conçu pour la programmation système. Créé par Dennis Ritchie chez Bell Labs en 1972, il constitue le fondement de l’informatique moderne — le noyau linux, unix et la plupart des logiciels système sont écrits en C.
Détails clés
- Paradigme : Impératif, procédural, compilé
- Normalisation : ISO/IEC 9899 (C23 est le dernier standard, publié en 2023)
- Modèle mémoire : Gestion manuelle de la mémoire (malloc/free), accès direct au matériel
- Arithmétique des pointeurs : Capacité de manipulation de la mémoire bas niveau
- Portabilité : Se compile en code machine pour pratiquement toutes les architectures
Normes du langage
|| Standard | Année | Fonctionnalités clés | ||———-|——|————-| || K&R C | 1978 | Original (pré-standard) | || C89/C90 | 1989 | Premier standard ISO | || C95 | 1995 | Caractères larges, ellipsis | || C99 | 1999 | Inline, VLAs, commentaires //, restrict | || C11 | 2011 | Threads, atomique, _Generic, assertions statiques | || C17/C18 | 2018 | Corrections de bugs, aucune nouvelle fonctionnalité | || C23 | 2023 | typeof, instructions let, littéraux binaires, attributs [_] |
Implémentations de compilateurs
|| Compilateur | Licence | Notes | ||———-|———|——-| || GCC (gcc) | GPLv3 + Runtime GCC | Le plus utilisé | || Clang/LLVM | Apache 2.0 + MIT | Par défaut sur Apple, compilation rapide | || MSVC (cl) | Commercial | Par défaut sur Windows | || Intel ICC/ifx | Commercial | Optimisé pour le matériel Intel |
Cas d’utilisation
- Systèmes d’exploitation (noyaux Linux, Windows, macOS)
- Systèmes embarqués et IoT
- Pilotes de périphériques
- Compilateurs et interpréteurs
- Bibliothiques haute performance
- Moteurs de jeux
Influence
- Syntaxe de C++
- ISO/IEC 9899