RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Serv: irc.irc-land.org
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Pour ou contre les templates en C++ ?

Forum : C & C++
Sous Catégorie : Aucune
Type du sujet : Débat
FAQ : FAQ C & C++

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ

Etes-vous plutôt pour ou contre l'utilisation des templates en C++ ?
Pour 4 (100%)
Contre 0 (0%)
Nombre de participants : 4

PAGES : [1] [2] [3] [4] [5] [6]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM C & C++

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2547
Message
#140768
Posté le 14/08/07 à 09:04
Mais je ne comprends pas pourquoi vous fuyez les templates.

La meilleure utilisation des templates, c'est quand elles sont bien combinées à la POO. Les bons programmeurs C++ savent utiliser l'héritage quand il faut (moins souvent qu'on le pense), et y mettre des templates quand il faut. Quand j'ai crée ce sujet, j'ignorais encore pas mal de choses.

J'ai fait des progrès conséquents, et ai lu de très bon bouquins sur le sujet.

Imaginons une factory. Il y a plusieurs moyens de faire une factory d'objets.

La façon delphi, c'est de renvoyer un TObject et donc d'utiliser le polymorphisme d'exécution, non ? Ca entraine de devoir chaque fois qu'on veut se servir d'une classe fille caster (même si c'est géré en interne) en classe fille, TMouton disons, donc surement par le moyen de quelque chose semblable à une vtable, non ?

