IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Divers

11 livres et 12 critiques, dernière mise à jour le 14 octobre 2022 , note moyenne : 4.5

  1. Beautiful C++ - 30 Core Guidelines for Writing Clean, Safe, and Fast Code
  2. Programmer efficacement en C++ - 42 conseils pour mieux maîtriser le C++ 11 et le C++ 14
  3. Coder efficacement - Bonnes pratiques et erreurs à éviter (en C++)
  4. Exceptional C++ - 47 Engineering Puzzles, Programming Problems, and Solutions
  5. More Exceptional C++ - 40 New Engineering Puzzles, Programming Problems, and Solutions
  6. Exceptional C++ Style - 40 New Engineering Puzzles, Programming Problems, and Solutions
  7. Métier développeur : kit de survie
  8. C++ développement multiplate-forme
  9. C++ Coding Standards - 101 Rules, Guidelines, and Best Practices
  10. C++ par la pratique - Recueil d'exercices corrigés et aide-mémoire
  11. Programmer en langage C++ - Avec une intro aux design patterns et une annexe sur la norme C++11
couverture du livre Beautiful C++

drapeau
Détails du livre
Sommaire
Critiques (0)
0 commentaire
 
 

Beautiful C++

30 Core Guidelines for Writing Clean, Safe, and Fast Code

de

Résumé de l'éditeur

Discover the Beauty of Modern C++

"Beautiful C++ presents the C++ Core Guidelines from a developer's point of view with an emphasis on what benefits can be obtained from following the rules and what nightmares can result from ignoring them. For true geeks, it is an easy and entertaining read. For most software developers, it offers something new and useful."
--Bjarne Stroustrup, inventor of C++ and co-editor of the C++ Core Guidelines

Writing great C++ code needn't be difficult. The C++ Core Guidelines can help every C++ developer design and write C++ programs that are exceptionally reliable, efficient, and well-performing. But the Guidelines are so jam-packed with excellent advice that it's hard to know where to start. Start here, with Beautiful C++.

Expert C++ programmers Guy Davidson and Kate Gregory identify 30 Core Guidelines you'll find especially valuable and offer detailed practical knowledge for improving your C++ style. For easy reference, this book is structured to align closely with the official C++ Core Guidelines website.

Throughout, Davidson and Gregory offer useful conceptual insights and expert sample code, illuminate proven ways to use both new and longstanding language features more successfully, and show how to write programs that are more robust and performant by default.

  • Avoid "bikeshedding": stop wasting valuable time on trivia
  • Don't hurt yourself by writing code that will cause problems later
  • Know which legacy features to avoid and the modern features to use instead
  • Use newer features properly, to get their benefits without creating new problems
  • Default to higher-quality code that's statically type-safe, leak resistant, and easier to evolve
  • Use the Core Guidelines with any modern C++ version: C++20, C++17, C++14, or C++11

There's something here to improve virtually every program you write, design, or maintain. For ease of experimentation, all sample code is available on Compiler Explorer at https://godbolt.org/z/cg30-ch0.0.

Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

Édition : Addison-Wesley Professional - 352 pages, 1re édition, 23 décembre 2021

ISBN10 : 0137647840 - ISBN13 : 9780137647842

Commandez sur www.amazon.fr :

44.99 $ TTC (prix éditeur 44.99 $ TTC)
Section 1: Bikeshedding is bad
  • Chapter 1.1: P.2: Write in ISO Standard C++
  • Chapter 1.2: F.51: Where there is a choice, prefer default arguments over overloading
  • Chapter 1.3: C.45: Don't define a default constructor that only initializes data members; use in-class member initializers instead
  • Chapter 1.4: C.131: Avoid trivial getters and setters
  • Chapter 1.5: ES.10: Declare one name (only) per declaration
  • Chapter 1.6: NR.2: Don't insist to have only a single return-statement in a function


Section 2: Don't hurt yourself
  • Chapter 2.1: P.11: Encapsulate messy constructs, rather than spreading through the code
  • Chapter 2.2: I.23: Keep the number of function arguments low
  • Chapter 2.3: I.26: If you want a cross-compiler ABI, use a C-style subset
  • Chapter 2.4: C.47: Define and initialize member variables in the order of member declaration
  • Chapter 2.5: CP.3: Minimize explicit sharing of writable data
  • Chapter 2.6: T.120: Use template metaprogramming only when you really need to


