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

Contribuez C++ Discussion :

L'avenir du C++


Sujet :

Contribuez C++

  1. #201
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par alex_pi Voir le message
    Justement, ce qui serait bien c'est que l'on puisse écrire des fonction à la "remove_if", attendant une fermeture en argument, pas juste les utiliser ! Mais peut être que l'on peu avec auto ? (malheureusement, on ne peut pas tester ;-))
    remove_if n'a rien de magique et on peut l'ecrire en C++. C'est un template et donc on peut deduire le type de ses arguments.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  2. #202
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    Citation Envoyé par alex_pi Voir le message
    Justement, ce qui serait bien c'est que l'on puisse écrire des fonction à la "remove_if", attendant une fermeture en argument, pas juste les utiliser ! Mais peut être que l'on peu avec auto ? (malheureusement, on ne peut pas tester ;-))
    On peut toujours (en manipulant le paramètre comme un objet fonction, d'autant plus que si on passe une closure à une fonction, cette fonction est censée connaître sa forme; le code de remove_if version 98 n'a pas besoin de changer pour supporter les closures) - mais on ne peut pas obtenir beaucoup d'information sur l'objet passé en paramètre.

    Quand à auto, je ne pense pas qu'on puisse spécifier un paramètre de fonction ayant pour type auto. En fait, lorsqu'une variable est déclarée comme étant du type "auto", il faut que cette variable soit initialisée:
    auto i; // invalide: impossible de déterminer le type de i
    auto j = 10.0f; // ok, j est du type float).

    La seule façon autorisée de se servir de auto dans un déclaration est pour remplacer le type de retour de la fonction lorsque ce dernier est déclaré tardivement (c'est à dire lorsqu'on utilise la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    auto func-name(arg-list) -> type-id { ... }
    Il va falloir penser à mettre à jour le parseur C++ de la balise code...

    A noter que le mailing 2008-08 est disponible. Les principales news: les concepts qui sont de plus en plus travaillés et une nouvelle version su draft:N2723.
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  3. #203
    Membre éclairé Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Points : 871
    Points
    871
    Par défaut
    Citation Envoyé par JolyLoic Voir le message
    As-tu lu n1885 et n1886 ?
    Ah oui je me souviens, et ça me donne envie d'essayer d'implémenter ça avec OCaml.

  4. #204
    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
    Points : 4 625
    Points
    4 625
    Par défaut
    Utiliser auto avec les paramètres revient plus ou moins à la même chose que d'utiliser un paramètre template.
    Ensuite si on veut que la surcharge fonctionne, il faut utiliser SFINAE, qui s'utilise d'ailleurs très bien avec auto -> decltype.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    template<typename T>
    auto f(T&& t) -> decltype(t.foo())
    {
        return t.foo();
    }
    N'est visible que pour les types pour lesquels t.foo() est valide grâce à SFINAE.
    Ce qui augmente d'ailleurs l'intérêt d'exprimer tout code sous forme d'expression, car cela permet d'inférer les pré-requis.
    Boost ftw

  5. #205
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    Citation Envoyé par loufoque Voir le message
    Utiliser auto avec les paramètres revient plus ou moins à la même chose que d'utiliser un paramètre template.
    Ensuite si on veut que la surcharge fonctionne, il faut utiliser SFINAE, qui s'utilise d'ailleurs très bien avec auto -> decltype.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    template<typename T>
    auto f(T&& t) -> decltype(t.foo())
    {
        return t.foo();
    }
    N'est visible que pour les types pour lesquels t.foo() est valide grâce à SFINAE.
    Ce qui augmente d'ailleurs l'intérêt d'exprimer tout code sous forme d'expression, car cela permet d'inférer les pré-requis.
    Sérieux, plus j'étudie ce nouveau standard, plus je me dit qu'il va me falloir réapprendre le C++. Comme si je n'avais pas déjà passé des années à apprendre ce langage. Damned.
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  6. #206
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    Moi je me dit que je vais pouvoir alègrement oublier certains détails génant du language.
    Mais je crois que j'ai déjà dit sur ce thread, c'est plus les prochaines générations de débutant qui vont être troublés... va falloir leur faire des historiques avant de commencer a leur faire apprendre le language. Histoire qu'ils voient qu'un language existe dans le temps et n'est pas fixé...et qu'ya des raisons a ça.

  7. #207
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    Le prochain Visual Studio 2010 est disponible en version (plus ou moins) "alpha" et les développeurs ont donné un example d'utilisation des lambda assez clair et pas mal interessant. (Peut être candidat à traduction?)


    Dans tous les cas je suis un peu deçu qu'il n'y ai que 5 features du c++0x d'implémentés dans cette version qui ne devrait être en version finale qu'a la fin de l'année prochaine...

  8. #208
    Membre éclairé
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Points : 858
    Points
    858
    Par défaut
    C'est sûr que si VC++ met autant de temps à implémenter le standard C++0x qu'Internet Explorer pour le HTML/CSS, vous êtes pas sortis de l'auberge, les adeptes de la fenêtre…
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  9. #209
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par Florian Goo Voir le message
    C'est sûr que si VC++ met autant de temps à implémenter le standard C++0x qu'Internet Explorer pour le HTML/CSS, vous êtes pas sortis de l'auberge, les adeptes de la fenêtre…
    gcc est plus avancé?

  10. #210
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    gcc est plus avancé?
    Il y a deja des choses dans des versions releasee, donc oui. Voir http://gcc.gnu.org/projects/cxx0x.html, voir ausi http://www.generic-programming.org/software/ConceptGCC/.

    Quel sera le rapport entre les deux au moment de la sortie de VC 2010, je n'en sais rien.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  11. #211
    Alp
    Alp est déconnecté
    Expert éminent sénior

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    gcc bosse pas mal dessus, ne vous inquiétez pas.

    Les liens de Jean-Marc sont à ma connaissance les 2 plus utilies.

    Ils parlent beaucoup d'arrêter le développement conceptgcc pour ne bosser que sur les prochaines versions de gcc. Mais le code de conceptgcc est ainsi tout frais tout chaud tout prêt pour rentrer dans gcc. Plus d'infos sur la ML de ConceptGCC.

  12. #212
    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
    Points : 4 625
    Points
    4 625
    Par défaut
    Visual C++ 10 est déjà bien avancé dans C++0x a priori...
    Boost ftw

  13. #213
    Alp
    Alp est déconnecté
    Expert éminent sénior

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    J'ai causé hier avec un mec de Microsoft qui touche pas mal à tout ce qui est C++, et effectivement ils ont déjà d'excellentes choses dans VC++ 10 CTP et comptent bien continuer, autrement dit ils ne laissent absolument pas le C++ standard de côté. En fait, ils vont fournir un petit framework pour faire de la parallélisation extrêmement puissante combinée aux lambdas, par exemple.

  14. #214
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    J'imagine qu'ils vont compléter avec un SP comme ils avaient complété la stl avec le TR1 dans le SP1 de VS2008.

  15. #215
    Alp
    Alp est déconnecté
    Expert éminent sénior

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Au passage, VC++ 10 serait ~ prévu pour fin 2009 début 2010. Là on a juste une première technology preview. Par contre, ça risque d'être efficace, accompagné de ce qu'ils vont faire pour la parallélisation.

  16. #216
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    Oui mais d'après les commentaires sur le blog, il a été officiellement décidé que les features c++0x citées seraient les seules fournies pour la release de VC10... même si j'espère qu'ils réviseront ça d'ici là mais j'en doute.

  17. #217
    Alp
    Alp est déconnecté
    Expert éminent sénior

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Citation Envoyé par Klaim Voir le message
    Oui mais d'après les commentaires sur le blog, il a été officiellement décidé que les features c++0x citées seraient les seules fournies pour la release de VC10... même si j'espère qu'ils réviseront ça d'ici là mais j'en doute.
    D'un autre côté, avec le tr1, les lambdas, l'inférence de type, on a déjà des trucs plutôt sympathiques avec VC++ d'emblée, non ?

  18. #218
    Alp
    Alp est déconnecté
    Expert éminent sénior

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Développement Parallèle

    Avec cette nouvelle version, on y retrouvera à la fois un Concurrency Runtime, qui permettra la gestion dynamique de ressources dans un environnement fortement concurrentiel, ainsi que des librairies Parallel Pattern Library (PPL) Agent Library, qui fournissent un ensemble de Primitives (des tâches), d’algorithmes (Parallel_For, Parallel_For_Each, etc..) d’objets de synchronisations (enter_critical, reader_critical, event, etc..) et de structure de données concurrent (concurrent_queue, concurrent_Stack, etc..) qui ont pour but de réduire les concepts du parallélisme, et ainsi favoriser une meilleur adoption.

    En fin Boris, nous a assuré que l’IDE de VC 10 permettrait de déployer plus facilement les applications, et qu’ils avaient bosser de manière drastique sur les performances des gros projets.


    En fin, pour ceux qui pensent que le C++ est mort, Scott Guthrie à encore annoncé aujourd’hui notre intention de continuer à travailler sur Win32 et C++, d’ailleurs les nouveautés dans Windows 7 annoncés à la PDC 2008 le prouvent.

  19. #219
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    Citation Envoyé par Alp Voir le message
    D'un autre côté, avec le tr1, les lambdas, l'inférence de type, on a déjà des trucs plutôt sympathiques avec VC++ d'emblée, non ?
    Oui c'est déjà bien par rapport a il y a plus d'un an

    Sinon c'est clair que les libs de parallélisation vont aider (de loin ont dirait de la simplification/ajout de MPI+OpenMP non? On sait si c'est basé sur ces libs?)

    Pour la distribution par contre est-ce que par hasard tu auras plus d'infos?

  20. #220
    Alp
    Alp est déconnecté
    Expert éminent sénior

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Citation Envoyé par Klaim Voir le message
    Sinon c'est clair que les libs de parallélisation vont aider (de loin ont dirait de la simplification/ajout de MPI+OpenMP non? On sait si c'est basé sur ces libs?)
    Ce sera de l'analogue à ces libs-là, mais fait maison je crois bien. Et il me semble aussi qu'il s'agit d'être MPI/OpenMP-compatible pour des parties "génériques" du framework.

    Citation Envoyé par Klaim Voir le message
    Pour la distribution par contre est-ce que par hasard tu auras plus d'infos?
    Concernant la date de release ?
    Non, c'est tout ce qui a été dit en conférence, pas plus désolé :/

    Pour VC++10, on prépare une surprise

Discussions similaires

  1. [Débat] MERISE versus UML ? Avenir de MERISE ?
    Par Matthieu Brucher dans le forum Méthodes
    Réponses: 51
    Dernier message: 15/02/2022, 17h32
  2. Quel avenir du C++ par rapport au C# ou à Java ?
    Par phpdev dans le forum Débats sur le développement - Le Best Of
    Réponses: 209
    Dernier message: 09/11/2009, 02h25
  3. L'avenir est-il au PHP ?
    Par Manolo dans le forum Langage
    Réponses: 468
    Dernier message: 11/02/2008, 18h54
  4. L'avenir du BDE et des SQL Links révélé ! <officiel>
    Par Merlin dans le forum Bases de données
    Réponses: 12
    Dernier message: 02/06/2006, 10h18
  5. Quel avenir pour les outils de génération de code ?
    Par Bruno75 dans le forum Débats sur le développement - Le Best Of
    Réponses: 5
    Dernier message: 05/11/2003, 18h30

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