C# in depth – Jon Skeet

On avait bien le “Smacchia”, la bible du développeur C# (indisponible en français depuis la fermeture d’Oreilly en France, la version US semble encore disponible)

couverture du livre de John Skeet
couverture du livre de John Skeet
mais il est vrai que c’est un livre très exhaustif qu’on prend plaisir à consulter de façon ponctuelle. Et puis il commençait à dater sur certains aspects et l’auteur se consacre maintenant à son logiciel tout aussi fameux : NDepend.

C# in depth” n’est pas vraiment un livre pour apprendre un langage, ses 400 pages ne contiennent aucune information de base sur le langage comme la syntaxe , les instructions de contrôle etc. Je dirai que le lecteur du livre de Jon Skeet est un développeur .NET qui utilise C# dans ses projets depuis un certain moment, il connaît les versions 1 et 2. Il n’a pas commencé à intégrer la version 3 mais a fait “joujou” avec et  surtout avec Linq.

Ce livre va lui permettre de comprendre le pourquoi des fonctionnalités de C# 3 et ceci en revoyant un petit peu C# 1, juste pour voir comment il était pénible de réaliser certaines tâches comme l’utilisation des “delegates”. C# 2 est aussi bien couvert pour expliquer les évolutions apportées comme les génériques, les types Nullables, les itérateurs. L’évolution de la contravariance et de la covariance n’est peut-être pas des plus claire mais elle est expliquée. La dernière partie est une version plus détaillée des nouveautés de C# 3 que j’avais lu dans le livre de  Fabrice Marguerie, Linq in Action. On voit les types anonymes, les lambdas expression, les méthodes d’extensions avec un aperçu de Linq SQL et XML.

J’ai apprécié la lecture de ce livre car il est pas facile d’aller dans les détails des fonctionnalités d’un langage de programmation sans perdre le lecteur. Ici tout en focalisation sur certains points je suis arrivé à comprendre (et à apprécier) des choses qui étaient encore floues (dans la vie de tous les jours on n’a pas forcément le temps de se pencher sur toutes les subtilités …).

Billet publié dans les rubriques Programmation, Lecture le