Langage C

Ajouter à la bibliothèque

H3068 V1 Article de référence

Langage C

Auteur(s) : Christian QUEINNEC

Date de publication : 10 février 2002 | Read in english

Ajouter à la bibliothèque Ajouter à la bibliothèque

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter un extrait gratuit

Déjà abonné ?

Présentation

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l'article

AUTEUR(S)

 INTRODUCTION

Le langage C a été défini en 1972 par Denis Ritchie, chercheur des laboratoires Bell, dans le cadre d’un projet qui visait à réécrire le système d’exploitation Unix dans un langage de haut niveau. Le langage C a été fortement influencé par son premier client : Unix, et nombre de ses caractéristiques proviennent des besoins suscités par le développement de ce système. Parmi ces caractéristiques figurent :

  • la compacité d’écriture visant à minimiser la frappe des programmes (ainsi écrit-on { et } pour begin et end ). La rapidité de programmation a été préférée à la lisibilité, l’inverse étant requis dans un langage comme Ada ;

  • l’absence de bibliothèque obligatoire d’exécution rejetant la manipulation des entrées /sorties, la gestion de tâches, l’allocation dynamique de mémoire, etc., dans des bibliothèques extérieures, supplémentaires et optionnelles ;

  • la proximité sémantique avec la machine d’exécution privilégiant systématiquement un contrôle fin de celle-ci au détriment de toute abstraction opaque. Citons en particulier un système de types débrayable, l’absence de booléens, l’absence de chaînes de caractères, une grande variété d’entiers de tailles diverses, etc. Cette caractéristique s’accompagne d’un slogan : « Trust the programmer », qui stipule le primat du programmeur sur la machine. En cas d’incompréhension du programme, le compilateur respectera le programme à la lettre plutôt que de le rejeter. C est souvent considéré comme un langage dangereux ou, à tout le moins, « sale » lorsque comparé à d’autres langages de programmation occupant d’autres niches et cherchant à optimiser d’autres critères. La norme ISO de 1990 ainsi que sa révision de 1999 en font un langage de plus en plus sûr. La santé de C montre bien son indéfectible vitalité dans ses niches propres.

C est un « assembleur portable de haut niveau », c’est‐à‐dire un langage de programmation de haut niveau qui permet également une manipulation précise des entités proches des processeurs. Ses caractéristiques auraient pu le réduire à n’être que le langage d’écriture d’Unix mais, le succès d’Unix aidant et comme C est disponible (par construction) sur tout Unix (puisqu’un portage d’Unix sur une machine X passe par l’écriture d’un générateur de code spécifique de C vers[nbsp ]X), C a pu être de plus en plus choisi comme langage d’écriture d’applications générales. C peut être considéré comme un langage normal de programmation avec son lot de singularités dont les plus délicates concernent les références et l’allocation.

C occupe aujourd’hui...

Cet article est réservé aux abonnés
Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés. Il vous reste 92 % à découvrir.

Cet article est réservé aux abonnés Consulter un extrait gratuit

Déjà abonné ?


DOI (DIGITAL OBJECT IDENTIFIER)

https://doi.org/10.51257/a-v1-h3068

Lecture en cours
Langage C

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

( 408 articles )

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Services

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir le détail de l'offre

Dans les ressources documentaires

Méthodes numériques de base - Analyse numérique

L’analyse numérique étudie les méthodes, appelées constructives, de résolution numérique des problèmes. C...

Introduction à MATLAB

Système interactif de programmation scientifique pour le calcul numérique et la visualisation graphique, ...

Introduction au parallélisme et aux architectures parallèles

Le parallélisme est dorénavant utilisé dans la majorité des architectures, des systèmes embarqués aux sup...

Jeux d'instructions des processeurs

Les jeux d’instructions comprennent l’ensemble des instructions machine qui permettent à un processeur d’...

WhitePaper
4 janvier 2023
Introduction à l’intelligence artificielle

l\'IA s\'emploie à résoudre les problématiques qui relèvent de diverses activités humaines (perception, prise de décision, planification, diagnostic, interpréta...

Tous les livres blancs
Article Les plus importantes cyberattaques de 2016
16 décembre 2016
Les plus importantes cyberattaques de 2016

Plus que jamais, les données valent de l’or. Les entreprises l’ont intégré dans leur stratégie avec le Big data. Mais les pirates aussi ! Cette année a été marq...

Article L’ombre des pirates sur les élections ?
6 janvier 2017
L’ombre des pirates sur les élections ?

Avant de céder son fauteuil à M. Trump, M. Obama a publié les déclarations fracassantes selon lesquelles des pirates russes auraient réussi à influencer les vot...

Toutes les actualités

Inscrivez-vous aux newsletters !

Contactez-nous