Je vous renvoie vers Loki (http://loki-lib.sf.net) pour cela.
De plus, grâce aux templates, on peut modifier le comportement de création : new, copie d'un prototype, malloc, etc ... On peut ainsi créer avec le même code une factory qui crée ses objets avec new, une autre qui crée avec malloc, une autre qui copie un prototype précis (et ce pour chaque type que peut stocker la factory), donc on a pour commencer une hiérarchie de classes moins conséquente à parcourir lors de la manipulation des objets.


D'autres exemples ? Vous connaissez les smart pointers ? Différents comportements disponibles à partir du même code encore une fois, grâce aux templates.

Ca vous met pas la puce à l'oreille ? Si non, on arrête le débat là, vous êtes trop entêtés pour vouloir comprendre quelque chose à ce qu'on dit.

C'est si bidon que le Java, le C# et le D ont récupéré les templates eux aussi ? Arrêtez un peu de vous entêter et acceptez qu'on vous apprenne des choses.
__________________________
Be C++
Mon Blog (C++, Intelligence Artificielle, Prolog)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

Czayfaboo
Co-Administrateur
Superviseur :
- Langages Dot.
Modérateur :
- CSharp (C#)
Chef de projet(s) :
- ID3.NET Library
- MoteurProg Work.

Avatar de Czayfaboo
Inscrit : 05/01/2005
Messages : 2853
Message
#140798
Posté le 14/08/07 à 13:07
J'ai pas dit que les templates c'était nul... J'ai juste dit que j'en vois un intérêt assez limité (dans le cadre de mes besoins toujours) ...

Les exemples que tu donnes restent vachement axés C++ (malloc, smart pointeurs)... normal tu fais du C++ (c'est pas un reproche).

Moi je veux bien coder une factory en template (C#) si tu me dis que c'est mieux... mais tu n'as pas dit ce qui était mieux avec ceux-ci (juste parlé du comportement de création... chose dont je me fou totalement en C#)... Et puis en plus de çà, si tu change le comportement de création dans ton tempalte en fonction du type reçu, tu limites les possibilités en faisant des conditions sur les types reçus... Y'a un truc qui m'échappe dans ton exemple...

Le malloc c'est pas pareil que le new (c'est quoi la différence en fait... c'est quasi pareil... non ?) ?
__________________________
Sujet résolu ? Pensez à mettre le tag Image
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

screetch
Nouveau membre
Inscrit : 13/08/2007
Messages : 17
Message
#140824
Posté le 14/08/07 à 16:50
le plus simple c'est quand meme que vous appreniez comment ca marche les templates. Ensuite vous trouverez vous memes quels sont les problemes que vous pouvez resoudre avec.

Vous me faites penser a des mecaniciens qui feraient tout avec le marteau, on vous presente une pince et vous dites "ca ne sert a rien je refuse de m'en servir car je fais tout avec mon marteau". Meme si c'est vrai que vous faites tout avec un marteau il n'empeche que des choses se font "mieux" avec une pince.

En temps que conducteur dont la voiture est cassée si mon mecano me sort un truc pareil je ne retourne plus jamais le voir. En temps que recruteur si un candidat me dit qu'il refuse de se servir des templates car il code tout en POO je le raccompagne a la porte. Si un mec me dit qu'il n'a pas besoin de POO car il code tout en template je le reconduit aussi a la porte.


Si vous pouviez faire preuve d'un millimetre d'ouverture d'esprit vous verriez quue c'est une autre facon de penser et de resoudre les problemes qui remplace tres adroitement la POO par endroit =)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Czayfaboo
Co-Administrateur
Superviseur :
- Langages Dot.
Modérateur :
- CSharp (C#)
Chef de projet(s) :
- ID3.NET Library
- MoteurProg Work.

Avatar de Czayfaboo
Inscrit : 05/01/2005
Messages : 2853
Message
#140826
Posté le 14/08/07 à 17:20
screetch dit :
le plus simple c'est quand meme que vous appreniez comment ca marche les templates. Ensuite vous trouverez vous memes quels sont les problemes que vous pouvez resoudre avec.

Vous me faites penser a des mecaniciens qui feraient tout avec le marteau, on vous presente une pince et vous dites "ca ne sert a rien je refuse de m'en servir car je fais tout avec mon marteau". Meme si c'est vrai que vous faites tout avec un marteau il n'empeche que des choses se font "mieux" avec une pince.

En temps que conducteur dont la voiture est cassée si mon mecano me sort un truc pareil je ne retourne plus jamais le voir. En temps que recruteur si un candidat me dit qu'il refuse de se servir des templates car il code tout en POO je le raccompagne a la porte. Si un mec me dit qu'il n'a pas besoin de POO car il code tout en template je le reconduit aussi a la porte.


Si vous pouviez faire preuve d'un millimetre d'ouverture d'esprit vous verriez quue c'est une autre facon de penser et de resoudre les problemes qui remplace tres adroitement la POO par endroit =)


Tu réponds toujours au même message ou quoi... J'ai pas dit que j'étais fermé aux templates... loin de là... J'ai juste dit que je leur trouve un domaine d'application très limité (çà veut aussi dire que je connais les templates)... et j'ai pas dit que parce que je l'ai dit que c'était vrai dans l'absolu... mais juste pour moi et pour l'instant... J'ai également dit que les exemples que vous avez donné restent très orienté C++ et ne sont ni utiles ni exploitables dans des langages modernes tels que C#... C'est toujours pour çà qu'après c'est 6 pages sur les templates, je n'ai toujours pas pu trouver un argument qui me mette la puce à l'oreille pour me dire : "Tiens, c'est vrai que c'est pas mal çà... et si j'essayais d'en savoir un peu plus"... Mais je le répète... Si vous trouvez un exemple qui soit indépendant du langage employé et qui mette bien en avantage l'utilité des templates par rapport à la POO... Ben soyez sûr que j'irais tout de suite voir de quoi il en retourne... Smiley
__________________________
Sujet résolu ? Pensez à mettre le tag Image
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

screetch
Nouveau membre
Inscrit : 13/08/2007
Messages : 17
Message
#140827
Posté le 14/08/07 à 17:28
c'est le forum C++ et la question porte sur les template, donc oui nous avons des exemples tres "C++iens" :(

C# a des features que C++ n'a pas au niveau de l'introspection (et qui font vraiment defaut a C++) par exemple et ca resout carrément plein de problemes (dont peut etre les factory d'ailleurs) donc pas glop de transposer un outil d'un langage pour un autre langage :-/

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2547
Message
#140828
Posté le 14/08/07 à 18:01
Le C# c'est différent.

Czayfaboo > http://alp.developpez.com/tutoriels/traitspolicies/

Pitié, que ça te fasse "tilt".
__________________________
Be C++
Mon Blog (C++, Intelligence Artificielle, Prolog)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Czayfaboo
Co-Administrateur
Superviseur :
- Langages Dot.
Modérateur :
- CSharp (C#)
Chef de projet(s) :
- ID3.NET Library
- MoteurProg Work.

Avatar de Czayfaboo
Inscrit : 05/01/2005
Messages : 2853
Message
#140839
Posté le 14/08/07 à 20:31
Bon ben j'ai à peu près tout lu (me suis arrêté au 2.2, çà devenait difficile à suivre pour moi qui ne fait plus de C++ depuis un moment)... J'ai pas tout compris non plus... Du genre les premiers exemple sur les traits, je vois pas bien comment çà fonctionne en interne... L'exemple sur la fonction min était plus clair... mais reste toujours dans le cadre d'utilité que je voyais pour les templates... Pour les politiques, j'ai pas bien saisi l'exemple d'Addition... Qu'est ce qui se passe si on y met un type String ? Si çà concatène les string, ben j'ai rien compris à ce code... J'ai d'ailleurs même pas compris comment fonctionnait la boucle for (avec des références ? Smiley)... Enfin bref... c'était quand même instructif... peut être que si je faisais du C++, çà me serait utile, je dis pas le contraire... mais pour l'instant je n'en vois toujours pas une très grande utilité en C#... même si de revoir pas mal de code sur les templates m'a ravivé quelques souvenirs de code template que je pourrais faire éventuellement...

Faudrait que j'essaie vraiment de coder quelque chose avec des templates dans un de mes programme que je vois où çà peut vraiment me servir... Si je le fais, je vous tiendrai au courant... Smiley
__________________________
Sujet résolu ? Pensez à mettre le tag Image
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2547
Message
#140841
Posté le 14/08/07 à 20:47
Franchement, lis le chapitre templates d'un bouquin ou cours que tu aimes.

Ensuite, relis mon tuto attentivement, en étudiant les exemples.
Et ce jusqu'à ce que tu comprennes.

Là tu abandonnes. Seulement si vous ne voulez pas comprendre, on peut clore le sujet de suite.

Si vous voulez, faîtes des efforts. La POO, vous ne l'avez pas comprise en 2 minutes, si ?
__________________________
Be C++
Mon Blog (C++, Intelligence Artificielle, Prolog)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Czayfaboo
Co-Administrateur
Superviseur :
- Langages Dot.
Modérateur :
- CSharp (C#)
Chef de projet(s) :
- ID3.NET Library
- MoteurProg Work.

Avatar de Czayfaboo
Inscrit : 05/01/2005
Messages : 2853
Message
#140843
Posté le 14/08/07 à 21:20
Oui oui, c'est ce que j'ai dit... J'ai dit "faudrait"... donc j'ai pas abandonné du tout... et puis comme tu l'as dit... j'aurais pas pu tout comprendre en 2 minutes... Smiley
__________________________
Sujet résolu ? Pensez à mettre le tag Image
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2547
Message
#140882
Posté le 15/08/07 à 14:26
Fais moi signe quand tu t'y seras un peu plus intéressé ;)

Pour pac, c'est perdu d'avance :D
__________________________
Be C++
Mon Blog (C++, Intelligence Artificielle, Prolog)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM C & C++



    PAGES : [1] [2] [3] [4] [5] [6]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.