[Linux-bruxelles] quel C choisir ?

Christian Lemer chris at ucmb.ulb.ac.be
Jeu 6 Juin 13:51:39 CEST 2002


Gerd-Christian Michalke <gmichalk at freegates.be> writes:

> On Donnerstag 6. Juni 2002 13:08, Christian Lemer wrote:
> > Gerd-Christian Michalke <gmichalk at freegates.be> writes:
> > > Pourquoi pas le C++ en faisant l'impasse sur les templates et l'héritage
> > > multiple (ou alors réduit au strict concept des interfaces) ?
> >
> > Pourquoi limiter l'héritage multiple au strict concept des interfaces?
> 
> Disons que la vision graphe impliquée par la vision de l'héritage multiple par 
> rapport à la visions arbre peut impliquer quelques petites difficultés. 
> L'interface permet le polylorphisme (c'est quand même un peu le but d'un 
> langage OO ;-) -- entre autres) sans avoir le piège (possible, mais pas 
> nécessaire) de se retrouver face à un schéma d'implémentation mutiple pour 
> une même classe sans devoir nommément citer la classe mère.
> 
> Mais bon: ceci est un problème plus théorique que pratique. Ceci dit, 
> l'expérience du développeur, une bonne analyse etc... jouent beaucoup. C'est 
> comme tout, les outils, sont là, encore faut-il s'en servir convenablement 
> (la surcharge des opérateurs est géniale, mais attention à la sémantique, par 
> exemple... autant avoir un code lisible ;-) )

Je suis tout à fait d'accord avec ton analyse.

> 
> Remarque qu'un langage comme le java aura plutôt tendance à substituer 
> l'héritage multiple par l'aggrégation).
> 

Justement, il me semble que ce ne toujours en faveur d'un code lisible
et facile à maintenir.

En Java, l'implémentation des Beans est, me semble-t-il, un bon
exemple de problème de cette limitation.

Je pense qu'il ne faut effectivement pas abuser de l'héritage
multiple, mais plutôt l'utiliser de manière adéquate et parcimonieuse.

En fait, j'ai réagis car je suis en général assez irrité par la
position de SUN qui prétend que l'héritage multiple avec
implémentation (pas seulement l'interface) n'est pas utile et même
nuisible au bon design... argument que je ne puis accepter! Il existe
des solutions plus élégantes, et si elles sont à notre disposition,
autant les utiliser.

Par ailleurs, je suis assez d'accord avec toi qu'il est peut-être plus
raisonnable de travailler en C++, quitte à se mettre certaines
contraintes, que de choisir C#...

Chris.

-- 
Christian Lemer
Service de Conformation des Macromolecules Biologiques et de Bioinformatique
Universite Libre de Bruxelles                       Brussels Free University
chris at ucmb.ulb.ac.be     +32.2.648.52.00    http://www.ucmb.ulb.ac.be/~chris

    The README file said                       /"\
"Requires Windows 98, XP or better."           \ /     ASCII RIBBON CAMPAIGN
   So... I installed it on Linux!               X        AGAINST HTML MAIL  
                                               / \ 




Plus d'informations sur la liste de diffusion Linux-bruxelles