IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Pourquoi la communauté C++ s'intéresse plus à la technique et ignore la conception?


Sujet :

C++

  1. #621
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Citation Envoyé par Issam_Lahlali Voir le message
    le grand probléme c'est que C++ a dépasser depuis longtemps ce probléme mais malheureusement pas ces adeptes, le probléme encore une fois n'est pas dans le langage mais dans la manière ou la majorité l'appréhende, et comme t'a préciser s'il faut des années d'expériences pour comprendre ça, moi je dis le mieux est de l'eviter.
    Tu n'as toujours pas compris. Ce que je dis, c'est valable pour tout langage. Tu es trop jeune et pas assez expérimenté pour savoir quel outil utiliser pour quel boulot. Mais encore une fois, je l'ai déjà dit et tu avais zappé mon message.

  2. #622
    Membre confirmé Avatar de MenshaKaine
    Inscrit en
    Juin 2009
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Juin 2009
    Messages : 68
    Par défaut
    Citation Envoyé par Mac LAK Voir le message
    A titre personnel, je trouve bien plus facilement du boulot dans l'industrie en C/C++ qu'en SSII sur la dernière techno à la mode, en tout cas...
    Je sais très bien je travail justement dans ce secteur depuis 3 ans et je dois dire que je vois fuire pas mal de monde ...

    L'avantage c'est qu'ils ont du mal à trouver des développeur c++.

    Le désavantage s'est qu'on se retrouve avec des "professionnel" du c qui viennent faire du c++ et te place plein de chose en public (cad: j'ignore la conception et ca n'a rien de technique )

    Ma question est plus de l'ordre stratégique que philosophique, le marché n'a rien à faire de ça ...

  3. #623
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Citation Envoyé par MenshaKaine Voir le message
    Le désavantage s'est qu'on se retrouve avec des "professionnel" du c qui viennent faire du c++ et te place plein de chose en public (cad: j'ignore la conception et ca n'a rien de technique )
    Ca fait plusieurs fois que tu parles de cette histoire de "public". Toujours mettre tous les attributs en private, ça n'est pas parfait non plus, loin de là.
    On n'est pas en C# avec les properties là hein

  4. #624
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juillet 2009
    Messages : 237
    Par défaut
    Citation Envoyé par Matthieu Brucher Voir le message
    Tu n'as toujours pas compris. Ce que je dis, c'est valable pour tout langage. Tu es trop jeune et pas assez expérimenté pour savoir quel outil utiliser pour quel boulot. Mais encore une fois, je l'ai déjà dit et tu avais zappé mon message.
    t'inquiète j'utilise plusieurs langages, et a chaque fois celui le plus adapté aux exigences d'un module et je ne suis pas borné a C++.

    et c'est malheureusement le message des C++iens que je déplore:

    C'est compliqué mais il te faudra une décennie d'expérience pour comprendre, bref tu comprendra lorsque tu cessera de développer

    et c'est justement mon expérience qui m'a appris a simplifier les choses et ou je découvert que la couche technique en C++ représente un fardeau pour le developpeur C++ et la manière de faire abstraction a la complexité est le principe de base pour toute conception.

    et crois moi même si t'a 100 ans d'expérience tu ne peux pas couvrir toutes les subtilités des projets puisque chacun est spécifique, c'est surtout la manière d'appréhender qui compte et c'est la ou j'essaye de proposer une approche qui consiste a simplifier.

  5. #625
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par Issam_Lahlali Voir le message
    C'est normal parce que les profils C++ commencent a disparaitre
    Non, c'est surtout parce que certains veulent faire n'importe quoi avec le C++ (chose que tu veux, justement), se pètent la tête dessus à grand coup d'usines à gaz pendant que le stagiaire fait la même chose dix fois plus vite en C# ou Java, alors qu'il a appris hier le sens du mot "conception"... Du coup, il se dégoûtent du C++ et passent à ce que le marché semble le plus rechercher, du Java/JEEE/(insérer ici la dernière techno à la mode).

    C'est triste, mais c'est aussi très logique lorsque l'on fait commencer le C++ avec des monstruosités genre "IHM en MFC", ou en engueulant le débutant parce qu'il n'a pas trouvé la classe "foo.hidden.obscure.undocumented" au fin fond du framework "standard", et qu'il a osé réimplémenter une addition à la main...

    Or, comme je l'ai dit, une grosse partie du marché C/C++ est totalement caché : tu ne verras quasiment jamais une annonce passer, souvent tu ne sauras même pas qu'une société industrielle X possède un service informatique !
    Et sans tomber dans le "C+" non plus, le C++ dans son contexte bas niveau, c'est franchement plus simple que les API graphiques de Java, par exemple... C'est pour ça que je dis que C++ est très adapté à ce segment : dans ce contexte, c'est un langage puissant et simple. Souvent plus simple que les autres, d'ailleurs... Il suffit juste de réussir à tracer la limite entre l'optimisation et la généricité, et c'est là que la conception intervient (et pas qu'un peu...).

    Tu vas faire de la randonnée en montagne avec un coupé sport surbaissé ? Non. Tu vas faire tes courses au supermarché en semi-remorque ? Non. Tu vas faire la course avec un véhicule utilitaire ? Non.
    Pourtant, ce sont à chaque fois des véhicules, mais pas forcément adaptés à l'usage que tu veux en faire... C'est exactement pareil pour les langages de programmation.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  6. #626
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Citation Envoyé par Issam_Lahlali Voir le message
    C'est compliqué mais il te faudra une décennie d'expérience pour comprendre, bref tu comprendra lorsque tu cessera de développer
    Tu vois, c'est là où c'est gonflant quand tu ne veux pas comprendre ce qu'on te dit. Je n'ai pas dit qu'il te faudra plus d'expérience en C++, il te faut plus d'expérience tout court ! Dans n'importe quel domaine et dans d'autres langages !

  7. #627
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Citation Envoyé par Mac LAK Voir le message
    Tu vas faire de la randonnée en montagne avec un coupé sport surbaissé ? Non. Tu vas faire tes courses au supermarché en semi-remorque ? Non. Tu vas faire la course avec un véhicule utilitaire ? Non.
    Pourtant, ce sont à chaque fois des véhicules, mais pas forcément adaptés à l'usage que tu veux en faire... C'est exactement pareil pour les langages de programmation.
    très bon exemple, je crois qu'Issam est spécialisé dans la voiture grand tourisme, il faut qu'il voit les autres domaines d'application du transport routier.

  8. #628
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juillet 2009
    Messages : 237
    Par défaut
    Citation Envoyé par Matthieu Brucher Voir le message
    Tu vois, c'est là où c'est gonflant quand tu ne veux pas comprendre ce qu'on te dit. Je n'ai pas dit qu'il te faudra plus d'expérience en C++, il te faut plus d'expérience tout court ! Dans n'importe quel domaine et dans d'autres langages !
    et comme j'ai répéter a plusieurs reprises c'est gonflant d'avoir des réponses genre:

    tu comprends rien de rien , moi j'ai plus d'expérience et je comprends mieux et c'est comme ça.

    bref aucun argument.

    peux tu me dire avec des arguments a quoi c'est mal de faire abstraction a la couche technique?

  9. #629
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Citation Envoyé par Issam_Lahlali Voir le message
    et comme j'ai répéter a plusieurs reprises c'est gonflant d'avoir des réponses genre:

    tu comprends rien de rien , moi j'ai plus d'expérience et je comprends mieux et c'est comme ça.

    bref aucun argument.

    peux tu me dire avec des arguments a quoi c'est mal de faire abstraction a la couche technique?
    Relis attentivement les 2 dernières pages stp, sinon un débat ne sert à rien.
    J'insiste sur le *attentivement*.

  10. #630
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juillet 2009
    Messages : 237
    Par défaut
    Citation Envoyé par Mac LAK Voir le message
    Non, c'est surtout parce que certains veulent faire n'importe quoi avec le C++ (chose que tu veux, justement), se pètent la tête dessus à grand coup d'usines à gaz pendant que le stagiaire fait la même chose dix fois plus vite en C# ou Java, alors qu'il a appris hier le sens du mot "conception"... Du coup, il se dégoûtent du C++ et passent à ce que le marché semble le plus rechercher, du Java/JEEE/(insérer ici la dernière techno à la mode).
    qui t'a dis ça , relis mes posts depuis le départ et tu découvre que je suis pour utiliser chaque langage la ou il faut, et relis les réponses des autres tu trouvera une résistance a cette idée comme quoi C++ peut tout faire.

    je te parle ce qu'il faut faire la ou on doit développer avec C++ ,et la il ne faut pas prendre l'argument de perf pour faire n'importe quoi au niveau conception.

    l'idée est simple et très très basique:

    comment faire abstraction a la couche technique pour être plus productif , la ou on développe avec C++ pas en C# ou java ou autre

  11. #631
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juillet 2009
    Messages : 237
    Par défaut
    Citation Envoyé par Alp Voir le message
    Relis attentivement les 2 dernières pages stp, sinon un débat ne sert à rien.
    J'insiste sur le *attentivement*.
    relis attentivement aussi mes posts ou je parle :

    - d'utilisation de C++ la ou il faut.
    - simplifier au maximum la couche technique pour être productif.
    - C++ apporte les mécanismes pour avoir un langage haut niveau si on ne tombe pas dans le piège de rester bas niveau.

    et tu me dira quelle idée de ceux la ne te plait pas avec des arguments bien sur et éviter les réponses très très faciles , genre tu ne comprends rien .

  12. #632
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Mac LAK Voir le message
    Je ne suis donc pas le seul à me méfier des maps après retour d'expérience, ça me fait bien plaisir, tiens...
    On avait eu un bout de discussion sur le sujet, il y a quelque temps...

    http://www.developpez.net/forums/d75...ciatifs-fixes/

    Je vais probablement refaire des tests avec mon beau Builder tout neuf et tout moderne (parce que, Builder 6, je l'ai déjà surpris qui faisait des bétises avec la STL...), mais ca montre bien la limite de l'idée répandue 'tableau associatif=map'... (et bien sur, ce serait pareil avec les sets,...)

    Francois

  13. #633
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Citation Envoyé par Issam_Lahlali Voir le message
    relis attentivement aussi mes posts ou je parle :

    - d'utilisation de C++ la ou il faut.
    - simplifier au maximum la couche technique pour être productif.
    - C++ apporte les mécanismes pour avoir un langage haut niveau si on ne tombe pas dans le piège de rester bas niveau.

    et tu me dira quelle idée de ceux la ne te plait pas avec des arguments bien sur et éviter les réponses très très faciles , genre tu ne comprends rien .
    Mais toi, tu n'as pas encore saisi comment saisir cela (ce que ça veut dire utiliser un langage là où il faut). Tu le dis comme on réciterait une poésie, sans l'avoir assimilé. Les autres contributeurs ont assimilé ce concept (ça se voit dans leurs propos), surtout travaillant dans des domaines pointus, comme l'embarqué.
    En revanche, quand on commence à s'ouvrir à d'autres langages, technos, ... il faut un temps d'adaptation. On ne dit pas qu'on connait tout, mais on a clairement assimilé certains concepts qui t'échappent pour le moment. Je ne doute pas que dans quelques temps, tu comprendras ce qu'on essayait de te dire. Enfin, j'espère.

  14. #634
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par Issam_Lahlali Voir le message
    peux tu me dire avec des arguments a quoi c'est mal de faire abstraction a la couche technique?
    Avant de poursuivre dans cette optique, veux-tu bien aller sur cette page, ainsi que sur ce sujet, et lire les documentations de chaque librairie présentée, s'il te plait ?
    Ensuite, peux-tu nous expliquer clairement et de façon détaillée ce qu'il te manque et qui n'existerait pas déjà dans ces librairies ?

    Peux-tu également, après ceci, nous expliquer (exemples à l'appui) comment se "détacher" de la technique sans ajouter des couches et des couches d'abstraction, qui seront donc forcément soit pénalisantes à l'exécution (wrappers compilés), soit pénalisantes pour la compilation/modularité (wrappers templates) ?

    J'avoue aussi que je serais curieux de voir comment tu fais pour avoir une sorte d'intersection absolue des OS, librairies, etc. (le "framework parfait", si l'on peut dire) tout en conservant les spécificités de chaque librairie ou plate-forme utilisables...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  15. #635
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juillet 2009
    Messages : 237
    Par défaut
    Citation Envoyé par Matthieu Brucher Voir le message
    Mais toi, tu n'as pas encore saisi comment saisir cela (ce que ça veut dire utiliser un langage là où il faut). Tu le dis comme on réciterait une poésie, sans l'avoir assimilé. Les autres contributeurs ont assimilé ce concept (ça se voit dans leurs propos), surtout travaillant dans des domaines pointus, comme l'embarqué.
    En revanche, quand on commence à s'ouvrir à d'autres langages, technos, ... il faut un temps d'adaptation. On ne dit pas qu'on connait tout, mais on a clairement assimilé certains concepts qui t'échappent pour le moment. Je ne doute pas que dans quelques temps, tu comprendras ce qu'on essayait de te dire. Enfin, j'espère.
    alors la c'est fort, relis mes messages et a plusieurs reprises je dis que C++ est bien pour :
    le systeme, l'embarqué et les jeux.

    et la ça montre juste une volonté d'attaquer pour rien,on discute pour ne pas savoir qui est de nous le plus fort mais pour proposer des approches et démarches pour appréhender la complexité de C++.

    moi j'ai proposer d'isoler cette couche en faisant abstraction a la complexité pour ne pas impacter tous les développeurs par et j'attends ta proposition

  16. #636
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Citation Envoyé par Issam_Lahlali Voir le message
    alors la c'est fort, relis mes messages et a plusieurs reprises je dis que C++ est bien pour :
    le systeme, l'embarqué et les jeux.

    et la ça montre juste une volonté d'attaquer pour rien,on discute pour ne pas savoir qui est de nous le plus fort mais pour proposer des approches et démarches pour appréhender la complexité de C++.

    moi j'ai proposer d'isoler cette couche en faisant abstraction a la complexité pour ne pas impacter tous les développeurs par et j'attends ta proposition
    C'est bien plus vaste que ça, mais bon...
    Dans ces domaines là, tu ne penses pas que la couche "métier", c'est autre chose que ce que tu dis ? Encore une fois, je fais référence à la première correction que j'ai faite sur ton terme "métier". Pour moi, le métier, c'est justement ce qui est primordial, ce qui ne va pas forcément être récupérable à l'extérieur. Dans ce cas, c'est quoi l'utilité de faire une abstraction là-dessus ? Le métier, c'est la plus value de l'application dans l'entreprise, ce n'est pas en passant de MySQL à Oracle que ton entreprise va gagner des millions d'euros, mais en passant d'un algorithme de résolution numérique à un autre, on peut gagner des millions, voire des milliards. Et là, la couche d'abstraction, on s'en fout, on n'en veut pas car on doit rester proche du matériel, tout en étant super haut-niveau.

    La seule vision que tu as, c'est la vision informatique de gestion de bureau, mais tu crois sincèrement que c'est tout ce qui existe dans le monde ?

  17. #637
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    Le métier, c'est la plus value de l'application dans l'entreprise, ce n'est pas en passant de MySQL à Oracle que ton entreprise va gagner des millions d'euros, mais en passant d'un algorithme de résolution numérique à un autre, on peut gagner des millions, voire des milliards.
    Pour continuer dans cette direction, regarde The Gimp VS Photoshop (exemple donné par Mathieu je sais plus où).
    Ils font les même traitements (en gros): l'un en plusieurs minutes, l'autre en quelques secondes.

    La différences ? Les algos !

    C'est à la fois du technique et du métier. On ne peut séparer de façon aussi radicale.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  18. #638
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Citation Envoyé par Mac LAK
    chaque langage possède un domaine où il explose les autres, et le C++ n'est pas en tête de podium partout.
    Ce que tu n'as pas l'air de comprendre, c'est que C++ te permet de définir un langage spécifique à un domaine particulier.

    Citation Envoyé par Mac LAK
    Les templates, c'est bien joli et tout et tout, mais quand tu te retrouves avec des dizaines de templates imbriqués entre eux et que tu as une boulette dedans, en général, t'es nettement moins convaincu. C'est exactement comme les macros en C : cela permet des choses extrêmement puissantes, mais en abuser est rarement une excellente idée côté maintenabilité du code.
    Oulah, ça n'a rien à voir avec les macros.
    Pour avoir fait beaucoup de choses avancées avec les deux, je peux te dire que les macros c'est très dur à maintenir à et à déboguer, mais ce n'est pas du tout le cas des templates, qui sont type-checkés indépendemment de leur instantiation.

    Citation Envoyé par Mac LAK
    Pour ma part, côté génération de code C++, je passe par un métalangage plutôt que par des templates... Nettement plus maintenable à long terme.
    C'est exactement pareil, sauf que ton méta-langage te demandera de faire un parser, un vérificateur sémantique, un générateur de code, etc. alors qu'avec C++ c'est beaucoup plus facile et nécessite moins de dépendances.
    Après, si c'est vraiment pour des questions syntaxiques, ça a du sens de passer par un parser.

    Citation Envoyé par Mac LAK
    les templates complexes rendent le code absolument intraçable en cas de bug
    Pas plus qu'autre chose.

    La différence importante avec un langage comme OCaml qui fait de l'inférence de type, par exemple, c'est que C++ ne va prendre en compte que la signature de la fonction pour déterminer si le type des arguments convient à la fonction, alors qu'OCaml va en fait prendre en compte l'intégralité du corps de la fonction pour déterminer le type possible des arguments, ce qui resulte en effet en de meilleurs messages d'erreurs.
    Chose qui n'est pas impossible à faire en C++ pour autant, les gens ne le font pas dans la pratique, simplement.

    En utilisant de simples techniques de concept-checking (ce qui peut se faire même en C++03) on peut avoir des messages d'erreurs équivalents à ceux fournis quand il n'y a aucune surcharge qui correspond au type des arguments, par exemple.
    L'intérêt principal des concepts de C++0x qui ont été enlevés, c'était de démocratiser cela.

    Après j'ai bien compris que sur le marché français, les templates c'est considéré comme étant une technologie expérimentale risquée. Si la France a réputation d'avoir 10 ans de retard en développement et en génie logiciel, ce n'est pas pour rien...

    Citation Envoyé par Mac LAK
    C++ n'est pas le seul langage à permettre ce genre de chose (cf. Ada et ses packages par exemple).
    Ada ne permet pas du tout de faire ce genre de choses (des DSELs).

    C++ commence bas niveau, et te permet de construire l'échauffage que tu veux pour monter aussi haut-niveau que tu veux et de la manière que tu veux.
    C'est simple : aucun autre langage ne permet ça. Les seuls langages qui ont des fonctionnalités vaguement comparables commencent haut niveau, et ne permettent pas de redescendre, cassant toute l'utilité du truc.

    La réutilisation de code, au delà du copier coller
    La programmation à base de copier/coller, franchement, je crois qu'on fait difficilement pire.

  19. #639
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Citation Envoyé par loufoque Voir le message
    C'est simple : aucun autre langage ne permet ça. Les seuls langages qui ont des fonctionnalités vaguement comparables commencent haut niveau, et ne permettent pas de redescendre, cassant toute l'utilité du truc.
    Aucun (ou peu de ?) langage ne se base sur la syntaxe uniquement, mais tu peux voir de très beaux DSELs en Haskell aussi par exemple (et le fait de pouvoir définir des opérateurs totalement nouveaux, avec une précédence sur mesure, c'est top).

    Mais je suis d'accord que les DSELs en C++ ça peut se faire assez bien. Ce n'est pas à la portée du débutant, mais de toute manière, comme on le dit depuis le début, si le développeur ne veut pas faire l'effort de se mettre à niveau, qu'il laisse tomber. Ce n'est pas avec ce genre de mentalité qu'on avance.

  20. #640
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    C'est simple : aucun autre langage ne permet ça. Les seuls langages qui ont des fonctionnalités vaguement comparables commencent haut niveau, et ne permettent pas de redescendre, cassant toute l'utilité du truc.
    Je crois que D permet ça aussi. Ada permet de descendre très bas niveau aussi, mais ne permet effectivement pas la métaprogrammation.

    Après, ça reste des choses très complexes à maîtriser. Dans la plupart des cas, les templates, c'est vu comme un truc qui sort des messages d'erreur horribles (et difficile de donner tort aux gens qui disent ça, tant que tu n'as pas appris à les lire, ils sont horribles).

Discussions similaires

  1. Pourquoi mon image ne s'affiche plus
    Par Gouyon dans le forum 2D
    Réponses: 5
    Dernier message: 18/03/2011, 14h51
  2. Réponses: 6
    Dernier message: 27/12/2010, 16h40
  3. Réponses: 10
    Dernier message: 22/12/2009, 20h58
  4. Réponses: 6
    Dernier message: 26/06/2006, 16h52
  5. Pourquoi n'y a-t-il plus de "délestage" massif sur le forum ?
    Par Eusebius dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 7
    Dernier message: 26/05/2006, 00h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo