Parmis les classiques qui m'ont déçu, je citerais le Dragon Book pour la création de compilateurs, qui m'ennuie profondément, peut-être parce que je l'ai acheté en français, et que la traduction est laborieuse.
Alors déjà, je ne savais pas qu'il existait une traduction française officielle, donc j'éviterai de parler pour cette dernière.
Par contre, ayant le Dragon Book (en VO, donc) chez moi, je ne suis pas d'accord avec ton appréciation. Il est certes assez austère (ça se voit que le bouquin a été écrit dans les années 80), mais il est complet, très orienté "pratique" (là où beaucoup de bouquins du domaine sont justement trop théoriques), et très clair. Maintenant, la compilation est un domaine qui fait intervenir les automates (front-end du compilateur, grammaires LR/LALR, etc), les graphes (optimisation de compilation, graphes de flots de contrôles, etc.), de la prog bas niveau... C'est un domaine extrêmement complet et complexe.
D'ailleurs pour ceux qui voudraient savoir à quoi pourrait ressembler un compilateur optimisant moderne, je ne peux que conseiller Optimizing Compilers for Modern Architectures: A Dependence-Based Approach (attention, en plus d'être en Anglais, c'est un gros pavé qui coûte cher).
Là-dedans, on apprend exactement comment fonctionnent les optimisations trouvées dans les back-ends des compilateurs (déroulage de boucle, tuilage, analyse de dépendances, fusion de boucles, etc).
Tant qu'on y est dans les bouquins, j'aurais tendance à recommander Maîtrise des algorithmes en C (Kyle Loudon, O'Reilly) pour ceux qui ont plutôt une expérience pratique de la programmation et qui voudraient se mettre à l'algorithmique plus sérieusement.
Introduction à l'algorithmique est un excellent bouquin, mais pour commencer l'algo, je le trouve vraiment pas évident, surtout si on n'a pas un certain background mathématique et la façon de penser qui va avec. De la même manière, pour ceux qui ont le temps et la patience, lire Mathématiques concrètes : Fondations pour l'informatique (Graham, Knuth, Patashnik) est plutôt une bonne chose (et du coup, lire les TAOCP, Introduction à l'algorithmique, etc devient bien plus facile).
D'une façon générale, dans ces bouquins il y a des exercices, et il est à mon sens important de faire une partie de ceux-ci (sinon on comprend l'idée globale éventuellement, mais on n'est pas capable d'appliquer).
[^] # Re: Classiques
Posté par lasher . En réponse au journal Vos livres d'informatique préférés.... Évalué à 2.
Alors déjà, je ne savais pas qu'il existait une traduction française officielle, donc j'éviterai de parler pour cette dernière.
Par contre, ayant le Dragon Book (en VO, donc) chez moi, je ne suis pas d'accord avec ton appréciation. Il est certes assez austère (ça se voit que le bouquin a été écrit dans les années 80), mais il est complet, très orienté "pratique" (là où beaucoup de bouquins du domaine sont justement trop théoriques), et très clair. Maintenant, la compilation est un domaine qui fait intervenir les automates (front-end du compilateur, grammaires LR/LALR, etc), les graphes (optimisation de compilation, graphes de flots de contrôles, etc.), de la prog bas niveau... C'est un domaine extrêmement complet et complexe.
D'ailleurs pour ceux qui voudraient savoir à quoi pourrait ressembler un compilateur optimisant moderne, je ne peux que conseiller Optimizing Compilers for Modern Architectures: A Dependence-Based Approach (attention, en plus d'être en Anglais, c'est un gros pavé qui coûte cher).
Là-dedans, on apprend exactement comment fonctionnent les optimisations trouvées dans les back-ends des compilateurs (déroulage de boucle, tuilage, analyse de dépendances, fusion de boucles, etc).
Tant qu'on y est dans les bouquins, j'aurais tendance à recommander Maîtrise des algorithmes en C (Kyle Loudon, O'Reilly) pour ceux qui ont plutôt une expérience pratique de la programmation et qui voudraient se mettre à l'algorithmique plus sérieusement.
Introduction à l'algorithmique est un excellent bouquin, mais pour commencer l'algo, je le trouve vraiment pas évident, surtout si on n'a pas un certain background mathématique et la façon de penser qui va avec. De la même manière, pour ceux qui ont le temps et la patience, lire Mathématiques concrètes : Fondations pour l'informatique (Graham, Knuth, Patashnik) est plutôt une bonne chose (et du coup, lire les TAOCP, Introduction à l'algorithmique, etc devient bien plus facile).
D'une façon générale, dans ces bouquins il y a des exercices, et il est à mon sens important de faire une partie de ceux-ci (sinon on comprend l'idée globale éventuellement, mais on n'est pas capable d'appliquer).