Note : 4 ;Du texte à l’ancienne, mais un réel savoir faire sur la gestion de fichiers en C.
Pas très récent, ce brave ouvrage, il accuse même ses 25 ans. Le sujet du livre est dans le titre, et il se traite ici sur près de 500 pages avec 9 chapitres sur 4 parties. Ce seront donc des chapitres assez longs, il faut se faire à cette idée.
La première partie, longue de 80 pages donne les outils de base sur 2 chapitres. On part de très loin avec un premier chapitre qui reprends les éléments de base du langage C. C’est ridicule. Le second l’est moins qui reprend les fonctions de la librairie standard traitant des entrées / sorties sur fichier. On a les éléments de base pour ce qui constitue réellement le cœur du bouquin.
La seconde partie traite des fichiers séquentiels. Le tarif est de 2 chapitres couvrant 60 pages. On y explore successivement les modes d’accès bufférisés puis non bufférisés. La lecture de ces deux chapitres expliquent le volume important du livre : les exemples de code couvrent une très grande partie de l’espace et à ce tarif, les pages défilent vite. La bonne nouvelle est que le texte est un bon support d’auto-formation.
La troisième partie s’attaque au sujet des fichiers directs. 110 pages et 3 chapitre est le tarif annoncé. En fait, c’est une véritable librairie que construit l’auteur et il nous en propose le code dans le chapitre 5. Dommage qu’il nous demande d’admettre la nécessité des fonctions de base qu’il nous propose, plutôt que de nous inviter à en comprendre l’architecture. Ensuite on met en œuvre ces primitives au chapitre 6 dans un programme de gestion d’accès direct avec allocations simplifiées. Ce chapitre est une espèce de gros listing du programme, ponctué de quelques phrases en français pour que ça ne fasse pas trop vulgaire. Au chapitre 7 on s’attaque au hashing. On passe un peu de temps à en expliquer le principe, puis un peu de temps à construire les fonctions de base. Et c’est enfin le bon vieux listing indigeste sur plusieurs pages. Mais le dernier chapitre de cette partie n’est pas si mal.
La dernière partie est consacrée aux fichiers indexés. Ca rigole pas avec 2 chapitre sur 250 pages. Enfin, quand je dis 2 chapitres, le chapitre 8 est une sorte de champion du monde avec 190 pages, presqu’un livre à lui tout seul, alors que le dernier n’en fait « que » 60. C’est justement avec le monstre qu’on commence et le concept du B-Tree. L’auteur n’y est avare ni d’explications, ni de d’illustrations (les une limpides, les autres complexes ou incompréhensibles), ni de code (souvent touffu à l’extrême, sans parler des nommages pas vraiment humains). Tout cela est hélas fort difficile d’abord et s’attaquer à se chapitre s’apparente à un morceau de bravoure. Le chapitre 9 aborde fort logiquement le B+Tree. Si l’idée est un peu la même que celle qui a présidé à la construction du chapitre 8, on voit bien que l’auteur fatiguait un peu, ne serait-ce que parce que le chapitre est bien plus court !
Il y a à boire et à manger dans ce livre. Les derniers chapitres sont un peu mortels et non pédagogiques, même si l’auteur y « tale son réel savoir-faire, tandis que la seconde partie est réellement pédagogique. C’est aussi un livre à l’ancienne (il accuse 25 ans) et les listings de code noircissent une large part du papier. Un texte intéressant pour l’introduction à l’écriture sur fichier en C, le reste est à oublier.
Référence complète : Techniques de programmation en C, la gestion de fichiers – François-Xavier Eloundou – Sybex 1988 – ISBN : 9782736103880