Section 3: Stop using that
  • Chapter 3.1: I.11: Never transfer ownership by a raw pointer (T*) or reference (T&
  • Chapter 3.2: I.3: Avoid singletons
  • Chapter 3.3: C.90: Rely on constructors and assignment operators, not memset and memcpy
  • Chapter 3.4: ES.50: Don't cast away const
  • Chapter 3.5: E.28: Avoid error handling based on global state (e.g. errno)
  • Chapter 3.6: SF.7: Don't write using namespace at global scope in a header file


Section 4: Use this new thing properly
  • Chapter 4.1: F.21: To return multiple "out" values, prefer returning a struct or tuple
  • Chapter 4.2: Enum.3: Prefer class enums over "plain" enums
  • Chapter 4.3: ES.5: Keep scopes small
  • Chapter 4.4: Con.5: Use constexpr for values that can be computed at compile time
  • Chapter 4.5: T.1: Use templates to raise the level of abstraction of code
  • Chapter 4.6: T.10: Specify concepts for all template arguments


Section 5: Write code well by default
  • Chapter 5.1: P.4: Ideally, a program should be statically type safe
  • Chapter 5.2: P.10: Prefer immutable data to mutable data
  • Chapter 5.3: I.30: Encapsulate rule violations
  • Chapter 5.4: ES.22: Don't declare a variable until you have a value to initialize it with
  • Chapter 5.5: Per.7: Design to enable optimization
  • Chapter 5.6: E.6: Use RAII to prevent leaks
Aucune critique n'a été faite pour l'instant



 Commenter Signaler un problème

Avatar de - https://www.developpez.com
l 23/12/2021 à 23:34
Beautiful C++
30 Core Guidelines for Writing Clean, Safe, and Fast Code


Discover the Beauty of Modern C++

"Beautiful C++ presents the C++ Core Guidelines from a developer's point of view with an emphasis on what benefits can be obtained from following the rules and what nightmares can result from ignoring them. For true geeks, it is an easy and entertaining read. For most software developers, it offers something new and useful."
--Bjarne Stroustrup, inventor of C++ and co-editor of the C++ Core Guidelines

Writing great C++ code needn't be difficult. The C++ Core Guidelines can help every C++ developer design and write C++ programs that are exceptionally reliable, efficient, and well-performing. But the Guidelines are so jam-packed with excellent advice that it's hard to know where to start. Start here, with Beautiful C++.

Expert C++ programmers Guy Davidson and Kate Gregory identify 30 Core Guidelines you'll find especially valuable and offer detailed practical knowledge for improving your C++ style. For easy reference, this book is structured to align closely with the official C++ Core Guidelines website.

Throughout, Davidson and Gregory offer useful conceptual insights and expert sample code, illuminate proven ways to use both new and longstanding language features more successfully, and show how to write programs that are more robust and performant by default.

  • Avoid "bikeshedding": stop wasting valuable time on trivia
  • Don't hurt yourself by writing code that will cause problems later
  • Know which legacy features to avoid and the modern features to use instead
  • Use newer features properly, to get their benefits without creating new problems
  • Default to higher-quality code that's statically type-safe, leak resistant, and easier to evolve
  • Use the Core Guidelines with any modern C++ version: C++20, C++17, C++14, or C++11

There's something here to improve virtually every program you write, design, or maintain. For ease of experimentation, all sample code is available on Compiler Explorer at https://godbolt.org/z/cg30-ch0.0.

Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

[Lire la suite]



 
couverture du livre Programmer efficacement en C++

Note 4.8333333333333 drapeau
Détails du livre
Sommaire
Critiques (3)
0 commentaire
 
 

Programmer efficacement en C++

42 conseils pour mieux maîtriser le C++ 11 et le C++ 14

de
Traducteurs : Hervé Soulard
Public visé : Intermédiaire

Résumé de l'éditeur

Le C++ 11 et plus encore le C++ 14 sont des évolutions significatives du langage C++. Cet ouvrage vous aidera non seulement à découvrir ce qui a changé, mais aussi à écrire du code qui soit correct, efficace, facile à maintenir et à porter. Son objectif n'est pas de décrire ce que vous devez faire ou ne pas faire, mais de vous apporter une compréhension en profondeur du fonctionnement de C++11 et de C++14.

Il est structuré en 42 conseils qui vous enseigneront à la fois les bonnes pratiques et les pièges à éviter.

Vous voulez :
  • comprendre les différentes formes de déduction de type,
  • savoir quand (ne pas) utiliser les déclarations
  • découvrir pourquoi les fonctions membres const doivent être sûres vis-à-vis des threads,
  • apprendre à implémenter l'idiome Pimpl avec std::unique_ptr,
  • comprendre pourquoi éviter le mode de capture par défaut dans les expressions lambda,
  • assimiler les différences entre std::atomic et volatile.


Toutes les réponses se trouvent ici. Elles sont indépendantes de la plate-forme et conformes à la norme. Cet ouvrage présente un C++ portable.

Édition : Campus Press - 320 pages, 1re édition, 16 mars 2016

ISBN10 : 2100743910 - ISBN13 : 9782100743919

Commandez sur www.amazon.fr :

29.00 € TTC (prix éditeur 29.00 € TTC)
  • Comprendre les types
  • Les fonctions auto
  • Migrer vers les versions modernes du C++
  • Les pointeurs intelligents
  • Les références Rvalue, les Move semantics et le Perfect forwarding
  • Les Lamdba expressions
  • Le runtime d'accès concurrentiel pour C++
Critique du livre par la rédaction Thibaut Cuvelier le 19 mai 2016
Scott Meyers est un gourou du C++, maintenant parti à la retraite. Sa dernière contribution à l'environnement C++ se veut magistrale, en détaillant les points les moins bien compris et utilisés des dernières itérations de la norme, c'est-à-dire C++11 et C++14, avec un code dans un style résolument moderne. L'auteur exploite dans cet ouvrage sa participation active dans la préparation des nouvelles versions du langage, en expliquant les raisons de l'ajout de l'une ou l'autre fonctionnalité. Il n'est pas avare en clarifications dans l'implémentation des compilateurs les plus courants. Globalement, ce livre fournit une vue approfondie des points les plus délicats des nouveautés syntaxiques.

Clairement, le livre ne s'adresse pas aux débutants : pour en profiter, il est nécessaire d'avoir déjà une certaine exposition aux nouveautés de C++11 et de C++14, avec une bonne expérience de C++ ; ce texte n'est pas un guide complet sur le C++ moderne et les derniers ajouts au langage. Sans ces connaissances préalables, l'ouvrage se montrera très ardu à aborder : l'auteur descend dans les détails les plus sombres de la norme, expose au grand jour toute une série de cas limites, le tout dans un style assez dense (à peine plus de trois cents pages pour autant de contenu, c'est un exploit, surtout que l'écriture reste lisible).

De par cette conception, le livre ravira cependant un public très large. Ceux qui n'ont pas encore une grande compréhension des avancées du C++ moderne auront une explication rationnelle des nouveaux concepts, les plus avancés se réjouiront du style d'écriture orienté vers un usage à long terme : il ne contient pas vraiment de solution directe à des problèmes rencontrés, mais entretient une culture C++ moderne. La performance du code généré est un point sur lequel l'auteur insiste, parfois lourdement.

Chaque « conseil » s'achève toujours sur un bref résumé des points essentiels à retenir. Cependant, la terminologie de « conseil » est très mal adaptée : il s'agit plutôt de séquences sur un sujet donné, préférant l'explorer à fond, en présentant les diverses alternatives et les avantages et défauts des unes et des autres. D'ailleurs, les points spécifiques à C++11 ou C++14 sont indiqués, en précisant ce qui est valable dans une version et pas l'autre, mais aussi tout ce qui s'applique depuis C++98.
Critique du livre par la rédaction Alexandre Laurent le 5 septembre 2016
Lorsque l’on a en main un livre de Scott Meyers, on sait à quoi s’attendre. Pour ceux qui ne le connaissent pas encore, Scott Meyers est l’auteur d’une série de livres (Effective C++, More Effective C++, Effective STL et celui-ci Effective Modern C++) prodiguant des conseils sur la façon d’écrire un meilleur code C++. Chaque conseil détaille une problématique précise et les solutions possibles à celle-ci. Finalement, une conclusion est apportée et un encadré indique les points à retenir. Ses explications sont simples et claires et permettent de mieux comprendre comment le code sera interprété par le compilateur et le résultat de l’exécution.
Programmer efficacement en C++ apporte des clarifications sur le C++ moderne (C++11 et C++14). Ainsi, vous recevrez des explications sur la déduction de type, le nouveau mot clé auto, les différences entre le C++98 et le C++11, les pointeurs intelligents, les références rvalue, les expressions lambda et la bibliothèque pour la programmation concurrente.
J’estime que ce livre est un passage obligatoire pour tout développeur connaissant le C++ et souhaitant s’investir dans le langage. Une première lecture permettra de se mettre en tête l’interprétation faite par les compilateurs, ensuite, le livre restera non loin de vous, vous permettant de retourner rapidement sur les points intéressants au moment de l’écriture du code.

La renommée des livres de Scott Meyers (et du personnage en lui-même) n’est plus à faire. Ce livre apporte 42 nouveaux conseils pour mieux appréhender le C++ moderne. Comme pour tout livre portant sur la programmation, il est important de mettre en pratique l’enseignement offert à travers ces pages.

On regrettera toutefois que la version française perde la coloration du code en rouge lorsque celui-ci doit être mis en avant pour une simple police en gras.
Critique du livre par la rédaction yan verdavaine le 25 octobre 2017
Utilisant plusieurs langages de programmation, je cherchais un livre qui me facilite une remise à niveau sur le langage c++ et m’aide à comprendre différentes subtilités comme la bonne utilisation de « auto », des « lambda expression », … Ce que sont les « rvalue » ou comment bien utiliser les « smart pointeur ».
J’ai pu trouver tout cela dans ce livre mais aussi découvrir d’autre nouveauté comme l’api concurrente et mieux appréhender ce que représente le « C++ moderne ».
Si vous appréciez d’exploiter au mieux un langage et que vous commencez à accumuler quelques lacunes, ce livre est fait pour vous. Cela vous permettra aussi de repartir sur de bonne base pour les évolutions futures.




 Commenter Signaler un problème

Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
l 20/05/2016 à 22:23
Le C++ 11 et plus encore le C++ 14 sont des évolutions significatives du langage C++. Cet ouvrage vous aidera non seulement à découvrir ce qui a changé, mais aussi à écrire du code qui soit correct, efficace, facile à maintenir et à porter. Son objectif n'est pas de décrire ce que vous devez faire ou ne pas faire, mais de vous apporter une compréhension en profondeur du fonctionnement de C++11 et de C++14.
Il est structuré en 42 conseils qui vous enseigneront à la fois les bonnes pratiques et les pièges à éviter. Vous voulez :
  • comprendre les différentes formes de déduction de type,
  • savoir quand (ne pas) utiliser les déclarations auto,
  • découvrir pourquoi les fonctions membres const doivent être sûres vis-à-vis des threads,
  • apprendre à implémenter l'idiome Pimpl avec std::unique_ptr,
  • comprendre pourquoi éviter le mode de capture par défaut dans les expressions lambda,
  • assimiler les différences entre std::atomic et volatile.

Toutes les réponses se trouvent ici. Elles sont indépendantes de la plate-forme et conformes à la norme. Cet ouvrage présente un C++ portable.


Tous les meilleurs livres pour apprendre la programmation C++

 
couverture du livre Coder efficacement

Note 5 drapeau
Détails du livre
Sommaire
Critiques (1)
10 commentaires
 
 

Coder efficacement

Bonnes pratiques et erreurs à éviter (en C++)

de
Public visé : Débutant

Résumé de l'éditeur

Développer une application peut rapidement devenir un enfer si vous n'avez pas anticipé certaines difficultés et fait les bons choix au moment de sa conception. Ce livre vous aidera à vous poser les bonnes questions et à tirer le meilleur parti de la programmation objet, en particulier en C++, sans tomber dans les pièges les plus fréquents. Il clarifie certains concepts délicats et passe en revue un ensemble de bonnes pratiques, qui rendront vos projets plus évolutifs et plus faciles à maintenir.

Organisé en quatre parties, il traite successivement :

  • des principes de base qui devraient être respectés quel que soit le langage de programmation ou le paradigme utilisé ;
  • des fondements de la programmation orientée objet et des principes qui sont applicables en toutes circonstances dès lors qu'on utilise ce paradigme ;
  • des principes spécifiques au C++ ;
pour se terminer sur une étude de cas approfondie détaillant les différentes étapes de conception d'un jeu d'échecs en conformité avec les principes énoncés précédemment. L'annexe vous apporte quelques compléments sur des aspects transversaux tels que la compilation ou les outils d'aide au développement.

Sa présentation sous forme de fiches thématiques permet aussi bien une lecture continue qu'un accès direct aux points qui vous intéressent.

Écrit sur un ton vivant et personnel, ce livre vous présente un point de vue résolument engagé en faveur d'une approche moderne de la programmation.

Édition : D-BookeR - 416 pages, 1re édition, 17 février 2014

ISBN10 : 2822701660 - ISBN13 : 9782822701662

Commandez sur www.amazon.fr :

36.00 € TTC (prix éditeur 36.00 € TTC)
Bien peu d'ouvrages se concentrent sur la manière de bien programmer. À l'instar de Effective Java (Joshua Bloch), ce livre a pour objectif de présenter les principes à respecter pour obtenir un code maintenable, évolutif. Il n'est pas spécifique au C++ dans ses deux premières parties : les principes généraux qui y sont énoncés sont valables pour une série de langages (de manière générale quand il s'agit d'écrire du code lisible ou d'éviter les effets de bord, plus spécifiquement pour l'orienté objet avec les grands principes que sont la substitution ou l'ouvert/fermé).

