Magm3 guide informel de nouvelles cultures depuis le siècle dernier

Le langage C, de Kernighan et Ritchie

Posté le 15 octobre 2011

couvertureInitialement développé à l'aube de l'informatique, entre 1969 et 1973, dans les très prolifiques laboratoires AT&T Bell par Dennis M. Ritchie, le C est un langage de programmation informatique issu du langage BCPL par l'intermédiaire du B. Ce langage de programmation, à la différence de beaucoup d'autres, jouit d'une popularité toujours non démentie. Cela est sans doute dû à ses qualités intrinsèques: relativement bas niveau il offre un accès direct à la mémoire par l'intermédiaire de pointeurs; étant typé il évite un grand nombre d'opérations non intentionnelles et enfin, procédural et à la syntaxe très claire il offre une excellente introduction à la programmation. Ce dernier point se vérifie en premier cycle universitaire où le C figure à presque tous les programmes. "Le langage C" de Kernighan et Ritchie est l'ouvrage de référence sur ce langage. Sa qualité fait qu'il est fréquemment trouvé sur les tables de chevet des étudiants informaticiens.

Deux cent quatre-vingt pages en tout et pour tout. De quoi faire arquer un sourcil à ceux qui ont déjà croisé le chemin des inénarrables livres de Java ou de C++. Seulement deux cent quatre-vingt pages ? Eh oui, comme il est précisé très clairement dans l'avant-propos: "Le C est un langage concis, et un livre épais le déservirait". Malgré sa relative petite taille, le plan couvre tous les aspects utiles en huit chapitres. Un plan qui ne manquera d'ailleurs pas de faire sourire les informaticiens: fort est à parier que le plan du cours de C qu'ils ont suivi était le même que celui de ce livre publié en 1978...

Il s'agit bien là d'un ouvrage de référence. Pour autant, un aspect important est à garder un tête: la deuxième (et dernière) édition couvre la norme ANSI C, un peu tombée en désuétude depuis la normalisation du langage par l'ISO (norme C89/90) et plus récemment la norme C99 vers laquelle il convient de se tourner. L'ayant refeuilleté pour la rédaction de cette chronique, je suis ainsi tombé sur la source vraisemblable d'une erreur que j'aie récemment commise: un int sur architecture 64bit fait 32bit (gcc). Pour autant, on peut lire dans le K&R: "Les objets de type int tout court prennent la taille naturelle des nombres pour l'architecture de la machine utilisée". Prudence donc.

Mais même s'il s'agit là d'un ouvrage de référence, la progression est suffisamment bonne pour qu'il puise servir de cours à lui tout seul. Je l'ai dit, bon nombre de cours de C en premier cycle universitaire ont repris le plan de cet ouvrage. Un débutant, ayant tout de même quelques notions d'informatique, pourra apprendre de solides bases de C en suivant ce livre. Il lui reprochera peut-être le manque d'exemples illustratifs complets, mais dans ce cas Internet devrait lui fournir un complément salvateur.

Assez tergiversé et cessez de froncer les sourcils: que fait donc une chronique d'un ouvrage aussi technique sur magm3 ? Dennis M. Ritchie est mort il y a quelques jours, à l'âge de 70 ans. Outre le titre d'inventeur du langage C, il peut se targuer d'avoir été l'un des inventeurs d'Unix. En ce sens, il est clairement l'un des inventeurs de l'informatique moderne.

Et pour revenir sur le domaine de la création: c'est avec tristesse que j'ai noté les multiples hommages rendus à la mémoire de Steve Jobs, commercial et marketeur (peut-être talentueux) mais certainement pas créateur. C'est aujourd'hui avec amertume que je constate le peu d'hommages rendus à Dennis M. Ritchie qui lui, pour le coup était un chercheur et créateur, de ceux qui ont révolutionné un domaine de fond en comble en le repensant au travers de nouveaux concepts fondamentaux. Encenser les commerciaux, oublier les créateurs... Peut-être est-il temps de se poser quelques questions ?

Je me permets pour conclure de reprendre la dédicace que MM. Gringoire et Saulnier avaient adressée à M. Escoffier en ouverture de leur "Répertoire de la Cuisine Française":

À M. Dennis MacAlistair Ritchie, co-inventeur de l'informatique moderne:
HOMMAGE DE RESPECTUEUSE ADMIRATION

Posté par matteo

Contributeur de magm3 depuis le début (ou presque), en particulier sur les aspects techniques. Je suis particulièrement intéressé par la littérature fantastique (classique et contemporaine), le cinéma d'art et d'essai, la musique électronique (balayant large du breakbeat aux productions expérimentales type Raster Noton). Actuellement ingénieur en informatique.
Commentaires (0) Trackbacks (0)

Aucun commentaire pour l'instant


Leave a comment

Aucun trackbacks pour l'instant