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
Marc Boyer
Gabriel Dos Reis wrote:
Marc Boyer writes:
| "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.


Bon, je vais le mettre dans la short list alors.

| > 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.


Comme c'est un bouquin peu cité par d'autres, j'avais peur
qu'il soit surtout pertinent pour les gens ayant déjà une
maîtrise certaine du langage et de ces paradigmes.
Maintenant que tu m'en as fait un résumé, j'ai plus envie
et moins peur.


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


OK, merci.

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

Avatar
Gabriel Dos Reis
Marc Boyer writes:

[...]

| Comme c'est un bouquin peu cité par d'autres, j'avais peur
| qu'il soit surtout pertinent pour les gens ayant déjà une
| maîtrise certaine du langage et de ces paradigmes.

je ne sais pas si ce n'est pas dû aussi au côté moins « réclame » de
Herb (il fait de la pub, mais il accorde beaucoup de place au contenu
technique plus que nombre de ses « concurrents »)

Et non, je n'ai pas des actions dans les bouquins de Herb.

-- Gaby
Avatar
kanze
Marc Boyer wrote in message
news:<bn5eb1$id0$...

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.


Dans ce cas-là, c'est un bon choix. Encore que je trouve qu'il y a aussi
pas mal sur les motivations et la rationale dans « Ruminations ».

[...]
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.


Dans le même sens que « Effective C++ » couvre le langage C++. Ce ne
sont ni des manuels de référence, ni des tutorials, mais des
explications détaillées sur des points où Scott croit que tu cours une
risque de te planter.

[...]
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.


Ce n'est pas dans ce sens-là que je voulais dire. Le livre même est
extrèmement lucid et très lisible. C'est qu'après l'avoir lu, et donc
(je crois) avoir compris un peu les templates, les templates me font
peur. Pas forcement à titre personnel, mais leur utilisation dans un
grand projet, oui.

À titre d'exemple, à un moment donné, il y a une liste des choses qu'il
faut absolument savoir pour écrire même les templates très simples.
Liste d'une ou deux pages, pleine des subtilités bien expliquées, mais
le genre de chose assez complex que même un programmeur chevronné risque
d'oublier de temps en temps.

Si tu veux écrire tes propres templates, et non seulement les utiliser,
je crois que le livre est un must.

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" ?


Est-ce que le Stroustrup pourrait remplacer « Effective C++ » ? Ce sont
deux livres très différents.

--
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
kanze
Gabriel Dos Reis wrote in message
news:...
Marc Boyer writes:

[...]

| > 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 ?


En effet. Ce n'est pas le livre qui m'a fait peur, mais la complexité
des templates ; complexité dont je ne me suis réelement rendu compte
qu'en lisant le livre.

Et il faut bien rélativiser les choses. Je travaille dans un certain
context, avec des équipes plus ou moins grandes, où tous les gens n'ont
pas toujours le niveau d'un Herb Sutter ou d'un Scott Meyers. Alors, la
complexité m'effraie.

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*.


Au moins qu'on a décidé à remettre les templates même pour le futur:-),
je suis tout à fait d'accord avec toi.

--
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
Marc Boyer
wrote:
Marc Boyer wrote in message
news:<bn5eb1$id0$...
wrote:
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.


Dans ce cas-là, c'est un bon choix. Encore que je trouve qu'il y a aussi
pas mal sur les motivations et la rationale dans « Ruminations ».


Je viens de commander "Ruminations".

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.


Dans le même sens que « Effective C++ » couvre le langage C++. Ce ne
sont ni des manuels de référence, ni des tutorials, mais des
explications détaillées sur des points où Scott croit que tu cours une
risque de te planter.


OK.

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.


Ce n'est pas dans ce sens-là que je voulais dire. Le livre même est
extrèmement lucid et très lisible. C'est qu'après l'avoir lu, et donc
(je crois) avoir compris un peu les templates, les templates me font
peur. Pas forcement à titre personnel, mais leur utilisation dans un
grand projet, oui.

À titre d'exemple, à un moment donné, il y a une liste des choses qu'il
faut absolument savoir pour écrire même les templates très simples.
Liste d'une ou deux pages, pleine des subtilités bien expliquées, mais
le genre de chose assez complex que même un programmeur chevronné risque
d'oublier de temps en temps.

Si tu veux écrire tes propres templates, et non seulement les utiliser,
je crois que le livre est un must.


