Thu, 04 Nov 2004 00:31:24 +0100, Laurent Martelli a �crit :
> >>>>> "Sylvain" == Sylvain Sauvage <[EMAIL PROTECTED]>
> >writes:
> 
>   Sylvain> Wed, 3 Nov 2004 20:26:16 +0100, Gabriel Paubert a �crit :
>   >> [...]  H�riter d'une classe existante semble plus propre mais il
>   >> faut vraiment en voir le co�t, composer est nettement moins cher
>   >> en terme de taille de l'ex�cutable et pas franchement pire dans
>   >> ce cas.
> 
>   Sylvain> Le choix entre h�ritage et d�l�gation n'est pas souvent une
>   Sylvain> question de � propret� �, c'est plus souvent une question
>   Sylvain> de choix, surtout en C++.
> 
> C'est formidable ce que tu viens de dire, en r�sumant un peu �a
> devient "le choix c'est une question de choix" ;-)

Oups, me suis eu tout seul. Rempla�ons le second � choix � par � go�t �.

> Ceci-dit, je pense que choisir entre h�ritage et d�l�gation c'est un
> question de propret�, mais �a ne veux pas dire qu'h�riter est toujours
> plus propre. Dans le cas qu inous int�resse (h�riter de la classe
> Window de gtkmm pour la fen�tre d'une appli), je pense qu'il est plus
> propre de d�l�guer. L'h�ritage expose l'impl�mentation (l'utilisation
> de gtk) alors qu'en ayant un attribut Window, tu peux le laisser priv�
> et donc encapsuler.

D'accord sur ce point. Mais la propret�, c'est parfois subjectif aussi.

>   >> C'�tait mon premier projet en C++, il se pourrait bien que ce
>   >> soit le dernier.
> 
>   Sylvain> C'est le probl�me de C++ : il faut ma�triser la fa�on dont
>   Sylvain> va �tre interpr�t� le code pour programmer correctement. 
> 
> Je pense que c'est valable pour n'importe quel langage. 

Quand je dis ma�triser, je veux dire r�ellement ma�triser, pas seulement
avoir une id�e de ce qui se passe. On peut tr�s bien programmer dans un
langage comme Java, Python, Php, etc., sans se soucier de la fa�on dont
sont stock�es en m�moire les fonctions et les structures. En C++, on doit
faire attention � de nombreux d�tails (notamment la gestion des fonctions
virtuelles, ou simplement la gestion des structures en m�moire) si l'on ne
veut pas avoir de mauvaise surprise.

Je ne dis pas que ce sont des complications inutiles du C++.
Je dis simplement que le C++ n�cessite beaucoup de connaissances pour �tre
utilisable correctement (c'est-�-dire gagner quelque chose � l'utiliser).
Je dis aussi que si on n'a pas besoin des avantages du C++, autant ne pas
subir ses inconv�nients (chacun pouvant percevoir avantages et
inconv�nients de son point de vue).

� mon avis, le C++ n'est pas un langage pour les d�butants (je n'ai jamais
vu de cours de C++ pour d�butants qui traite vraiment le C++ et pas
seulement un sous-ensemble restreint du C++).

Je ne dis pas non plus � Gabriel � bien fait pour toi si tu t'en as chi�,
le C++ �a se m�rite, t'es qu'un noob, tu seras jamais l33t... �. Au
contraire, ce serait plut�t � Pers�v�re, il faut `juste' de l'exp�rience
et tu en as d�j�. �

-- 
Sylvain Sauvage

Répondre à