Les meilleurs livres sur le C
Dernière mise à jour : 27/07/2007 -
6 livres -
8 critiques

 |  | Le langage CNorme ANSI, 2ème éditionde Brian W. Kernighan et Dennis M. Ritchie |
Résumé de l'éditeur
Conçu à l'origine comme le langage des systèmes
d'exploitation Unix, le langage C s'est répandu bien au-delà de cette
fonction et continue à se diffuser. L'ouvrage de Brian W. Kernighan
et de Denis M. Ritchie, qui sont les principaux créateurs du C, a été
traduit en quinze langues. Connu sous l'abréviation K&R, il
constitue la "référence" pour tout utilisateur de ce langage. Le but
de ce livre est de vous apprendre à programmer en C. Il est construit
en 8 chapitres qui présentent successivement tous les concepts
fondamentaux du langage C (les types, les opérateurs, les structures
de contrôle, les pointeurs, les structures, les
entrées-sorties...). L'annexe A est un manuel de référence qui a été
conçu à l'intention des programmeurs. L'annexe B est un résumé des
possibilités qu'offre la bibliothèque standard. Les solutions des 250
exercices proposés par B. Kernighan et D. Ritchie sont fournies en
détail dans l'ouvrage complémentaire de C.Tondo et S.Gimpel paru dans
la même collection sous le titre Exercices corrigés sur le langage
C.
Critique du livre par la rédaction ( Anomaly)
Ce livre est réellement l'ouvrage de référence du
langage C, convenant tout aussi bien à l'apprentissage du langage ou
comme référence sur la norme et la bibliothèque.
L'auteur a su habilement séparer la définition du langage
de celle de la bibliothèque standard, et bien qu'il y ait un petit
chapitre sur les appels systèmes Unix, l'ouvrage est indépendant du
système et du compilateur utilisé, et donc conviendra à
tous. Le débutant saura prendre en main
rapidement le langage tout en apprenant dès le début à être
rigoureux. Le premier chapitre présente les premiers tâtonnements
nécessaires avec le langage afin de pouvoir faire ses tous premiers
programmes. Les chapitres suivants présentent ensuite point par point
tous les éléments du langage, avec l'écriture de petites programmes
pour illustrer chaque notion. Les explications sont très claires, y
compris sur les sujets très délicats comme les tableaux et les
pointeurs. La bibliothèque standard est
abordée en dernier (où on voit que la majorité des exercices
précédents consistaient à la réécrire, mais c'est probablement le
meilleur entraînement). Après le petit chapitre sur quelques appels
systèmes Unix indispensables, on trouve deux annexes : une référence
concise, mais complète, du langage (équivalent d'une norme), et une
référence concise de toute la bibliothèque.
S'il existe probablement des ouvrages plus orientés
pratiques pour apprendre le langage, la méthode utilisée sur celui-ci
me paraît de loin la meilleure : en C, beaucoup plus que dans d'autres
langages, il faut beaucoup de rigueur, et c'est l'une des qualités
premières de cet ouvrage. L'apprentissage sera récompensé par de
meilleurs réflexes dès le départ, et permettra au lecteur, par la
suite, d'aborder en toute sérénité le développement spécifique pour un
système. En définitive, mon seul regret est
que bien que cette édition soit très récente (septembre 2004), il ne
s'agit que d'une nouvelle présentation de l'édition de 1997 ; par
conséquent, l'ouvrage n'aborde malheureusement pas la nouvelle norme
C99, et présente la norme C90 comme nouvelle, ce qui surprend de nos
jours. Malgré cela, s'il ne vous faut qu'un
seul livre sur le C, cela devrait être celui-ci. En attendant la 3ème
édition ?
Dès les premières pages du livre, les auteurs sont clairs : cet
ouvrage a pour but de présenter les différentes caractéristiques du
langage C, tout en répertoriant ses évolutions depuis son apparition
et sa première normalisation. Le livre aborde ainsi toutes les
nouveautés de la norme ANSI (C 90), mais son but principal est de
donner au lecteur les éléments nécessaires pour programmer en C.
Le premier chapitre décrit le langage C dans son ensemble :
il aborde les entrées-sorties de caractères, les tableaux et les
boucles, permettant ainsi aux lecteurs novices de commencer à
programmer simplement ; Les chapitres suivants reprennent en
détail et un par un les éléments brièvement présentés au chapitre 1
: opérateurs, expressions, structures de contrôle, pointeurs,
tableaux et gestion de la mémoire. Un chapitre est consacré
aux entrées-sorties de la bibliothèque standard et en fin un
dernier chapitre concerne l'interface avec un système Unix.
Chaque sous-chapitre est accompagné d'un ou plusieurs codes
source mettant en pratique ou illustrant les propos des auteurs,
et ces mêmes sous-chapitres contiennent souvent plusieurs exercices
non corrigés destinés à mettre en œuvre les connaissances acquises
par le lecteur.
L'annexe A est en fait un condensé de la norme ANSI, et décrit les
caractéristiques internes du langage. Cette section est utile pour
les programmeurs souhaitant utiliser une sémantique précise et
optimale en s'appuyant sur toutes les possibilités du langage,
les principaux aspects du langage au niveau sémantique étant
abordés dans les premiers chapitres. Cette annexe peut également
être d'une aide précieuse si l'on veut comprendre le fonctionnement
interne des compilateurs C ou bien si l'on souhaite écrire son
propre compilateur. L'annexe B concerne la bibliothèque standard
et répertorie les principales fonctions, leur action et les
informations nécessaires à leur utilisation. Cette section est
particulièrement utile, car ces fonctions sont fréquemment
utilisées dans n'importe quel programme C.
En résumé, cet ouvrage s'adresse principalement aux programmeurs
désirant découvrir le langage C, ou se perfectionner dans son
utilisation. La difficulté progressive des exemples et des codes
source permettra aux novices d'avancer sans être troublé, et les
programmeurs plus expérimentés y trouveront les informations
précises qu'ils recherchent. Ce livre n'aborde en aucun cas les
différents aspects d'algorithmique : des bases en programmation
sont donc nécessaires.
280 pages,
2ème édition,
septembre 2004
Editions Dunod,
ISBN10 : 2100487345 Commandez sur www.amazon.fr : 31,26 EUR TTC (prix éditeur 32,90 EUR TTC)
-
Livraison Gratuite ! |

 |  | Méthodologie de la programmation en CNorme C 99 - API POSIXde Achille Braquelaire |
Résumé de l'éditeur
Cet ouvrage qui s'adresse aux étudiants
de master d'informatique, aux élèves-ingénieurs et aux développeurs
est basé sur les normes internationales ISO/IEC 9899 (1999 - 2e
édition) et ISO/IEC 9945-1. La première, encore appelée C 99, est la
norme la plus récente du langage C et de la bibliothèque standard, et
la seconde encore appelée POSIX.1, spécifie une interface de
programmation portable avec les systèmes d'exploitation. La
description des fonctionnalités du langage et des bibliothèques est
exhaustive et rigoureusement conforme aux normes. L'ouvrage comporte
huit chapitres. Les cinq premiers sont consacrés à la présentation du
langage, les deux suivants aux bibliothèques C standard et POSIX, et
le dernier à la modularisation des programmes C. À l'exception du
chapitre 7, toutes les fonctionnalités présentées sont portables et
indépendantes du système d'exploitation utilisé. De nombreux exemples
de programmes accompagnés d'extraits de sessions réalisés sous
GNU/Linux illustrent le propos. L'ensemble des programmes est
disponible via Internet.
Le titre laisse rêveur : un livre qui explique
comment coder proprement en C (enfin c'est ce que me laisse penser la
notion de méthodologie) et surtout qui aborde la norme C99 (il est
difficile de trouver des articles à ce sujet sur le net, encore plus
en français !) C'est donc avec une certaine excitation que
j'ouvre les premières pages du livre, je lis avec attention les
premières lignes de code pour me faire une idée : propres et
claires, vraiment rien à redire. Bon passons
l'introduction au langage, c'est sûrement le blabla habituel... Donc
j'arrive enfin à la première nouveauté du C99 : le type
booléen. Deux pages rien que pour expliquer cette nouvelle notion. Eh
bien, je fus le début d'une lecture qui ne s'arrêta qu'à la dernière
page du livre ! J'ai vraiment lu le
livre avec un grand intérêt : la bibliothèque standard est
entièrement documentée avec de nombreux exemples concrets : il ne
s'agit pas de simples exemples type "Hello world" (pour illustrer
l'arithmétique des complexes, l'auteur propose un code pour créer une
image de l'espace de Mandelbrot au format pgm !), exemples
accompagnés du résultat de l'exécution de ce code, bien sûr clairement
expliqué. Ce livre aborde également la norme
POSIX, malgré l'ampleur du sujet l'auteur l'aborde de façon exhaustive
(en ce qui concerne l'interface de programmation, l'ensemble de la
norme POSIX demanderait un livre à lui seul).
Arrivé (trop rapidement hélas) à la fin du livre, pour
vous livrer la critique la plus juste, je suis revenu au début du
livre (la partie que j'avais survolée pensant qu'elle était
rébarbative), et c'est avec surprise que j'ai découvert une approche
du C comme on aimerait en voir plus souvent : elle semble (c'est
difficile de se prononcer à ce sujet lorsque l'on connaît déjà le C)
abordable par un programmeur débutant (peut être pas totalement novice
mais, à mon avis, le C n'est pas le meilleur langage pour faire ses
premiers pas en programmation). Le seul
regret que j'ai à propos de ce livre est l'absence d'une table qui
regrouperait l'ensemble des nouveautés du C99.
En conclusion, si vous cherchez un livre pour apprendre ou
progresser dans la maîtrise du langage C, je vous conseille fortement
celui-ci !
672 pages,
4 ième édition,
Mars 2005
Editions Dunod,
ISBN10 : 2100490184 Commandez sur www.amazon.fr : 37,05 EUR TTC (prix éditeur 39 EUR TTC)
-
Livraison Gratuite ! |

 |  | C en actionSolutions et exemples pour les programmeurs en Cde Yves Mettier |
Public visé : Avancé Résumé de l'éditeur
C en action rassemble une sélection de solutions efficaces aux problèmes les
plus souvent rencontrés par les programmeurs en C. À la fois source d'idées, moyen
d'apprendre C par l'exemple ou de programmer plus vite et plus facilement, cet
ouvrage est construit sur le modèle : un problème, une solution, une discussion.
L'auteur du livre annonce la couleur dès les premières pages : ce livre est écrit pour des
lecteurs ayant des connaissances en C : aucune initiation n'est proposée, aucun résumé des
fonctions de la bibliothèque standard n'est inclu en annexe. Le lecteur est censé connaître
et surtout maîtriser le langage C. C en action vous propose de passer en revue
différents points techniques qui reviennent régulièrement lors de développement en C :
gestion de la mémoire, manipulations des chaînes de caractères, les structures de données...
Mais aussi des rubriques plus inattendues telles que la compression ou l'utilisation de
la libxml2. Chaque sous chapitre est décomposé en trois parties :
Problème/Solution/Discussion de telle sorte que le livre se lit aussi bien de la première
à la dernière page que comme un recueil de sources prêtes à l'emploi. On appréciera aussi
la présence d'une section "Voir aussi" à la fin des chapitres qui renvoit à un site
internet ou à des pages man.
L'auteur ne s'arrête pas au C-ANSI, la plupart des chapitres contient un exemple en
C-ANSI, un basé sur la glib et un dernier avec les fonctions de la norme POSIX (il y a
des chapitres, celui des signaux par exemple, valable uniquement pour des systèmes
d'exploitation conformes POSIX)
On retiendra de ce livre la qualité des sources proposées, qui démontre une maîtrise
certaine du C par l'auteur, ainsi que leurs abondances, qui rythme de façon agréable
chaque chapitre.
Au fil des chapitres, l'auteur aborde un certain nombre de problèmes
que tout programmeur C rencontre au cours de ses développements,
comme les problèmes de gestion mémoire, de traitement de fichier ou
de manipulation de chaines de caractères.
Ces problèmes sont livrés avec une solution ainsi qu'une discussion où
l'auteur explique son choix. Les codes sources sont bien détaillés et
expliqués pour une compréhension aisée. On notera en revanche certains
codes sources plus compliqués qu'ils ne pourraient l'être.
C en Action propose aussi des solutions utilisant des fonctions POSIX ainsi
que la Glib, ce que peu de livres font. Nous saluerons cette nouveauté.
Les deux derniers chapitres sont dédiés à l'utilisation de deux bibliothèques :
libbzip2 pour la compression/décompression et libxml pour l'utilisation des
fichiers XML en C. Un très bon point.
En conclusion, C en Action reste un excellent livre pour les développeurs C.
540 pages,
1 ère édition,
juin 2005
Editions O'Reilly,
ISBN10 : 2841772896,
824 g Commandez sur www.amazon.fr : 55.10 EUR TTC seulement (au lieu de 58 EUR TTC : prix éditeur)
-
Livraison Gratuite ! |

 |  | Maîtrise des algorithmes en Cde Kyle Loudon |
Public visé : Intermédiaire Résumé de l'éditeur
Après une présentation des structures de données et des algorithmes, l'auteur introduit des techniques indispensables pour bien programmer. Vous apprendrez ensuite à manipuler les structures de données les plus importantes. À la fin de chaque chapitre vous trouverez une série de questions avec leurs réponses. Vous découvrirez ainsi :
- les pointeurs ;
- la récursivité ;
- les listes, les piles et les files ;
- les ensembles, les tables de hachage et les arbres ;
- les tas et les files de priorité ;
- les méthodes de tri et de recherche ;
- l'analyse numérique ;
- la compression et le chiffrement des données ;
- les graphes et le calcul géométrique.
Après avoir lu ce livre vous saurez utiliser les algorithmes pour
quantité d'applications. Toutes les implémentations sont soigneusement
décrites et leur efficacité est évaluée permettant ainsi au
programmeur de choisir la solution la mieux adaptée. Les exemples de
code sont disponibles sur le site web des Éditions O'Reilly afin de
vous éviter une saisie fastidieuse.
Ce livre est destiné à des programmeurs déjà familiarisés avec le
langage C. En fonction des besoins du moment, Maîtrise des algorithmes
en C servira aussi bien d'ouvrage didactique que de manuel de
référence.
Un titre plus adapté à ce livre pourrait être, à mon avis : Maîtrise des structures de
données et des algorithmes en C ; en effet, ces deux sujets (certes extrêmement liés),
occupent une part égale du livre.
Chaque structure de données ou algorithme est introduit par une description (rappel des concepts
mathématiques), suivie de l'interface (prototype des fonctions à implémenter avec leur
description ainsi que leur complexité). Ensuite, l'auteur propose une implémentation complète du
sujet traité avec un exemple d'utilisation. Pour finir, une série de questions/réponses
clôture le chapitre. Voilà qui permet, même avec peu de connaissances en mathématiques ou en
algorithmie, de comprendre et d'utiliser les notions abordées dans ce livre.
Passons au code : point très important à mes yeux, sa qualité reflète généralement celle du
reste du livre, par conséquent c'est la première chose que je regarde lorsque j'ouvre un livre
(surtout quand il s'agit du C puisque ce langage n'est pas simple à maîtriser). Le code est
relativement propre (mis à part quelques cast inutiles), par contre l'indentation n'est pas très
lisible (enfin sur ce point, il s'agit d'une notion très personnelle, par conséquent je n'en
tiens pas rigueur dans l'appréciation générale de ce livre). Malgré cela, il est agréable
d'avoir un code complet prêt à l'emploi (qu'il vous faudra recopier puisque le code n'est pas
disponible sur Internet ; en contrepartie cela permet de réindenter le code à son goût) !
Ma seule réelle déception concerne le nombre d'algorithmes proposés : par exemple, on ne trouve
pas de chapitre traitant des nombres aléatoires, mais il vaut mieux privilégier la qualité
plutôt que la quantité (c'est sûrement pour cela que la fin du livre arrive trop rapidement).
600 pages,
1 ière édition,
Septembre 2000
Editions O'Reilly,
ISBN10 : 2841770966 Commandez sur www.amazon.fr : 40,85 EUR TTC (prix éditeur 43 EUR TTC)
-
Livraison Gratuite ! |

 |  | C précis et concisSyntaxe et fondamentaux du langage Cde Peter Prinz et Ulla Kirch-Prinz |
Traducteur(s) : Philippe Figon Public visé : Intermédiaire/Avancé Résumé de l'éditeur
Cet ouvrage constitue un aide-mémoire précieux pour les programmeurs en C, qu'ils soient débutants ou expérimentés.
Il se réfère à la norme ANSI et tient compte des nouvelles extensions introduites en 1999. Un index permet de trouver
en un clin d'oeil la fonction, le type ou tout autre élément syntaxique recherché.
La première partie offre un tour d'horizon des notions fondamentales du langage. Les programmeurs ne maîtrisant pas C
pourront ainsi s'initier rapidement au langage, tandis que l'étudiant soucieux de faire la synthèse des connaissances
acquises aura là un parfait vade-mecum.
La deuxième partie explore de façon thématique la bibliothèque standard en ce qui concerne
- les entrées-sorties;
- les limites numériques;
- les fonctions mathématiques;
- la classification des caractères et la gestion des chaînes de caractères;
- la recherche et le tri;
- la gestion de la mémoire;
- les dates et les heures;
- le contrôle des processus;
- l'internationalisation.
Voici un livre au format poche bien pensé et très pratique.
Le livre de référence du langage C ( le K&R)
n'est pas épais mais il peut être tout de même fastidieux de trouver une information précise dedans : par exemple si
vous cherchez le tableau sur la priorité des opérateurs, l'index référence cinq pages alors qu'avec ce livre il n'y
en a qu'une !
En plus de ce côté pratique, il est très complet : tout le langage C est passé en revue (syntaxe, bibliothèque
standard et surtout la norme C99), claire : l'auteur n'hésite pas à prendre quelques lignes pour expliquer clairement
chaque point du langage et l'abondance des tableaux récapitulatifs facilite la lecture.
Pour finir un petit point qui peut sembler insignifiant mais qui m'a fait adopter ce livre : toutes les nouveautés du
C99 sont regroupées en index !
Et tout ça pour un prix réduit. Seul inconvénient : tout le monde va vouloir vous l'emprunter :D
136 pages,
1ère édition,
février 2003
Editions O'Reilly,
ISBN10 : 2841772470 Commandez sur www.amazon.fr : 8,95 EUR TTC (prix éditeur 9,00 EUR TTC)
-
Livraison Gratuite ! |

 |  | Programmation système en C sous Linux : Signaux, processus, threads, IPC et socketsde Christophe Blaess |
Public visé : Tous Résumé de l'éditeur
Tirer le meilleur parti de l'environnement Linux : La possibilité de consulter les sources du système, de la bibliothèque glibc et de la plupart des applications qui tournent sur cet environnement représente une richesse inestimable aussi bien pour les passionnés qui désirent intervenir sur le noyau, que pour les développeurs curieux de comprendre comment fonctionnent les programmes qu'ils utilisent quotidiennement. Nombreuses sont les entreprises qui ont compris aujourd'hui tout le parti qu'elles pouvaient tirer de cette ouverture des sources, gage de fiabilité et de pérennité, sans parler de l'extraordinaire niveau de compétences disponible au sein d'une communauté de programmeurs aguerris au contact du code des meilleurs développeurs OpenSource. Un ouvrage conçu pour les programmeurs Linux et Unix les plus exigeants : Sans équivalent en langue française, l'ouvrage de Christophe Blaess constitue une référence complète de la programmation système sous Linux, y compris dans les aspects les plus avancés de la gestion des processus, des threads ou de la mémoire. Les programmeurs travaillant sous d'autres environnements Unix apprécieront tout particulièrement l'attachement de l'auteur au respect des standards (C Ansi, glibc, Posix...), garant d'une bonne portabilité des applications. La deuxième édition de ce livre a été entièrement actualisée en fonction du noyau Linux 2.6 et des nombreuses évolutions de la bibliothèque C.
Le développement dans un système de type Linux passe souvent par le langage C, que ce soit pour le développement de processus, de sockets, les pipes, les signaux?
Ce livre propose des explications et des exemples de code en langage C sur la programmation système dans un environnement Linux. Ils traitent sur la plupart, toutes les possibilités qu'offre au développeur, de programmer une application système, c'est-à-dire en ligne de commande. Comme vous l'avez compris, ce livre ne permettra pas de faire une interface graphique (Comme avec GTK+ ou QT) mais principalement au format terminal.
Le livre est destiné non seulement au développeur qui souhaite créer des applications systèmes/serveur, mais également aux étudiants qui souhaitent débuter dans la programmation sous une plateforme Linux.
Pour finir, le livre est très complet mais néanmoins reste assez difficile pour ceux qui n'ont jamais vu la programmation sous Linux, mais reste tout à fait abordable.
963 pages,
2ème édition,
Février 2005
Editions Eyrolles,
ISBN10 : 2212116012 Commandez sur www.amazon.fr : 42,75 EUR TTC (prix éditeur 45,00 EUR TTC)
-
Livraison Gratuite ! |
 
Copyright ©
2000-2007
Developpez LLC. Tous droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérêts.
Cette page est déposée à la
SACD.
|