Ben, disons qu'actuellement, j'ai le choix entre reprendre
15.000 lignes de code avec des templates ou tout refaire à 0
(et là, je peux choisir de m'en passer).
Pour le moment, je joue la carte du "on prend la suite".

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" ?


Est-ce que le Stroustrup pourrait remplacer « Effective C++ » ? Ce sont
deux livres très différents.


OK, je vois les nuances.

Merci de ses indications,

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



Avatar
Gabriel Dos Reis
Marc Boyer writes:

[...]

| > À titre d'exemple, à un moment donné, il y a une liste des choses qu'il
| > faut absolument savoir pour écrire même les templates très simples.
| > Liste d'une ou deux pages, pleine des subtilités bien expliquées, mais
| > le genre de chose assez complex que même un programmeur chevronné risque
| > d'oublier de temps en temps.
| >
| > Si tu veux écrire tes propres templates, et non seulement les utiliser,
| > je crois que le livre est un must.
|
| Ben, disons qu'actuellement, j'ai le choix entre reprendre
| 15.000 lignes de code avec des templates ou tout refaire à 0
| (et là, je peux choisir de m'en passer).
| Pour le moment, je joue la carte du "on prend la suite".

Note, que pour écrire du C++ « traditionnel » ou « orienté objet »,
il te faut déjà une liste incroyable de choses à savoir -- les Meyers,
c'est pour quoi déjà ? -- et cela ne semble pas rébuter les gens.
Or les choses à savoir pour templates sont moins compliquées à
expliquer et à comprendre que le « orienté objet ».

Tabler sur la peur irrationelle n'est pas, AMA, une méthodologie
acceptable de conception de logiciel ou de programmation.

-- Gaby
Avatar
Gabriel Dos Reis
writes:

| Gabriel Dos Reis wrote in message
| news:...
| > Marc Boyer writes:
|
| > [...]
|
| > | > 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 ?
|
| En effet. Ce n'est pas le livre qui m'a fait peur, mais la complexité
| des templates ; complexité dont je ne me suis réelement rendu compte
| qu'en lisant le livre.

Est-ce que c'est réellement plus complexe que la partie « orientée
objet » ?

-- Gaby
Avatar
kanze
Gabriel Dos Reis wrote in message
news:...
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.


Peut-être. Je sais que la plupart, j'en ai entendu parler ailleurs avant
(ce qui n'est pas une critique du livre, mais plutôt une contatation qui
pourrait valoir pour n'importe quel livre d'histoire).

Disons que je ne l'achèterai pas pour ça.

| 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.


Un bon historien ne se contente jamais d'une seule source:-). En ce qui
concerne mes souvenirs, la plupart du temps, ils réfèrent à des choses
qui ne sont pas traitées dans le livre, comme par exemple comment le
travail du comité était perçu en dehors du comité. Ou sur des emails
privés que j'ai pû échanger avec certains -- n'oublie pas que si je ne
suis que très modéramment actif dans la normalisation aujourd'hui, il y
avait un période d'environ deux ans où j'en était très actifs (à la
démande d'un client).

| > | 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 ?


Le numéro 78 est la plus évident, mais c'est pour le prochain livre:-).
Effectivement, la plupart des plus anciens sont plus sérieux.

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.


Je n'ai pas vu de vrais énormités ni dans l'un ni dans l'autre. Mais
j'avoue que je n'en ai pas cherché non plus. J'imagine qu'il y a des
erreurs dans les deux.

La différence que je vois, c'est que sans ce qu'il y a dans Meyers, tu
ne peux pas écrire des programmes même partiellement corrects ; il
s'adresse à des programmeurs bien plus débuttant que Sutter.

| > | 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.


Tu penses à quelque chose en particulier ?

[...]

| 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++


Et d'où as-tu l'idée que je te critiquais ? Je tenais à rappeler un
point essentiel, c'est tout, puisque personne ne l'avait dit jusqu'à là.
Pour être un bon programmeur C++, il faut d'abord être un bon
programmeur. Et que Marc cherche à devenir un bon programmeur C++, et
qu'il a un budget limité pour des livres, il a intérêt aussi d'en
dépenser une partie dans des livres plus généraux.

--
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
kanze
Loïc Joly wrote in message
news:<bn5d6q$npk$...

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.


C'est peut-être que tu avais déjà plus de connaissance du sujet quand tu
l'as abordé ?

--
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
Gabriel Dos Reis
writes:

[...]

| > | 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.
|
| Un bon historien ne se contente jamais d'une seule source:-).

Je ne suis pas historien et je ne recommande pas D&E à Marc juste pour
l'histoire. Mais un histoirien (apprenti ou non) sait faire la
différence entre souvenances et faits.

| En ce qui
| concerne mes souvenirs, la plupart du temps, ils réfèrent à des choses
| qui ne sont pas traitées dans le livre, comme par exemple comment le
| travail du comité était perçu en dehors du comité. Ou sur des emails
| privés que j'ai pû échanger avec certains -- n'oublie pas que si je ne
| suis que très modéramment actif dans la normalisation aujourd'hui, il y
| avait un période d'environ deux ans où j'en était très actifs (à la
| démande d'un client).

Oh, je ne doute pas un seul instant que tu eus été très actif ; mais
j'ai aussi remarqué que en ce qui concerne ce passé, les souvenances
dont tu m'as fait part sont assez éloignées de la réalité. Ce
n'est pas une critique, c'est une constatation.

|
| > | > | 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 ?
|
| Le numéro 78 est la plus évident,

XC++ a 47 items, MXC++ en an 40.
Comment fais-tu ton compte ?

| mais c'est pour le prochain livre:-).

ah, maintenant, il n'est plus question de ce qui *est*, i.e. la liste
des deux livres que Marc a donné, mais du futur. Ahem.

[...]

| > | 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.
|
| Tu penses à quelque chose en particulier ?

par exemple, tu as dû probablement suivre nos échanges sur son
traitement de la RVO sur comp.lang.c++.moderated.

J'ai laissé ses deux bouquins à Cachan, alors je ne l'ai pas sous la
main ici pour donner le numéro précis du item. Je pense qu'il a dit
que dans la version CD, il va corriger.

| > [...]
|
| > | 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++
|
| Et d'où as-tu l'idée que je te critiquais ?

Je n'ai pas l'idée que tu me critiquais.

-- Gaby
1 2 3 4 5