Buts Dans ce livre je me suis donné comme buts : Présenter le cours pas à pas afin que le lecteur assimile chaque concept avant d'aller plus loin. Utiliser des exemples qui soient aussi simples et courts que possible. Souvent, cela me détournera des problèmes « du monde réel », mais j'ai remarqué que les débutants sont généralement plus satisfaits de comprendre chaque détail d'un exemple qu'ils ne sont impressionnés par la portée du problème qu'il résoud. Il y a également une limite à la taille du code qui peut être assimilé dans une situation de cours magistral, limite qu'il faut impérativement ne pas dépasser. A ce sujet je reçois parfois des critiques pour avoir utilisé des « exemples jouets », et je les accepte volontiers, avec le prétexte que ce que je présente est utile, pédagogiquement parlant. Enchaîner soigneusement la présentation des fonctionnalités afin que l'on ne rencontre jamais quoi que ce soit qui n'ait jamais été exposé. Bien entendu, ce n'est pas toujours possible, et, dans de telles situations, je donnerai une brève description en introduction. Montrer ce que je pense être important concernant la compréhension du langage, plutôt qu'exposer tout mon savoir. Je crois que l'information est fortement hiérarchisée, qu'il est avéré que 95 % des programmeurs n'ont pas besoin de tout connaître, et que cela ne ferait que les embrouiller et accroître leur impression de complexité du langage. Pour prendre un exemple en C, en connaissant par coeur le tableau de priorité des opérateurs (ce qui n'est pas mon cas), il est possible d'écrire un code astucieux. Mais si vous y réfléchissez un instant, ceci risque de dérouter le lecteur et/ou le mainteneur de ce code. Il est donc préférable d'oublier la priorité des opérateurs, et d'utiliser des parenthèses lorsque les choses ne sont pas claires. Une attitude similaire sera adoptée avec certaines informations du langage C++, qui je pense sont plus importantes pour les réalisateurs de compilateurs que pour les programmeurs. Maintenir chaque section assez concentrée de telle manière que le temps de lecture - et le temps entre les exercices - soit raisonnable. Non seulement cela maintient l'attention et l'implication des auditeurs lors d'un séminaire, mais cela donne au lecteur une plus grande impression de travail bien fait. Munir les lecteurs de bases solides afin que leurs connaissances soient suffisantes pour suivre un cours ou lire un livre plus difficiles (en particulier, le volume 2 de ce livre). J'ai essayé de n'utiliser aucune version particulière d'un quelconque revendeur C++ parce que, pour apprendre un langage, je ne pense pas que les détails d'une implémentation particulière soient aussi importants que le langage lui-même. La documentation fournie par les revendeurs au sujet de leurs propres spécificités d'implémentation est la plus part du temps suffisante.