OVH Cloud OVH Cloud

Quels bouquins achetter ?

89 réponses
Avatar
Marc Boyer
Bon, je me décide enfin à compléter ma collection de bouquins
C++, histoire de pas poster ici à chaque fois que je redécouvre
la roue et que je me demande s'il vaut mieux lui mettre 8 ou 9
côtés.

Que me conseilleriez vous (vous qui voyez passer mes questions)?
J'ai déjà:
- TC++PL 3ed
- Moderne C++ Design
- The Design and Evolution of C++

Je pensais à:
- Exceptional C++
- Effective C++
- More Exceptional C++ : parce qu'il dit insister sur les traits
et l'usage de la STL

J'hésite sur:
- Essential C++ : je pense que c'est pour des plus débutants
- More Effective C++ : avec les 3 ci dessus, ça devrait
déjà être pas mal
- The Boost Graph Library : je dois faire quelques manips de
base sur les graphes, et je me demande si j'aurais
plus vite fait de tout recoder ou de me plonger dans Boost


Des commentaires ?

Marc Boyer
--
Lying for having sex or lying for making war? Trust US presidents :-(

10 réponses

1 2 3 4 5
Avatar
kanze
"Philippe Guglielmetti" wrote in message
news:<3f952228$0$3657$...
- Modern C++ Design


comme la Coran, il faut le lire 3x pour ouvrir les portes du Paradis,
et le savoir par coeur pour y entrer...


Ça dépend de tes buts. Un de mes buts, c'est que mes programmes marchent
aussi avec des compilateurs assez anciens (Sun CC 4.2, par exemple).
Pour ce but-là, je ne peux vraiment pas conseiller « Modern C++
Design ».

Je pensais à:
- Exceptional C++
- More Exceptional C++ : parce qu'il dit insister sur les traits et
l'usage de la STL


à mon humble avis moins bon, et surtout moins drôle que la trilogie de
Meyers, qui se lit comme un roman en se fendant la malle, ce qui n'est
pas courant:


C'est marrant -- je préfère les Meyers pour d'autres raisons, mais je
trouve que les Sutter se lisent exceptionnellement bien.

- Effective C++
- More Effective C++
et Effective STL.

98% des bugs que je corrige (et 2% de ceux que je fais ;-) viennent du
non-respect des ~150 "Items" qui sont en fait des "règles de bonne
pratique" de ces 3 bouquins.


Tout à fait.

Mais comme j'ai dit, j'ai d'assez anciens compilateurs, donc pas de
templates poussés. Et aussi, on ne fait pas beaucoup d'utilisation des
exceptions -- les défauts de la « exception safety » sont des erreurs
parfois difficiles à discerner, et sont un des points forts des Sutter
(et complètement ignoré par Meyers, à cause de la date quand ils ont été
écris).

--
James Kanze GABI Software mailto:
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16


Avatar
Loïc Joly
Marc Boyer wrote:


J'ai vu que Meyers a ecrit un "Effective STL", donc pas forcément
besoin du "More Exceptionnal", mais est-ce que Meyers parle
des traits ?


Il ne parle pas des techniques de programmation générique. Si c'est ce
que tu veux, peut-être C++ template, the complete guide est plus pour toi.
Il traite plutôt de sujets comme : Quel contenaur choisir pour quelle
tâche, comment utiliser correctement des reverse iterator,...
Je ne sais pas pourquoi, je n'arrive pas à trouver ce troisième livre
aussi bien que les deux premiers.

--
Loïc

Avatar
Loïc Joly
Marc Boyer wrote:

Il me faut un bouquin sur la STL. J'en ai déjà lu un mauvais
("La bibliothèque standard STL du C++", Alain-Bernard Fontaine),
donc j'hésite entre
- Generic programming and the STL, de Matthew H. Austern
- Effective STL, de Meyers


Dans le style référence, j'ai bien aimé The C++ standard library de
Jossutis.


J'aimerais bien pouvoir les feuilleter avant d'achetter,
mais j'ai peur que la ou j'habite (Toulouse), il y ait pas
de librairie qui ait les deux en rayon, et même la BU
n'en a qu'un des deux.


Le net permet de les feuilleter :

http://www.awprofessional.com/catalog/product.asp?product_id={AA4735AF-4407-4011-B7D3-0C924DFA675D}&session_id={D8E3A092-A804-42E5-BF7E-6DA9EE35C030}
http://www.awprofessional.com/catalog/product.asp?session_id={D8E3A092-A804-42E5-BF7E-6DA9EE35C030}&product_id={94C46B18-97C4-4143-BA92-E4156187A6D8}
http://www.awprofessional.com/catalog/product.asp?session_id={D8E3A092-A804-42E5-BF7E-6DA9EE35C030}&product_id={2CF23816-FD77-4632-B7A8-387C7BF9DE8D}

--
Loïc

Avatar
Marc Boyer
wrote:
Gabriel Dos Reis wrote in message
news:...
Marc Boyer writes:
| - TC++PL 3ed
| - Moderne C++ Design
| - The Design and Evolution of C++

Je pense que le premier, le troisième et « Ruminations on C++ », sont
incontournables (mais c'est mon avis et je le partage ).


Je crois que pour le premier, il n'y a rien à dire. Je suis aussi plutôt
d'accord pour « Ruminations on C++ ».


Si toi aussi tu évoques "Ruminations", je vais y penser sérieusement.

Je ne vois vraiment l'intérêt du
troisième que si on s'intéresse à l'histoire de C++, et même là, ce
n'est qu'une source parmi d'autre (mais c'est une source assez précise,
et la plus facilement disponible).


Plus que l'histoire, j'aime bien l'explication des justifications
des choix de C++. Le pourquoi plus que le comment et quand.

| Je pensais à:
| - Exceptional C++
| - Effective C++
| - More Exceptional C++ : parce qu'il dit insister sur les traits
| et l'usage de la STL

Le premier et le troisième sont assez modernes et couvrent pas mal
d'aspects de C++ contemporain ; le second gagnerait en lifting et en
moins de dogmatisme. C'est mon avis et je le partage.


Je crois que Sutter et Meyers s'adressent un peu à des audiences
différentes. Meyers, c'est bien la Bible -- et que serait une Bible
sinon que dogmatique ? C'est aussi assez vieux, mais ce qu'il y a dedans
vaut encore. Par rapport au C++ moderne, il y a des lacunes, mais il
faut toujours savoir ce qu'il présente aussi. Sutter, c'est plus
difficile pour moi : certaines des questions me paraissent plutôt des
jeux que d'un intérêt réel. D'autres, en revanche, touche aux
fondamentaux essentiels, surtout en ce qui concerne les exceptions.


Je pars donc sur le couple de base:
- Effective C++
- Exceptional C++

Mais après, j'aurais besoin de quelque chose sur la STL
et quelque chose sur les trais.
"More Exceptionnal" dit couvrir les deux, "Effective STL"
semble bien pour la STL.

Le « More Effective C++ » est moins essentiel que le premier -- je crois
même que je mettrais « Effective STL » avant. Mais ce n'est pas sans
intérêt non plus, même si certains chapîtres sont plutôt datés.


OK, cf ci dessus.

Tout dépend de ce qu'on veut faire, mais je trouve que pour les
templates moderne, le Vandevoorde et Jusittus est essentiel.
(Personnellement, il m'a fait un peu peur.)


S'il t'a fait peur à toi, je vais garder la ref sous le
coude et je m'y attaquerais dans le futur.

Personnellement, aussi, j'ajouterais quelque chose sur la bibliothèque.
Disons « Generic Programming and the STL », de Matt Austern.


Ca pourrait remplacer le "Effective STL" ?

Et n'oublie pas qu'il n'y a pas que du C++. Quelque chose sur des
modèles de conception, par exemple, serait utile, si tu ne l'as pas
encore.


J'emprumpte régulièrement le "Design Pattern" à la bibliothèque.

Marc Boyer
--
Lying for having sex or lying for making war? Trust US presidents :-(


Avatar
Gabriel Dos Reis
Marc Boyer writes:

| Il me faut un bouquin sur la STL. J'en ai déjà lu un mauvais

En plus de TC++PL3 et du Koenig?.
Hmm, tu peux essayer le Josuttis ou l'Austern.

-- Gaby
Avatar
Gabriel Dos Reis
writes:

| Gabriel Dos Reis wrote in message
| news:...
| > Marc Boyer writes:
|
| > | Bon, je me décide enfin à compléter ma collection de bouquins C++,
| > | histoire de pas poster ici à chaque fois que je redécouvre la roue
| > | et que je me demande s'il vaut mieux lui mettre 8 ou 9 côtés. Que me
| > | conseilleriez vous (vous qui voyez passer mes questions)? J'ai déjà:
|
| > | - TC++PL 3ed
| > | - Moderne C++ Design
| > | - The Design and Evolution of C++
|
| > Je pense que le premier, le troisième et « Ruminations on C++ », sont
| > incontournables (mais c'est mon avis et je le partage ).
|
| Je crois que pour le premier, il n'y a rien à dire. Je suis aussi plutôt
| d'accord pour « Ruminations on C++ ». Je ne vois vraiment l'intérêt du
| troisième que si on s'intéresse à l'histoire de C++,

Ce qui est plutôt une indication de ce que tu as pu en comprendre <g>.

Le troisième contient plus que de l'histoire. Nombre de choses
développées dans Boost ou ailleurs sont basées directement sur
des techniques décrites dans ce bouquin.

| et même là, ce
| n'est qu'une source parmi d'autre (mais c'est une source assez précise,
| et la plus facilement disponible).

En tout état de cause, elle est plus fiable en nombre d'égards que les
« souvenirs » dont tu as fait part sur ce groupe.

| > | Je pensais à:
| > | - Exceptional C++
| > | - Effective C++
| > | - More Exceptional C++ : parce qu'il dit insister sur les traits
| > | et l'usage de la STL
|
| > Le premier et le troisième sont assez modernes et couvrent pas mal
| > d'aspects de C++ contemporain ; le second gagnerait en lifting et en
| > moins de dogmatisme. C'est mon avis et je le partage.
|
| Je crois que Sutter et Meyers s'adressent un peu à des audiences
| différentes. Meyers, c'est bien la Bible -- et que serait une Bible

et c'est une vérité révelée, je présume.

| sinon que dogmatique ? C'est aussi assez vieux, mais ce qu'il y a dedans
| vaut encore. Par rapport au C++ moderne, il y a des lacunes, mais il
| faut toujours savoir ce qu'il présente aussi. Sutter, c'est plus
| difficile pour moi : certaines des questions me paraissent plutôt des
| jeux que d'un intérêt réel.

Peux-tu citer ce que tu penses être des jeux ?

comme on dit « le sage montre la lune et l'idiot regarde le bout de
son doigt. » J'ai lu plus d'énormités (pour ne pas dire stupidités)
dans les Meyers que je n'ai vu dans les exceptionals.

| > | J'hésite sur:
| > | - Essential C++ : je pense que c'est pour des plus débutants
|
| > Yep. J'aurais tendance à l'appeler « C++ Primer, 3rd edition » :-)
|
| > | - More Effective C++ : avec les 3 ci dessus, ça devrait
| > | déjà être pas mal
|
| Le « More Effective C++ » est moins essentiel que le premier -- je crois
| même que je mettrais « Effective STL » avant. Mais ce n'est pas sans
| intérêt non plus, même si certains chapîtres sont plutôt datés.
|
| Le premier traite surtout les pièges, et les pièges sont restés les
| pièges, même s'il y en a de nouveau dont il ne parle pas. Le deuxième
| traite plutôt des solutions à certains problèmes fréquents. Et la

lorsqu'on peut les appeler des solutions.

| meilleur solution aujourd'hui n'est pas forcément celle d'il y a dix
| ans. Au moins que, comme moi, tu es obligé à te servir d'un compilateur
| d'il y a dix ans.

[...]

| Et n'oublie pas qu'il n'y a pas que du C++.

As-tu une indication que je pense qu'il n'y a que C++ ?
Le monsieur posait la question sur les bouquins sur C++

-- Gaby
Avatar
Gabriel Dos Reis
Marc Boyer writes:

| Mais après, j'aurais besoin de quelque chose sur la STL
| et quelque chose sur les trais.

Mais je ne comprends pas. avec ce que tu déjà comme bouquin, tu
devrais avoir l'essentiel. Les traits en isolation ne sont pas
intéressants. Tu peux regarder le Barton&Nackman pour exemples
d'utilisation.

[...]

| > Tout dépend de ce qu'on veut faire, mais je trouve que pour les
| > templates moderne, le Vandevoorde et Jusittus est essentiel.
| > (Personnellement, il m'a fait un peu peur.)
|
| S'il t'a fait peur à toi, je vais garder la ref sous le
| coude et je m'y attaquerais dans le futur.

Ahem.

Si j'étais toi -- mais je ne suis pas toi -- je le remettrais *pas*
poru le futur. James, peut-il élaborer sur ce qui lui fait peur ?

Si, je devais extrapoler sur ses opinions régulièrement exprimées sur
les templates, je dirais c'est plutôt une bonne raison pour le regader
*maintenant*.

-- Gaby
Avatar
Gabriel Dos Reis
Marc Boyer writes:

| Gabriel Dos Reis wrote:
| > Marc Boyer writes:
| >| Que me conseilleriez vous (vous qui voyez passer mes questions)?
| >| J'ai déjà:
| >| - TC++PL 3ed
| >| - Moderne C++ Design
| >| - The Design and Evolution of C++
| >
| > Je pense que le premier, le troisième et « Ruminations on C++ », sont
| > incontournables (mais c'est mon avis et je le partage ).
|
| "Ruminations on C++", je suppose que c'est plus au niveau
| très général que pratique, non ?

Général en quel sens ? Les manipulateurs, les object fonctionnels,
et autres techniques déployées dans la bibliothèque standard sont en
parties des inspirations de Koenig et y sont bien
expliquées. Ruminations explique en détail les idées fondamentales de
la STL et la programmation générique, avec la pédagogie qu'on connaît
de Koenig.

| >| Je pensais à:
| >| - Exceptional C++
| >| - Effective C++
| >| - More Exceptional C++ : parce qu'il dit insister sur les traits
| >| et l'usage de la STL
| >
| > Le premier et le troisième sont assez modernes et couvrent pas mal
| > d'aspects de C++ contemporain ; le second gagnerait en lifting et en moins
| > de dogmatisme. C'est mon avis et je le partage.
|
| Mais j'ai peur que ton avis soit influencé par ta compétence.

c'est incroyable que mon avis soit influencé par ma compétance et que
ce ne soit pas le cas des autres.
Tu ferais un très mauvais brosseur de manche ;-)
En fait, je pense que les autres donneront des avis influencés par
leurs expérience personnels. C'est poru ça que c'est un avis.
Bon, maintenant, je peux comprendre que tu veux dire que je suis trop
nul ;-p
si tu veux savoir, je conseille pas à des gens de commencer les maths
par le Bourbaki.

mais, comme je l'ai dit, c'est mon avis et je le partage.

| Je me demande si, pour moi, vaudrait pas mieux commencer par
| un ou deux "Effective".

Je ne sais pas. Je conseillerais de commencer par Ruminations, puis
lire Exceptional, mais c'est mon avis et toussa.

-- Gaby
Avatar
Marc Boyer
Gabriel Dos Reis wrote:
Marc Boyer writes:

| Il me faut un bouquin sur la STL. J'en ai déjà lu un mauvais

En plus de TC++PL3 et du Koenig?.


J'ai rien lu de Koenig pour le moment. Tu parles du "Ruminations" ?

Marc Boyer
--
Lying for having sex or lying for making war? Trust US presidents :-(

Avatar
Gabriel Dos Reis
Marc Boyer writes:

| Gabriel Dos Reis wrote:
| > Marc Boyer writes:
| >
| >| Il me faut un bouquin sur la STL. J'en ai déjà lu un mauvais
| >
| > En plus de TC++PL3 et du Koenig?.
|
| J'ai rien lu de Koenig pour le moment. Tu parles du "Ruminations" ?

ou « accelareted c++ ».

-- gaby
1 2 3 4 5