L'un de ses points forts est que l'auteur fait preuve de pragmatisme : ces préceptes sont prévus pour faciliter la maintenance du code lors de son évolution, mais leur respect peut mener à un code plus compliqué à écrire, à plus de réflexion avant de se lancer au clavier. Si ces évolutions sont très peu probables, inutile d'ajouter une couche de complexité au projet pour en faciliter l'ajout ultérieur (« la solution la plus simple est toujours la meilleure »).

Les premières parties du livre sont alors mises en application dans un jeu d'échecs en console. Bien que l'exemple soit relativement simple, bien coder l'application (pour en faciliter les évolutions, tant dans la jouabilité que dans l'interface) requiert de se poser, de réfléchir avant d'agir. Il s'agit d'ailleurs d'un des points sur lesquels l'auteur insiste : pour produire du code, une application de qualité, il n'est pas suffisant de s'installer derrière un clavier et de taper à un rythme effréné.

L'application des principes se fait exclusivement en C++, avec une certaine utilisation de C++11 là où le standard apporte au code une lisibilité supplémentaire ou de meilleurs messages d'erreur. L'ouvrage suppose cependant une connaissance de C++03, le standard précédent du langage : les nouveautés sont expliquées afin que le lecteur comprenne l'avantage d'utiliser les nouvelles constructions. Par contre, il ne s'agit pas d'un ouvrage traitant en long et en large du nouveau standard.

Certains patrons de conception sont aussi présentés, au niveau de l'étude de cas, afin de résoudre des problématiques propres au développement logiciel. Bien que le paradigme orienté objet soit omniprésent, l'œuvre n'est pas intégriste : d'autres paradigmes implémentés par C++, notamment la programmation générique, sont employés afin de limiter la quantité de code à écrire.

L'organisation est plus proche d'une série de fiches thématiques que d'une narration continue : la partie plus « théorique » de l'ouvrage n'est pas tant prévue pour une lecture linéaire qu'un piochage des éléments intéressants à un instant donné.

Ce livre vivant peut donc être recommandé chaudement à tous les développeurs. Les débutants y trouveront diverses manières d'améliorer leur code, mais ils n'en bénéficieront vraiment qu'avec de l'expérience de la programmation, notamment en C++ (l'annexe présente d'ailleurs un aperçu général de la chaîne de compilation en C++, souvent mystifiante pour ce public cible). Les plus chevronnés pourront découvrir de nouvelles pratiques pour améliorer leur manière de développer.
Critique du livre par la rédaction Thibaut Cuvelier le 23 mars 2014
Bien peu d'ouvrages se concentrent sur la manière de bien programmer. À l'instar de Effective Java (Joshua Bloch), ce livre a pour objectif de présenter les principes à respecter pour obtenir un code maintenable, évolutif. Il n'est pas spécifique au C++ dans ses deux premières parties : les principes généraux qui y sont énoncés sont valables pour une série de langages (de manière générale quand il s'agit d'écrire du code lisible ou d'éviter les effets de bord, plus spécifiquement pour l'orienté objet avec les grands principes que sont la substitution ou l'ouvert/fermé).

L'un de ses points forts est que l'auteur fait preuve de pragmatisme : ces préceptes sont prévus pour faciliter la maintenance du code lors de son évolution, mais leur respect peut mener à un code plus compliqué à écrire, à plus de réflexion avant de se lancer au clavier. Si ces évolutions sont très peu probables, inutile d'ajouter une couche de complexité au projet pour en faciliter l'ajout ultérieur (« la solution la plus simple est toujours la meilleure »).

Les premières parties du livre sont alors mises en application dans un jeu d'échecs en console. Bien que l'exemple soit relativement simple, bien coder l'application (pour en faciliter les évolutions, tant dans la jouabilité que dans l'interface) requiert de se poser, de réfléchir avant d'agir. Il s'agit d'ailleurs d'un des points sur lesquels l'auteur insiste : pour produire du code, une application de qualité, il n'est pas suffisant de s'installer derrière un clavier et de taper à un rythme effréné.

L'application des principes se fait exclusivement en C++, avec une certaine utilisation de C++11 là où le standard apporte au code une lisibilité supplémentaire ou de meilleurs messages d'erreur. L'ouvrage suppose cependant une connaissance de C++03, le standard précédent du langage : les nouveautés sont expliquées afin que le lecteur comprenne l'avantage d'utiliser les nouvelles constructions. Par contre, il ne s'agit pas d'un ouvrage traitant en long et en large du nouveau standard.

Certains patrons de conception sont aussi présentés, au niveau de l'étude de cas, afin de résoudre des problématiques propres au développement logiciel. Bien que le paradigme orienté objet soit omniprésent, l'œuvre n'est pas intégriste : d'autres paradigmes implémentés par C++, notamment la programmation générique, sont employés afin de limiter la quantité de code à écrire.

L'organisation est plus proche d'une série de fiches thématiques que d'une narration continue : la partie plus « théorique » de l'ouvrage n'est pas tant prévue pour une lecture linéaire qu'un piochage des éléments intéressants à un instant donné.

Ce livre vivant peut donc être recommandé chaudement à tous les développeurs. Les débutants y trouveront diverses manières d'améliorer leur code, mais ils n'en bénéficieront vraiment qu'avec de l'expérience de la programmation, notamment en C++ (l'annexe présente d'ailleurs un aperçu général de la chaîne de compilation en C++, souvent mystifiante pour ce public cible). Les plus chevronnés pourront découvrir de nouvelles pratiques pour améliorer leur manière de développer.




 Commenter Signaler un problème

Avatar de koala01 koala01 - Expert éminent sénior https://www.developpez.com
l 10/02/2014 à 21:40
Je viens de recevoir la photo du BAT (Bon A Tiré ()) du livre. Et je la trouve tellement belle que je ne résiste pas à l'envie de vous la faire partager "en primeure".

