Informatique‎ > ‎

Quelques bons livres

Le propos de cette page consiste à fournir une liste de livres que j'ai personnellement appréciés ou qui m'ont été particulièrement utiles. Cette liste est mise à jour au fur et à mesure de mes lectures ; certains livres quittent cette page quand d'autres la rejoignent. Je m'efforce cependant d'y faire avant tout apparaître des ouvrages susceptibles de conserver leur pertinence à travers les années.

kafka -  depuis 2011

Réagir par mail


Perl

Perl Moderne

Ecrit par une partie de l'équipe des Mongueurs de Perl, cet ouvrage se présente comme un "guide de survie pour programmer en Perl aujourd'hui" et se donne 448 pages au format poche pour remplir cet objectif. Les six premiers chapitres, sur 136 pages, présentent les bases du langage, depuis les notions de base (déclaration et utilisation de variables simples, affichage à l'écran) et les structures de données classiques (tableaux, tables de hachage) jusqu'aux expressions rationnelles et aux bases de l'objet en Perl. A noter que l'on trouve également toutes les informations pour l'installation d'un environnement Perl ainsi que des modules CPAN. Ces premières pages s'inscrivent bien dans la ligne du livre et conseillent l'installation de Strawberry Perl sous Windows et si l'utilitaire cpan est présenté, cpanm, plus moderne, l'est également. Sur près de 50 pages, les trois chapitres suivants détaillent la programmation objet en Perl. C'est probablement ici que la volonté de modernité de l'ouvrage se fait le plus sentir : c'est à travers l'ensemble de modules Moose que le lecteur se fait la main et non avec les méthodes manuelles (comme l'usage direct de bless).


La même remarque peut être formulée pour le chapitre suivant, fondamental sous ses airs anodins : le traitement des fichiers et répertoires. Perl se montrant souvent très efficace et arrangeant dans le traitement des chaînes de caractères et des expressions rationnelles, trop souvent le programmeur est tenté de manipuler les chemins et les données de cette manière bien naïve. Conscient de cet écueil, le livre présente rapidement les moyens de bases (open, etc.) mais consacre l'essentiel de ses pages à des exemples s'appuyant sur le module Path::Class, lequel permet de manière transparente de gérer toutes les subtilités des systèmes de fichiers variés (ou avarié, dans le cas de VMS) rencontrés au quotidien. La cinquantaine de pages suivantes, consacrées aux base de données, suivent un schéma similaire et présentent l'incontournable DBI puis s'intéressent à Data::Phrasebook::SQL et DBIx::Class. A noter que la présentation de ce dernier module aurait gagné à jouir de quelques pages supplémentaires, afin d'aborder les problèmes typiques des ORM et ce que ce module propose afin d'y remédier, comme l'activation de traces détaillant les requêtes générées, par exemple. En revanche, l'idée de traiter de KiokuDB (stockage de graphes d'objets) et de Cache::Memcached (base de données orientée clef/valeur) est excellente pour ouvrir de nouveaux horizons.

Passons rapidement sur les quelque 80 pages suivantes, où le sujet peut-être le plus intéressant est celui du traitement des dates, pour arriver aux trois chapitres consacrés à POE. L'environnement de programmation asynchrone y est décortiqué et, surtout, bénéficie d'un exemple complet permettant d'en comprendre les pièges et de noter les bonnes pratiques à appliquer. La tâche n'était pas simple, car POE est complexe mais on se sent en confiance en parvenant à la fin de ces chapitres. Une présentation succincte de l'utilisation de POE en mode distribué est même parvenue à se glisser dans ces pages. Enfin, le reste du livre détaille les différentes manières de parser du HTML (avec HTML::Parser, HTML::TreeBuilder et HTML::TokeParser) et d'interagir avec un serveur Web de manière automatisée (en s'appuyant sur LWP::UserAgent et WWW::Mechanize). Là encore, les exemples sont pertinents et permettent de bien comprendre le fonctionnement et, plus important encore, les limitations de ces outils.

Perl moderne constitue un ouvrage remarquable. A la fois ouvrage de référence, cookbook et, dans une moindre mesure, guide des bonnes pratiques, il parvient à satisfaire à la fois le débutant (en tant que second livre) et le développeur confirmé cherchant un débroussailleur de CPAN et un condensé d'exemples pratiques. La présentation, claire et aérée, ainsi que le format poche contribuent encore à faire de ce livre un compagnon fidèle des sessions de code.

Titre : Perl Moderne
Auteur(s) : Sébastien Aperghis-Tramoni, Philippe Bruhat, Damien Krotkine, Jérôme Quelin.
Editeur : Pearson
Année : 2010
Pages : 448
ISBN : 978-2-7440-2419-1