[26] Apprendre l'orienté objet/C++

(Une partie de C++ FAQ Lite fr, Copyright © 1991-2002, Marshall Cline, cline@parashift.com)

Traduit de l'anglais par Philippe Elie

Les FAQs de la section [26]


[26.1] Qu'est-ce qu'un mentor?
C'est l'outil le plus important pour apprendre l'Orienté Objet.

Penser en Orienté Objet est une affaire de compréhension et non simplement de connaissance. Soyez en relation avec quelqu'un qui sait vraiment de quoi il parle et essayez de vous mettre a sa place et de regarder comment il résout les problèmes. Ecoutez. Apprenez par l'émulation.

Si vous travaillez pour une société demandez leur de vous apporter quelqu'un qui peut agir comme un mentor et un guide. Nous avons vu des quantités d'argents gaspillées par des sociétés qui "économise de l'argent" simplement en achetant un livre a leurs employés ("Voici un livre; lisez-le ce week-end; lundi vous serez un developpeur Orienté Objet").

[ Haut | Bas | Rechercher ]


[26.2] Dois-je apprendre le C avant le C++/OO?
Ne vous inquiétez pas.

Si votre but ultime est d'apprendre le C++/OO et si vous ne connaissez pas le C, lire des livres ou prendre des cours sur le C n'est pas seulement une perte de temps, mais cela vous apprendra aussi tout un tas de choses que vous devrez désapprendre quand vous passerez au C++/OO (E.g., malloc() , printf() , inutilité de l'utilisation de l'instruction switch , traitement des exceptions par des codes d'erreur , inutilité des #define macros , etc.).

Si vous voulez apprendre le C++/OO, apprenez le C++/OO. Prendre du temps pour apprendre le C gaspillera ce temps et vous troublera.

[ Haut | Bas | Rechercher ]


[26.3] Dois-je apprendre Smalltalk avant le C++/OO?
Ne vous tracassez pas.

Si votre but ultime est d'apprendre le C++/OO et si vous ne connaissez pas Smalltalk, lire des livres ou prendre des cours sur le Smalltalk n'est pas seulement une perte de temps, cela vous apprendra aussi tout un tas de choses que vous devriez désapprendre quand vous passerez au C++/OO (E.g., typage dynamique , héritage n'impliquant pas de sous-typage , traitement des exceptions par des codes d'erreur , etc.).

Connaître un langage OO "pur" ne facilite pas la transition a C++/OO. Ceci n'est pas une théorie; nous avons entraîné et guidé des centaines de professionnels en Orienté Objet. En fait, l'expérience de Smalltalk peut rendre l'apprentissage du C++ plus difficile pour certain: ils ont besoin de désapprendre certaines notion plutôt complexe a propos du typage et de l'héritage en plus d'apprendre la nouvelle syntaxe. Ce processus de désaprentissage est spécialement douloureux et lent pour ceux qui considèrent Smalltalk avec un zèle religieux ("C++ n'est pas comme Smalltalk, donc C++ est le mauvais").

Si vous voulez apprendre le C++/OO, apprenez le C++/OO. Prendre du temps pour apprendre Smalltalk gaspillera ce temps et vous embrouillera.

Note: Je suis membre du comité ANSI C++ (X3J16) et du comité ANSI Smalltalk (X3J20). Je ne suis pas un fanatique d'un seul langage. Je ne dis pas que le C++ est meilleur ou plus mauvais que Smalltalk; Je dis simplement qu'il sont différents.

[ Haut | Bas | Rechercher ]


[26.4] Dois-je acheter un livre ou plusieurs?
Au moins deux.

Il y a deux catégories de compréhension et de connaissance en programmation Orienté Objet. Il est préférable de prendre un livre qui représente "l'état de l'art" dans chaque catégorie plutôt que d'essayer de trouver un livre qui soit correcte pour toute chose. Ces deux catégories sont:

Les livres sur la lettre du C++ décrivent toutes les caractéristiques du langage sans mettre l'accent sur une caractéristique particulière; les livres sur la philosophie du C++ se concentre sur les caractéristiques que vous utiliserez le plus souvent dans votre programmation. Les Livres sur la lettre du C++ vous disent comment obtenir une caractéristique donnée; les livres sur la philosophie du C++ vous disent si cette caractéristique devrait-étre employée ou non.

commentaire:

[ Haut | Bas | Rechercher ]


[26.5] Quels sont les meilleurs livres sur la philosophie du C++?
Voici une courte liste personnelle (subjective et sélective) des meilleurs lectures sur la philosophie du C++, par ordre alphabétique d'auteurs: Similarités:Ces trois livres sont abondamment commentés avec des exemples de codes. Tous les trois sont excellents, plein de perspicacité, utile, des bibles. Tous font d'excellentes ventes.

Différences: Les exemples du Cline/Lomow/Girou's sont complets, des programmes fonctionnant plutôt que des fragments de code ou des classes isolés. Les Meyers contiennent de nombreux schémas qui illustrent un point particulier.

[ Haut | Bas | Rechercher ]


[26.6] Quels sont les meilleurs livres sur la lettre du C++?
Voici une courte liste personnelle (subjective et sélective) des meilleurs lectures sur la lettre du C++, par ordre alphabétique d'auteurs: Similarités:Ces deux livres couvrent la plupart des caractéristiques du C++. Je les ai examinés pour les comparer dans C++ report, et je dit qu'ils sont tous deux aux sommets, des bibles, d'excellent livres. tous deux font d'excellentes ventes.

Différences: Si vous ne connaissez pas le C, le livre de Lippman est meilleur pour vous. Si vous connaissez le C et voulez avancer rapidement, le livre de Stroustrup's est plus indiqué pour vous.

[ Haut | Bas | Rechercher ]


[26.7] Est-ce qu'il y a d'autre livres pertinents sur le C++/OO?
Oui! Des tonnes!

Les catégories philosophie et légalité (lettre) traités ci-dessus traitent de la programmation objet. Les catégories analyse et conception Orienté Objet sont aussi pertinentes, et ont leurs propres bibles.

Il y a des masses de bons livres sur ces sujets. Le livre de référence sur les patterns (motifs) de conception (N.D.T designs patterns) Orienté Objet est (à mon avis), subjective et sélective: Gamma et al., Design Patterns, 395 pgs, Addison-Wesley, 1995, ISBN 0-201-63361-2. Il décrit des motifs récurrents qui sont communément utilisé dans une bonne conception OO. Vous devez lire ce livre si votre intention est de faire de la conception Orienté Objet.

[ Haut | Bas | Rechercher ]


[26.8] Mais ces livres sont trop avancés pour moi car je n'ai jamais programmé, y-a-t-il de l'espoir pour moi?
Oui.

Il y a sûrement beaucoup de livres qui sont ciblés pour les gens qui débutent en programmation, mais celui-ci je l'ai lu: Heller, Who's afraid of C++?, AP Professional, 1996, ISBN 0-12-339097-4.

Noter que vous devez completer ce livre avec un des livres cités ci-dessus ou avec les sections de la FAQ sur la bonne utilisation de const et la sûreté des exceptions car ces sujets sont insuffisamment couverts dans ce livre.

[ Haut | Bas | Rechercher ]


E-mail Marshall Cline Ecrire à l'auteur, au traducteur, ou en savoir plus sur la traduction.
C++ FAQ Lite fr | Table des matières | Index | A propos de l'auteur | © | Téléchargez votre propre copie ]
Dernière révision Sun Apr 13 23:54:20 PDT 2003