Plus qu'une petite semaine, et ils sera dans les librairies
Avatar de koala01 koala01 - Expert éminent sénior https://www.developpez.com
l 05/02/2014 à 13:37
[Discussion issue de http://www.developpez.net/forums/d68...s-livres-cpp/]

Salut,
Citation Envoyé par germinolegrand  Voir le message
Il y a celui de Philippe Dunski (koala01 ) qui devrait paraître dans quelques choses si je ne dis pas de bêtises (Coder efficacement - Bonnes pratiques et erreurs à éviter (en C++))

Citation Envoyé par Luc Hermitte  Voir le message
Après, il y a effectivement des bouts de C++11 là où c'est opportun dans le livre de Philippe (qui devrait sortir le 17 je crois), mais ce n'est pas le sujet du livre pour autant.

Je confirme qu'il sortira bien le 17

Et je confirme qu'il contient bien un peu de C++11, mais que ce n'est pas vraiment le sujet principal

Pour cela, l'expérience m'a incité à ressortir un autre projet de mes cartons, mais il faudra attendre un peu, parce que je m'attaque à un "gros morceau"
Avatar de r0d r0d - Expert éminent https://www.developpez.com
l 05/02/2014 à 13:44
Citation Envoyé par koala01 Voir le message
Je confirme qu'il sortira bien le 17
On ne peut pas le pré-commander?

Citation Envoyé par koala01 Voir le message
Et je confirme qu'il contient bien un peu de C++11, mais que ce n'est pas vraiment le sujet principal
Est-ce que tu traites de la classification des classes selon leur sémantique (entité/valeur)?

 
couverture du livre Exceptional C++

Note 5 drapeau
Détails du livre
Critiques (1)
0 commentaire
 
 

Exceptional C++

47 Engineering Puzzles, Programming Problems, and Solutions

de
Public visé : Intermédiaire

Résumé de l'éditeur

Une approche ludique à certains problèmes rencontrés en C++, tel est le pari de Herb Sutter . A partir de 47 questions posées sur Internet dans les séries Guru Of The Week auxquelles il invite à répondre soi-même dans un premier temps, il développe ses réponses, pertinentes et précises. Les arcanes du C++ sont abordés afin de pouvoir écrire du code robuste et efficace. Le niveau de difficulté de chaque question est précisé au début de chapitre afin de pouvoir se préparer et à la réflexion et à la réponse.

Le contenu du livre aborde tout d'abord les templates et la STL. Quels sont les risques à créer une classe de chaînes de caractères non sensibles à la casse ? Comment profiter au maximum de la STL ?

Le deuxième bloc de questions concerne les exceptions. Quand peut-on lancer une exception, quelles sont les exceptions que l'on peut lancer à quel moment, utiliser du code qui ne lancera jamais d'exception, ... Sans doute la partie du C++ la moins mise en valeur et la moins travaillée par chacun, les exceptions ne fonctionnent pas toujours comme on l'espère, et ces différences sont exposées dans ce livre.

La troisième partie concerne l'héritage et l'écriture élégante d'un design. Comment doit-on hériter et dans quelles proportions ? Devrait-on hériter plus souvent on peut-on s'en passer plus souvent qu'on ne le pense ?

Avec l'avènement de la STL, les temps de compilation ont augmenté. Est-il possible de les diminuer ? Comment peut-on le faire avec des idiomes nouveaux ?

Une partie est consacrée au principe de Koenig, le Koening lookup , qui permet de résoudre des recherches de fonctions, mais ce principe n'est pas très connu, il mérite à le devenir plus.

Les trois dernières parties sont consacrées à la vie des variables et donc aussi à la gestion de la mémoire. Petit accent sur les nouvelles possibilités du C++, les std::auto_ptr, les initialisations de variables locales aux classes, les durées de vie, les conversions, ... Est aussi abordé le mot-clé const et son utilité, les casts, le type bool, sa vie, son œuvre, ...

Édition : Addison-Wesley Professional - 240 pages, 1re édition, 1er novembre 2008

ISBN10 : 0201615622 - ISBN13 : 9780201615623

Commandez sur www.amazon.fr :

35.14 € TTC (prix éditeur 35.14 € TTC) livraison gratuite !
Critique du livre par la rédaction glayag le 30 septembre 2008
La note maximale est largement méritée pour ce livre très agréable à lire et pour les explications claires. Certaines parties permettent de répondre à des questions qu'on a pu se poser, par exemple les chapitres sur les namespaces pour la résolution des fonctions à utiliser. D'autres abordent le problème des fuites mémoire. Les templates sont abordés pragmatiquement et on a une idée immédiate de leur puissance mais aussi des problèmes qu'ils peuvent apporter. Un accent est mis sur l'inutilité de l'optimisation aveugle, c'est un point à souligner et qui montre une fois de plus que Sutter maîtrise parfaitement son sujet.
Le livre a été modifié par rapport aux questions/réponses sur le net afin d'être conforme au standard C++. 2 suites sont aussi sorties. Sans doute LE livre pour arrêter de programmer en C avec du C++.




 Commenter Signaler un problème

Avatar de zoom61 zoom61 - Rédacteur https://www.developpez.com
l 16/06/2014 à 17:09
Exceptional C++
47 Engineering Puzzles, Programming Problems, and Solutions


Une approche ludique à certains problèmes rencontrés en C++, tel est le pari de Herb Sutter . A partir de 47 questions posées sur Internet dans les séries Guru Of The Week auxquelles il invite à répondre soi-même dans un premier temps, il développe ses réponses, pertinentes et précises. Les arcanes du C++ sont abordés afin de pouvoir écrire du code robuste et efficace. Le niveau de difficulté de chaque question est précisé au début de chapitre afin de pouvoir se préparer et à la réflexion et à la réponse.

Le contenu du livre aborde tout d'abord les templates et la STL. Quels sont les risques à créer une classe de chaînes de caractères non sensibles à la casse ? Comment profiter au maximum de la STL ?

Le deuxième bloc de questions concerne les exceptions. Quand peut-on lancer une exception, quelles sont les exceptions que l'on peut lancer à quel moment, utiliser du code qui ne lancera jamais d'exception, ... Sans doute la partie du C++ la moins mise en valeur et la moins travaillée par chacun, les exceptions ne fonctionnent pas toujours comme on l'espère, et ces différences sont exposées dans ce livre.

La troisième partie concerne l'héritage et l'écriture élégante d'un design. Comment doit-on hériter et dans quelles proportions ? Devrait-on hériter plus souvent on peut-on s'en passer plus souvent qu'on ne le pense ?

Avec l'avènement de la STL, les temps de compilation ont augmenté. Est-il possible de les diminuer ? Comment peut-on le faire avec des idiomes nouveaux ?

Une partie est consacrée au principe de Koenig, le Koening lookup , qui permet de résoudre des recherches de fonctions, mais ce principe n'est pas très connu, il mérite à le devenir plus.

Les trois dernières parties sont consacrées à la vie des variables et donc aussi à la gestion de la mémoire. Petit accent sur les nouvelles possibilités du C++, les std::auto_ptr, les initialisations de variables locales aux classes, les durées de vie, les conversions, ... Est aussi abordé le mot-clé const et son utilité, les casts, le type bool, sa vie, son œuvre, ...

[Lire la suite]



 
couverture du livre More Exceptional C++

Note 4.5 drapeau
Détails du livre
Critiques (1)
0 commentaire
 
 

More Exceptional C++

40 New Engineering Puzzles, Programming Problems, and Solutions

de
Public visé : Intermédiaire

Résumé de l'éditeur

40 questions pour la suite de Exceptional C++ , toujours d' Herb Sutter . Les solutions apportées sont aussi variées et importantes comme :
  • Quels sont les dangers de l'utilisation des std::set ou stp::map et comment les éviter ?
  • Quelles sont les fonctions dépréciées utilisables avec la STL et celles non utilisables ?
  • Quelles sont les techniques disponibles pour générer du code templatisé puissant dont le comportement peut être modifié par le type de données utilisé ?
  • Quand et comment optimiser son code ? Quels sont les optimisations pouvant causer des problèmes, surtout en environnement multi-threadé ?
  • Comment la gestion des exceptions affecte-elle le design des classes ?
  • Comment gérer les problèmes d'héritage avec des bibliothèques de concepteurs différents - problème des soeurs siamoises - ?
  • Comment utiliser les std::auto_ptr de manière sûre et comment l'adapter avec des patterns simples pour éviter les écueils courants ? Est-il utilisable en tant que membre de classe ? A quel prix ?
  • Quelques questions courantes en C++ comme l'utilisation des namespaces : comment et pourquoi ?

Édition : Addison-Wesley Professional - 304 pages, 1re édition, 1er décembre 2001

ISBN10 : 020170434X - ISBN13 : 9780201704341

Commandez sur www.amazon.fr :

35.14 € TTC (prix éditeur 35.14 € TTC) livraison gratuite !
Critique du livre par la rédaction glayag le 7 mai 2008
Moins cohérent que le premier Exceptional C++ , ce deuxième opus répond à des questions plus précises. Le seul bloc de questions comparable au premier livre concerne le paradigme COW pour Copy-On-Write, utilisé souvent pour la gestion des strings à moindre coût d'allocation. Plusieurs implémentations des std::string utilisent ce paradigme, et des bibliothèques commerciales l'utilisent, comme Qt4. En revanche, les autres questions sont plus décousues.
Les réponses n'en sont pas moins pertinentes. La gestion de la mémoire dans les conteneurs peut être surprenante et les exceptions sont de retour. Le fait qu'il y ait moins de suite dans les questions les rend plus applicatives et moins génériques. Enfin, chaque question peut être utilisée telle quelle quand les questions en bloc nous entraînent dans la réflexion de plus en plus loin. C'est donc plus théorique que pratique ; ce n'est pas moins intéressant, c'est différent. Un très bon livre tout de même.




 Commenter Signaler un problème

Avatar de zoom61 zoom61 - Rédacteur https://www.developpez.com
l 16/06/2014 à 17:09
More Exceptional C++
40 New Engineering Puzzles, Programming Problems, and Solutions


40 questions pour la suite de Exceptional C++ , toujours d' Herb Sutter . Les solutions apportées sont aussi variées et importantes comme :
  • Quels sont les dangers de l'utilisation des std::set ou stp::map et comment les éviter ?
  • Quelles sont les fonctions dépréciées utilisables avec la STL et celles non utilisables ?
  • Quelles sont les techniques disponibles pour générer du code templatisé puissant dont le comportement peut être modifié par le type de données utilisé ?
  • Quand et comment optimiser son code ? Quels sont les optimisations pouvant causer des problèmes, surtout en environnement multi-threadé ?
  • Comment la gestion des exceptions affecte-elle le design des classes ?
  • Comment gérer les problèmes d'héritage avec des bibliothèques de concepteurs différents - problème des soeurs siamoises - ?
  • Comment utiliser les std::auto_ptr de manière sûre et comment l'adapter avec des patterns simples pour éviter les écueils courants ? Est-il utilisable en tant que membre de classe ? A quel prix ?
  • Quelques questions courantes en C++ comme l'utilisation des namespaces : comment et pourquoi ?


[Lire la suite]



 
couverture du livre Exceptional C++ Style

Note 4 drapeau
Détails du livre
Critiques (1)
commentaire
 
 

Exceptional C++ Style

40 New Engineering Puzzles, Programming Problems, and Solutions

de
Public visé : Expert

Résumé de l'éditeur

Le "style" d'un logiciel consiste à trouver l'équilibre entre ce qu'on appelle l' overhead et la fonctionalité, l'élégance et la maintenabilité, la flexibilité et l'excès. Dans Exceptional C++ Style , le gourou légendaire du C++, Herb Sutter présente 40 nouveaux scénarios de programmation afin d'analyser non seulement le quoi, mais aussi le pourquoi et de vous aider à trouver l'équilibre dans votre logiciel.

Organisé autour de problèmes et solutions pratiques, ce livre offre une nouvelle vision de détails cruciaux du C++ et de leur relations et de nouvelles stratégies pour les techniques de programmation clé du C++ actuel - y compris la programmation générique, la STL, les exceptions. Vous trouverez des réponses à des questions telles que :

Que peut-on apprendre à propos du design de bibliothèques à partir de la STL ?
Comment éviter de créer du code templaté non générique ?
Pourquoi ne pas spécialiser des fonctions tempaltées ? Que faire à la place ?
Comment la gestion des exceptions peut-elle aller au-delà des instructions try et catch ?
Quand et comment exposer les parties privées d'une classe ?
Comment créer des classes plus sûres pour le contrôle des versions ?
Quel est le coût réel de l'utilisation des conteneurs standards ?
Comment l'utilisation de const optimise réellement votre programme ?
Comment le mot-clé inline affecte-t-il réellement la performance ?
Quand le code qui semble faux compile et s'exécute parfaitement et pourquoi s'en soucier ?
Qu'est qui est mauvais dans le design des std::string ?
Exceptional C++ Style vous aidera à créer, mettre en place l'architecture et coder avec style tout en permettant plus de robustesse et de performance dans tous vos logiciels C++.

(Traduction du dessous de couverture)

Édition : Addison-Wesley Professional - 325 pages, 1re édition, 1er août 2004

ISBN10 : 0201760428 - ISBN13 : 978201760422

Commandez sur www.amazon.fr :

35.14 € TTC (prix éditeur 35.14 € TTC) livraison gratuite !
Critique du livre par la rédaction glayag le 10 juin 2008
Troisième opus, et ça se sent. Des piqûres de rappel des 2 précédents livres, mais on sent un essouflement certain. Les questions sont encore plus décousues - sauf la fin sur les std::string - et les réponses sont parfois paradoxales par rapport à ce qui était dit par le passé.
Par exemple, l'histoire des const dans ce livre souligne principalement qu'il ne sert pas au compilateur pour optimiser le code, mais plutôt au programmeur à faire des optimisations lui-même lorsqu'il sait que le code le permet, même s'il indique que les futurs compilateurs pourraient le permettre. D'ailleurs, il parle pas mal du futur, édition des liens globale, compilation à la volée, ... même de tentative infructueuses de recréer des unions dans le C++ mais que la tentative a échouée de peu car les compilateurs ne sont pas assez puissants. On sent peut-être une certaine justification ou correction par rapport aux livres précédents où les gens ont mal compris certaines solutions, ont conclu trop vite par rapport à des avantages, atouts des solutions données, alors qu'il ne voulait clairement pas aller au-delà de ce qu'il disait, les gens ont tenté de lire entre les lignes quelque chose qui n'existait pas. Ce livre permet de recadrer, à mon avis, l'excitation qui a pu surgir des 2 premiers livres.


couverture du livre Métier développeur : kit de survie

Note 4.5 drapeau
Détails du livre
Sommaire
Critiques (1)
0 commentaire
 
 

Métier développeur : kit de survie

de
Public visé : Débutant

Résumé de l'éditeur

Dans les professions informatiques le fossé qui existe entre le monde académique (écoles d'ingénieurs et facs) et le monde professionnel (SSII et éditeurs de logiciels) reste énorme. Ce livre a été conçu pour aider les jeunes qui démarrent dans ces carrières à franchir le plus rapidement et le plus efficacement possible " les frontières du réel ". Issu de l'expérience d'un ingénieur devenu chef de projet ayant eu à recruter et encadrer de jeunes développeurs, il explique en détail comment se pratique en vrai le métier de développeur, avec les outils informatiques utilisés, avec le mode de fonctionnement des entreprises, avec les contraintes de marché, d'équipes, de délais, de concurrence... Vivant, concret et parfois caustique ce livre est un " kit de survie professionnelle " pour démarrer efficacement dans la jungle des SSII et des start-up high tech. --Ce texte fait référence à une édition épuisée ou non disponible de ce titre.

Édition : Dunod - 271 pages, 2e édition, 1er mai 2006

ISBN10 : 2100485202 - ISBN13 : 9782100485208

Commandez sur www.amazon.fr :

18.50 € TTC (prix éditeur 19.90 € TTC) livraison gratuite !
  • Good-enough software
  • Le cycle de vie d'un projet logiciel
  • Les outils du développeur
  • Normes de programmation
  • Méthodes de programmation
  • L'essentiel du système
  • Cartographie d'une équipe de développement
  • Un peu de psychologie
  • Un peu d'organisation
Critique du livre par la rédaction arnolem le 20 janvier 2007
"Métier développeur, Kit de survie", un titre original qui ne manquera pas d'attirer l'attention. Il explique le fonctionnement d'une équipe de développement et les pièges à éviter pour les jeunes développeurs. Chaque phase d'un projet, chaque étape du développement logiciel sont expliqués afin d'en montrer leur intérêt.
Ce livre est une véritable transmission d'expérience de la part de l'auteur. Des conseils judicieux sur l'optimisation du code, la gestion des priorités, des outils utiles sont prodigués tout au long de ce livre.
Je trouve un peu dommage que ce livre soit fortement orienté C\C++. Certains chapitres ne vous serviront à rien si vous n'utilisez pas ces langages. Cette information n'est pas clairement précisez sur la couverture (uniquement sur l'illustration).
Cela dit, rien ne vous empêche d'adapter certain conseils à votre langage de favoris. C'est le cas par exemple des normes d'écriture.
Plus que des conseils, ce livre dresse un état des lieux du métier de développeur. C'est un constat des réalités du métier, aussi bien sur le plan organisationnel, fonctionnel que relationnel.
Je me suis particulièrement amusé avec le chapitre portant sur la psychologie. Serez-vous reconnaître dans votre équipe de développement, le développeur doué mais fumiste, le perfectionniste, le gentil incompétent, ou l'imposteur ?




 Commenter Signaler un problème

Avatar de zoom61 zoom61 - Rédacteur https://www.developpez.com
l 16/06/2014 à 17:09
Métier développeur : kit de survie


Dans les professions informatiques le fossé qui existe entre le monde académique (écoles d'ingénieurs et facs) et le monde professionnel (SSII et éditeurs de logiciels) reste énorme. Ce livre a été conçu pour aider les jeunes qui démarrent dans ces carrières à franchir le plus rapidement et le plus efficacement possible " les frontières du réel ". Issu de l'expérience d'un ingénieur devenu chef de projet ayant eu à recruter et encadrer de jeunes développeurs, il explique en détail comment se pratique en vrai le métier de développeur, avec les outils informatiques utilisés, avec le mode de fonctionnement des entreprises, avec les contraintes de marché, d'équipes, de délais, de concurrence... Vivant, concret et parfois caustique ce livre est un " kit de survie professionnelle " pour démarrer efficacement dans la jungle des SSII et des start-up high tech. --Ce texte fait référence à une édition épuisée ou non disponible de ce titre.

[Lire la suite]



 
couverture du livre C++ développement multiplate-forme

Note 4.5 drapeau
Détails du livre
Sommaire
Critiques (1)
0 commentaire
 
 

C++ développement multiplate-forme

de
Traducteurs : Christine Eberhardt, Chantal Kolb, Dorothée Sittler
Public visé : Expert

Résumé de l'éditeur

Cet ouvrage aborde l'ensemble des problèmes techniques et de gestion liés à la portabilité du logiciel depuis la planification et la conception jusqu'au codage aux tests et au déploiement.
Divers sujets comme l'emploi d'API natives ou les dernières stratégies en matière de développement d'interfaces graphiques portables y sont détaillés ainsi que la façon d'obtenir des fonctions équivalentes tout en évitant les problèmes inhérents aux techniques de développement multiplates-formes traditionnelles.
Ce livre sera une référence essentielle pour tout développeur professionnel et responsable technique chargé de créer un nouveau logiciel multiplate-forme de porter un logiciel C/C++ existant ou de concevoir un logiciel pour lequel un support multiplate-forme risque d'être exigé.
Il aura notamment la possibilité de télécharger modifier et d'étudier un jeu d'outils à interface graphique multiplate-forme complet basé sur le langage XUL de Mozilla.

Édition : Pearson Education - 513 pages, 23 mai 2008

ISBN10 : 2744022624 - ISBN13 : 9782744022623

Commandez sur www.amazon.fr :

41.80 € TTC (prix éditeur 44.00 € TTC) livraison gratuite !
  1. Stratégie et gestion
  2. Système de génération/environnement de développement
  3. Gestionnaire de configuration logicielle
  4. Installation et déploiement
  5. Portabilité
  6. Interfaces utilisateur
  7. Widgets
  8. Développer une boîte à outils GUI multiplate-forme en C++
Critique du livre par la rédaction farscape le 8 août 2008
Le premier qualificatif qui me vient pour ce livre est : très intéressant !, l'auteur un ancien de l'équipe de développement de Netscape et d'Aol nous fait partager son expérience du développement multiplate-forme et nous permet donc de découvrir les choix et les solutions retenues pour le développement du navigateur nestcape/mozilla.
Le livre est découpé en plusieurs chapitres organisés autour d'un thème.
  • Le premier chapitre parle de stratégie et gestion,L'auteur aborde la problématique du développement multiplate-forme avec la notion de fabrique de plateforme ainsi que les règles de base pour ce type de développement.
  • Le deuxième chapitre est consacré au système de génération et à l'environnement de développement.
    C'est-à-dire au choix du compilateur sur les plateforme cibles étudiées à savoir : Windows, Mac OS X, Linux, et à la génération du programme en utilisant les outils CygWin, Make, AutoConf/Automake.
  • Le troisième chapitre étudie les solutions de gestion de configuration logicielle.
    Au programme le système de suivi et de signalement des erreurs avec Tinderbox et Bugzilla, le suivi de code sources avec CVS ou subvertion.
  • Le quatrième chapitre est consacré à l'installation et au déploiement du programme cible avec XPInstall.
  • Le cinquième chapitre expose la problématique des interfaces et des bibliothèques des systèmes d'exploitation.
    L'auteur parle des api basées sur Posix ou encore de la bibliothèque d'abstraction NSPR (Netscape Portable Runtime).
  • Le sixième chapitre traite de la portabilité, l'auteur analyse les pièges du langage C ou C++, il aborde le problème des valeurs à virgule flottante, la taille des types d'entier, les pièges liés à la sérialisation des données, l'alignement des structures, les conversions d'entiers.
  • Le septième chapitre traite de l'interface utilisateur avec le modèle de développement modèle/vue ainsi que la méthode de communication par publication/abonnement.
  • Le huitième chapitre est une initiation au système de développement wxWidgets.
  • Enfin le dernier chapitre expose une boîte à outil GUI multiplate-forme en c++ utilisant le XML pour décrire l'interface utilisateur.il est décomposé en trois parties :
    • Un bref rappel sur DHTML, JavaScript, DOM et les feuilles de styles.
    • Une brève description de XUL qui permet de décrire une interface graphique basée sur le langage XML, un passage sur les interactions avec l'interface par du code JavaScript, un autre pour établir une liaison entre du code JavaScript et le code C/C++ avec XPCOM et XPConnect.
    • L'étude de Trixul la boîte à outils développée pour les besoins du livre, celle-ci utilise les Forms .Net sous Windows, Gtk+ sous Linux et Cocoa sur Mac OS X.

Conclusion :
Au delà du développement multiplate-forme, ce livre fournit une somme d'informations intéressantes dans toutes les phases du développement d'un programme sur les trois OS majeurs du moment.
La présentation du principe de fonctionnement de Trixul avec la séparation de l'interface en XML, l'intégration d'un moteur javascript (spiderMonkey), la prise en charge et l'interaction de classes C++ instanciées à partir du code javascript, sont autant de sujets intéressants pour un développeur C++ à découvrir avec cette boîte à outils simplifiée.




 Commenter Signaler un problème

Avatar de zoom61 zoom61 - Rédacteur https://www.developpez.com
l 16/06/2014 à 17:09
C++ développement multiplate-forme


Cet ouvrage aborde l'ensemble des problèmes techniques et de gestion liés à la portabilité du logiciel depuis la planification et la conception jusqu'au codage aux tests et au déploiement.
Divers sujets comme l'emploi d'API natives ou les dernières stratégies en matière de développement d'interfaces graphiques portables y sont détaillés ainsi que la façon d'obtenir des fonctions équivalentes tout en évitant les problèmes inhérents aux techniques de développement multiplates-formes traditionnelles.
Ce livre sera une référence essentielle pour tout développeur professionnel et responsable technique chargé de créer un nouveau logiciel multiplate-forme de porter un logiciel C/C++ existant ou de concevoir un logiciel pour lequel un support multiplate-forme risque d'être exigé.
Il aura notamment la possibilité de télécharger modifier et d'étudier un jeu d'outils à interface graphique multiplate-forme complet basé sur le langage XUL de Mozilla.

[Lire la suite]



 
couverture du livre C++ Coding Standards

Note 4.5 drapeau
Détails du livre
Sommaire
Critiques (1)
0 commentaire
 
 

C++ Coding Standards

101 Rules, Guidelines, and Best Practices

de
Public visé : Débutant

Résumé de l'éditeur

Des normes de codage cohérentes et de haute qualité améliorent la qualité d'un logiciel, réduisent le temps de mise sur le marché, favorisent le travail en équipe, éliminent le temps gaspillé en questions sans importance et simplifient la maintenance. Maintenant, deux des plus respectés experts en C++ du monde nous font part de leur riche expérience collectée au contact de la communauté C++ mondiale dans un ensemble de normes de codages que chaque développeur et équipe de développement peut comprendre et utiliser comme une base pour leurs propres standards.

Les auteurs couvrent pratiquement chaque facette de la programmation C++ : le design et style de codage, les fonctions, les opérateurs, le design de classe, l'héritage, la construction/destruction, la copie, l'affectation, les namespaces, les modules, les templates, les générics, les exceptions, les conteneurs et les algorithmes STL et plus encore. Chaque norme est décrite de manière concise, avec des exemples pratiques. De la définition de type au traitement d'erreurs, ce livre présente les meilleurs pratiques du C++, y compris certaines qui ont été seulement récemment identifiées et standardisées - des techniques que vous pouvez ne pas connaître même si vous avez utilisé C++ pendant des années. En chemin, vous trouverez des réponses aux questions comme
  • Ce qui vaut la peine d'être normalisé - et qu'est-ce qui ne le vaut pas ?
  • Quelles sont les meilleures pratiques de code pour l'adaptabilité ?
  • Quels sont les éléments d'un traitement d'erreurs raisonnable ?
  • Comment (et pourquoi) éviter l'initialisation inutile, les dépendances cycliques et définitionnelles ?
  • Comment (et pourquoi) utiliser le polymorphisme statique et dynamique ensemble ?
  • Comment pratiquer une surcharge "safe" ?
  • Quand fournir un swap sans faille ?
  • Pourquoi et comment éviter que les exceptions se propagent à travers les frontières d'un module ?
  • Pourquoi ne pas écrire des déclarations d'espace de noms ou des directives dans un fichier d'entête ?
  • Pourquoi utiliser les vecteurs de la STL et les chaînes de caractères plutôt que les tableaux ?
  • Comment choisir le bon algorithme de recherche ou tri dans la STL ?
  • Quelles sont les règles qu'il faut suivre pour assurer un code type-safe ?
  • Que vous travailliez seul ou avec d'autres, C++ Coding Standards vous aidera à rédiger un code plus propre et à l'écrire plus vite, avec moins de soucis et moins de frustration.

Édition : Addison-Wesley Professional - 240 pages, 1re édition, 1er novembre 2004

ISBN10 : 0321113586 - ISBN13 : 9780321113580

Commandez sur www.amazon.fr :

22.26 € TTC (prix éditeur 32.63 € TTC) livraison gratuite !
  1. Table of Contents
  2. Preface
  3. Organizational and Policy Issues
  4. Design Style
  5. Coding Style
  6. Functions and Operators
  7. Class Design and Inheritance
  8. Construction, Destruction, and Copying
  9. Namespaces and Modules
  10. Templates and Genericity
  11. Error Handling and Exceptions
  12. STL: Containers
  13. STL: Algorithms
  14. Type Safety
  15. Bibliography
  16. Summary of Summaries
  17. Index
Critique du livre par la rédaction Jonathan Courtois le 1er avril 2010
Livre écrit par deux grands noms du C++ (Herb Sutter et Andrei Alexandrescu) ayant beaucoup contribué à la communauté C++, on peut s'attendre à un livre d'une très bonne qualité et je dois dire que l'on n'est pas déçu. Il est l'un des seuls livres, à ma connaissance, qui fournit une liste exhaustive de bonnes pratiques de codage pour le C++ à travers 101 items organisés par catégorie. Il ne s'agit pas ici de style de codage (coding style) comme on pourrait le penser à la vue du titre, mais bien d'une description en profondeur de pratiques à utiliser (ou à ne pas utiliser) et surtout pourquoi.
Ce livre n'est pas strict en soi dès l'item 0 (petite référence geek au tableau commençant à l'indice 0 et non 1) en précisant que peu importe le formatage de code que vous utilisez, le tout est de rester consistant à travers vos fichiers et même à travers vos projets entiers. La présence d'une rubrique exception dans de nombreux items est également fortement appréciée pour contrebalancer les extrêmes.
Il est le livre parfait pour mettre en place de bonnes pratiques au sein d'une nouvelle équipe et sera très apprécié par les chefs de projets pour éviter tout conflit entre programmeur venant d'horizons différents avec des pratiques opposées. Il est selon moi d'un niveau débutant/avancé.
Débutant : un livre permettant de partir directement sur de bonnes bases en matière de code et expliquant clairement l'avantage et l'inconvénient de chaque méthode.
Intermédiaire : les programmeurs ayant une première expérience apprendront des choses en profondeur concernant les bonnes pratiques même si certains items leur sembleront évidents.
Expert : un expert en C++ s'ennuiera très certainement à la lecture de ce livre rappelant des règles qu'il aura (je l'éspere) l'habitude d'utiliser naturellement.
On peut reprocher à ce livre le manque d'exemples complets, seules des parties de code sont présentes.




 Commenter Signaler un problème

Avatar de zoom61 zoom61 - Rédacteur https://www.developpez.com
l 16/06/2014 à 17:09
C++ Coding Standards
101 Rules, Guidelines, and Best Practices


Des normes de codage cohérentes et de haute qualité améliorent la qualité d'un logiciel, réduisent le temps de mise sur le marché, favorisent le travail en équipe, éliminent le temps gaspillé en questions sans importance et simplifient la maintenance. Maintenant, deux des plus respectés experts en C++ du monde nous font part de leur riche expérience collectée au contact de la communauté C++ mondiale dans un ensemble de normes de codages que chaque développeur et équipe de développement peut comprendre et utiliser comme une base pour leurs propres standards.

Les auteurs couvrent pratiquement chaque facette de la programmation C++ : le design et style de codage, les fonctions, les opérateurs, le design de classe, l'héritage, la construction/destruction, la copie, l'affectation, les namespaces, les modules, les templates, les générics, les exceptions, les conteneurs et les algorithmes STL et plus encore. Chaque norme est décrite de manière concise, avec des exemples pratiques. De la définition de type au traitement d'erreurs, ce livre présente les meilleurs pratiques du C++, y compris certaines qui ont été seulement récemment identifiées et standardisées - des techniques que vous pouvez ne pas connaître même si vous avez utilisé C++ pendant des années. En chemin, vous trouverez des réponses aux questions comme
  • Ce qui vaut la peine d'être normalisé - et qu'est-ce qui ne le vaut pas ?
  • Quelles sont les meilleures pratiques de code pour l'adaptabilité ?
  • Quels sont les éléments d'un traitement d'erreurs raisonnable ?
  • Comment (et pourquoi) éviter l'initialisation inutile, les dépendances cycliques et définitionnelles ?
  • Comment (et pourquoi) utiliser le polymorphisme statique et dynamique ensemble ?
  • Comment pratiquer une surcharge "safe" ?
  • Quand fournir un swap sans faille ?
  • Pourquoi et comment éviter que les exceptions se propagent à travers les frontières d'un module ?
  • Pourquoi ne pas écrire des déclarations d'espace de noms ou des directives dans un fichier d'entête ?
  • Pourquoi utiliser les vecteurs de la STL et les chaînes de caractères plutôt que les tableaux ?
  • Comment choisir le bon algorithme de recherche ou tri dans la STL ?
  • Quelles sont les règles qu'il faut suivre pour assurer un code type-safe ?
  • Que vous travailliez seul ou avec d'autres, C++ Coding Standards vous aidera à rédiger un code plus propre et à l'écrire plus vite, avec moins de soucis et moins de frustration.


[Lire la suite]



 
couverture du livre C++ par la pratique

Note 3.5 drapeau
Détails du livre
Critiques (1)
0 commentaire
 
 

C++ par la pratique

Recueil d'exercices corrigés et aide-mémoire

de
Public visé : Débutant

Résumé de l'éditeur

Cet ouvrage a pour objectif d'offrir la pratique nécessaire à tout apprentissage de la programmation : un cadre permettant au débutant de développer ses connaissances sur des cas concrets. Il se veut un complément pédagogique à un support de cours.
Après près d'une centaine d'exercices gradués de programmation en C++11, accompagnés d'une solution complète et souvent détaillée, l'ouvrage est structuré en deux parties : la première présente la programmation procédurale, tandis que la seconde aborde le paradime de la programmation orientée objet. Chacune de ces parties se termine par un chapitre regroupant des exercices généraux. Chaque chapitre contient un exercice « pas à pas » et une série d'exercices classés par niveaux de difficulté. L'esemble des codes sources des corrigés est disponible sur le site www.ppur.org.
Cet ouvrage est principalement destiné aux étudiants du premier cycle universitaire ainsi qu'à tous ceux souhaitant parfaire leurs connaissances en C++.

Édition : Presses polytechniques et universitaires romande - 400 pages, 3e édition, 1er septembre 2012

ISBN10 : 2880749786 - ISBN13 : 9782880749781

Commandez sur www.amazon.fr :

36.90 € TTC (prix éditeur 36.90 € TTC)
Critique du livre par la rédaction Alexandre Laurent le 1er décembre 2012
Ce livre est clairement à utiliser avec un cours et permet de réviser ce dernier avec à l'aide de courts rappels et des exercices corrigés. Le livre est orienté pour les débutants et ne se concentre que sur les bases du C++. Les personnes voulant apprendre sur la STL ou sur les templates ne sont pas visées. Quelques choix dans les solutions proposées sont assez étranges et on remarquera des approximations dans le code. Mais cela ne gênera en aucun cas les débutants.
Malgré que cette édition soit estampillée 3e édition, mise à jour et adaptée pour le C++11, l'utilisation de ce dernier n'en est que très pauvre et est négligeable. Bref, c'est un livre pour un étudiant en informatique qui voudrait avoir des exercices intéressants et variés afin de s'entraîner à programmer en C++.




 Commenter Signaler un problème

Avatar de zoom61 zoom61 - Rédacteur https://www.developpez.com
l 16/06/2014 à 17:09
C++ par la pratique
Recueil d'exercices corrigés et aide-mémoire


Cet ouvrage a pour objectif d'offrir la pratique nécessaire à tout apprentissage de la programmation : un cadre permettant au débutant de développer ses connaissances sur des cas concrets. Il se veut un complément pédagogique à un support de cours.
Après près d'une centaine d'exercices gradués de programmation en C++11, accompagnés d'une solution complète et souvent détaillée, l'ouvrage est structuré en deux parties : la première présente la programmation procédurale, tandis que la seconde aborde le paradime de la programmation orientée objet. Chacune de ces parties se termine par un chapitre regroupant des exercices généraux. Chaque chapitre contient un exercice « pas à pas » et une série d'exercices classés par niveaux de difficulté. L'esemble des codes sources des corrigés est disponible sur le site www.ppur.org.
Cet ouvrage est principalement destiné aux étudiants du premier cycle universitaire ainsi qu'à tous ceux souhaitant parfaire leurs connaissances en C++.

[Lire la suite]



 
couverture du livre Programmer en langage C++

Note 4.5 drapeau
Détails du livre
Sommaire
Critiques (1)
1 commentaire
 
 

Programmer en langage C++

Avec une intro aux design patterns et une annexe sur la norme C++11

de
Public visé : Débutant

Résumé de l'éditeur

Acquérir une parfaite maîtrise du C++ et de la programmation objet Programmer en langage C++ s'est imposé au fil de ses sept éditions successives comme la référence en langue française sur le C++. Il s'adresse aussi bien aux étudiants en programmation qu'aux développeurs professionnels souhaitant se former à ce langage ou en approfondir la maîtrise. Après une présentation détaillée de la syntaxe de base du langage (types de données, opérateurs, instructions de contrôle, fonctions, tableaux, pointeurs...), l'auteur insiste tout particulièrement sur la bonne compréhension des concepts objet et sur l'acquisition de méthodes de programmation rigoureuses. L'ouvrage couvre tous les aspects du langage et de sa bibliothèque standard (STL ou Standard Template Library), et traite en profondeur des points les plus délicats auxquels est confronté un programmeur C++ lors de la création de ses propres classes et de la conception d'applications professionnelles. Cette 8e édition inclut un nouveau chapitre d'introduction aux design patterns en C++, ainsi qu'une annexe sur les extensions apportées par la nouvelle version de la norme ISO, connue sous le nom C++Ox, dont la publication finale est imminente. Chaque notion nouvelle et chaque fonction du langage est illustrée de programmes complets dont le code source est fourni sur le site www.editions-eyrolles.com. Tout au long de l'ouvrage, des notes soulignent les différences majeures entre le C++ et Java, de manière à établir des passerelles entre les deux langages.

Édition : Eyrolles - 822 pages, 5 mai 2014

ISBN10 : 2212140088 - ISBN13 : 9782212140088

Commandez sur www.amazon.fr :

36.00 € TTC (prix éditeur 36.00 € TTC) livraison gratuite !
  • Présentation du langage C ++
  • Généralités sur le langage C++
  • Les types de base du C++
  • Opérateurs et expressions
  • Les entrées-sorties conversationnelles du C++
  • Les instructions de contrôle
  • Les fonctions
  • Les tableaux et les pointeurs
  • Les chaînes de style C
  • Les types structure, union et énumération
  • Classes et objets
  • Les propriétés des fonctions membres
  • Construction, destruction et initialisation des objets
  • Les fonctions amies
  • La surdéfinition d'opérateurs
  • Les conversions de type définies par l'utilisateur
  • Les patrons de fonctions
  • Les patrons de classes
  • L'héritage simple
  • L'héritage multiple
  • Les fonctions virtuelles et le polymorphisme
  • Les flots
  • La gestion des exceptions
  • Généralités sur la bibliothèque standard (STL)
  • Les conteneurs séquentiels
  • Les conteneurs associatifs
  • Les algorithmes standards
  • La classe string
  • Les outils numériques
  • Les espaces de noms
  • Le préprocesseur et l'instruction typedef
  • Introduction au Design Patterns

Annexes
  1. Règles de recherche d'une fonction surdéfinie
  2. Compléments sur les exceptions
  3. Les différents types de fonctions en C++
  4. Comptage de références
  5. Les pointeurs sur des membres
  6. Les algorithmes standard
  7. Les principales fonctions de la bibliothèque C standard
  8. Les incompatibilités entre C et C++
  9. C++Ox
Critique du livre par DVP le 24 mai 2013
Très bon livre sur la langage C++. Vous trouverez toutes les bases du C++. Ce langage étant le premier que j'ai appris j'ai voulu trouver un livre regroupant tous ces concepts : Les types , les opérateurs et expressions, les classes, les pointeurs etc... Le C++ est un langage très rigoureux qu'il faut maîtriser et cet ouvrage explique tous ces concepts. Basé sur la Programmation Orienté Objet (POO) il a de l'avenir. Seul bémol, aucun diagramme UML n'est présent pour expliquer la POO et je trouve ça toujours bien de pouvoir se représenter graphiquement la base du programme. Des comparaisons sont faites aussi avec le Java ce qui est appréciable pour connaître un peu ce langage. Ce livre est fait pour les débutant et pour connaître les bases, les programmeurs avancés en C++ connaissent bien évidemment tout cela. Je tiens aussi à souligner que ce livre est très bien rédigé et agréable à lire.
Texte de votre critique
Date de la critique JJ/MM/AAAA
Qui a réalisé cette critique ?

Son pseudo :

Son nom :
Note




 Commenter Signaler un problème

Avatar de zoom61 zoom61 - Rédacteur https://www.developpez.com
l 16/06/2014 à 17:09
Programmer en langage C++


Acquérir une parfaite maîtrise du C++ et de la programmation objet Programmer en langage C++ s'est imposé au fil de ses sept éditions successives comme la référence en langue française sur le C++. Il s'adresse aussi bien aux étudiants en programmation qu'aux développeurs professionnels souhaitant se former à ce langage ou en approfondir la maîtrise. Après une présentation détaillée de la syntaxe de base du langage (types de données, opérateurs, instructions de contrôle, fonctions, tableaux, pointeurs...), l'auteur insiste tout particulièrement sur la bonne compréhension des concepts objet et sur l'acquisition de méthodes de programmation rigoureuses. L'ouvrage couvre tous les aspects du langage et de sa bibliothèque standard (STL ou Standard Template Library), et traite en profondeur des points les plus délicats auxquels est confronté un programmeur C++ lors de la création de ses propres classes et de la conception d'applications professionnelles. Cette 8e édition inclut un nouveau chapitre d'introduction aux design patterns en C++, ainsi qu'une annexe sur les extensions apportées par la nouvelle version de la norme ISO, connue sous le nom C++Ox, dont la publication finale est imminente. Chaque notion nouvelle et chaque fonction du langage est illustrée de programmes complets dont le code source est fourni sur le site www.editions-eyrolles.com. Tout au long de l'ouvrage, des notes soulignent les différences majeures entre le C++ et Java, de manière à établir des passerelles entre les deux langages.

[Lire la suite]


Avatar de Luc Hermitte Luc Hermitte - Expert éminent sénior https://www.developpez.com
l 17/06/2014 à 9:57
Je soupçonne que la critique a encore été faite par quelqu'un qui ne fréquente pas le forum...

La première chose à regarder dans ce livre : l'auteur est-il enfin passé au C++ moderne, ou est-il resté dans un enseignement historique du C++ ?