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