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. #61
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    949
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 949
    Points : 1 857
    Points
    1 857
    Par défaut
    Tous ces arguments sont valables.

    Et pourtant on fait le même travail plus rapidement en Java.

  2. #62
    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
    C'est sûr, c'est tellement mécanique et bête à faire que ça en devient un peu chiant à faire à la main.

    Mais c'est typiquement le genre de truc où l'éditeur de texte ou l'EDI devrait ou devrait pouvoir proposer automatiquement (et Visual C++ le fait automatiquement, je crois, mais avec un #pragma once au lieu de faire des #define).

    Je pense que ça doit pas être compliqué à faire sous emacs ou vi, avec des macros.

  3. #63
    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 BugFactory
    Tous ces arguments sont valables.

    Et pourtant on fait le même travail plus rapidement en Java.
    Si c'est le plus gros reproche que tu as a faire au C++, tu ne le connais pas assez.
    Si c'est un facteur important dans ta productivite, c'est que tu ne maitrises pas assez les outils autour.

    Personnellement, je ne connais certainement pas assez Java pour en parler d'autorite, mais un probleme classique avec la confusion(*) de l'interface (je sais, il y a une notion d'interface en Java, j'utilise le terme dans un sens moins formel) et de l'implementation, c'est la difficulte a separer le travail -- a utiliser une interface non encore implementee, a garantir que l'interface ne change pas sans revue plus contraignante que pour les changements d'implementations, etc.

    (*) Confusion et unification designent essentiellement la meme chose, simplement la desirabilite differe.

  4. #64
    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 HanLee
    (et Visual C++ le fait automatiquement, je crois, mais avec un #pragma once au lieu de faire des #define).
    Et comment on compile ailleurs?

  5. #65
    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 Jean-Marc.Bourguet
    Et comment on compile ailleurs?
    Justement c'est le problème. Mais peut-être qu'il y a une option pour modifier ça. Comme tu vois je maitrises pas l'outil non plus .

  6. #66
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 282
    Points : 11 036
    Points
    11 036
    Par défaut
    Dans mes souvenirs, les wizards de VC6 rajoutaient les #ifndef et le #pragma once.
    Pour vi je ne sais, cela risque d'être un peu pénible
    Pour emacs, cela existe
    Pour vim, je maintiens un plugin qui fait ça et bien plus encore.

    Dans tous les cas, il s'agit d'utiliser un outil de qualité professionnelle et d'apprendre à s'en servir pour ce genre de choses.

  7. #67
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    De souvenir le #pragma once n'est qu'une optimisation, pas un remplacement pour les #ifndef. Ca permettrait juste d'éviter que le fichier ne soit lu inutilement (à la recherche du #endif correspondant), ou quelque chose dans ce genre.

  8. #68
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    949
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 949
    Points : 1 857
    Points
    1 857
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    Si c'est le plus gros reproche que tu as a faire au C++, tu ne le connais pas assez.
    Oh que oui.

    Seulement voilà : il faut avoir été débutant avant d'être expert. Un problème qui ne se pose qu'aux débutants n'est pas pour autant négligeable.
    C'est en fait probablement ce qui peut le plus comprommettre l'avenir du C++ : c'est plus facile de former un développeur à Java, donc les entreprises s'orienteront plus facilement vers ce dernier.

    Citation Envoyé par Jean-Marc.Bourguet
    Si c'est un facteur important dans ta productivite, c'est que tu ne maitrises pas assez les outils autour..
    Oui aussi, mais la moindre perte de temps qu'on aurait pu éviter est une perte de temps de trop.

    En effet, Code::Blocks par exemple dispose de wizards qui s'en occupent tout seul la plupart du temps. Mais dès que l'on essaye de faire quelque chose d'un peu compliqué, on peut se retrouver à poster un message sur developpez pour demander de l'aide parce que les wizards sont dépassés (et le développeur aussi). Eclipse fait tout, tout seul, y compris les imports, et sans erreurs.

    Citation Envoyé par HanLee
    Je pense que ça doit pas être compliqué à faire sous emacs ou vi, avec des macros.
    Citation Envoyé par Luc Hermitte
    Pour vim, je maintiens un plugin qui fait ça et bien plus encore.
    Au bout de six mois, je suis censé avoir terminé le développement, pas le commencer . Blague à part, les IDE en Java intègrent ça en natif.

    Citation Envoyé par Jean-Marc.Bourguet
    J'aimerais bien un système où on n'a réellement à déclarer que l'interface (donc rien de ce qui est privé) de manière séparée de l'implémentation.
    C'est le cas en Java. De plus les interfaces fonctionnent de façon simple et élégante (par héritage.) Ca permet aussi de créer plusieurs implémentations d'une interface et préciser laquelle utiliser via un fichier xml sans changer le code (utilisé par exemple par le framework Spring avec l'inversion de contrôle).

    Mais ça fait beaucoup de texte au sujet de l'absence d'une vraie gestion de modules, je propose d'arrêter là. J'ai simplement évoqué ma dernière difficulté en date, je n'avais pas l'intention de faire la publicité de Java qui a ses propres inconvénients.

  9. #69
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Citation Envoyé par BugFactory
    C'est le cas en Java. De plus les interfaces fonctionnent de façon simple et élégante (par héritage.)
    C'est une façon de définir des interfaces, ce n'est pas la seule (par exemple, regarder pimpl), et elle n'est pas sans inconvénients. En particulier elle impose un coût d'héritage (et de passage par pointeurs) qui peut ne pas être souhaitable dans tous les cas.

    Dans un monde idéal, la partie privée d'une classe ne devrait pas faire partie de l'interface de cette classe, et le .h constituerait l'interface publique uniquement.

    Pour les modules, le papier se trouve sur http://www.open-std.org/jtc1/sc22/wg...2006/n1964.pdf mais comme l'a dit Jean-Marc, il ne sera a priori pas accepté dans le standard, pour des raisons de temps, principalement.

  10. #70
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 282
    Points : 11 036
    Points
    11 036
    Par défaut
    Bonsoir,

    Décidément, le blog d'Herb Sutter est riche en infos sur le futur.
    Dernièrement on a eu droit à des liens vers des videos d'exposés "google talk". On y trouve une présentation des nouveautés du C++0x, un exposé sur la "concurrence", un sur les list-initialiser, un sur les concepts, et un sur le multi-threading. (chaque présentation dure environ une heure)

    C'est par là: http://herbsutter.spaces.live.com/bl...51BB!239.entry

  11. #71
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 753
    Points : 10 704
    Points
    10 704
    Billets dans le blog
    3
    Par défaut
    A propos de l'avenir de C++ et de la pertinence de ce langage pour développer des projets, les points de vue de Benoît Schillings et Matthias Ettrich sont intéressants je pense:
    http://qt.developpez.tv/2006-devdays/#benoit-schillings

  12. #72
    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 861
    Points
    11 861
    Par défaut
    Dommage qu'actuellement la programmation générique ne soit pas assez connue.
    J'espère qu'avec l'arrivée des concepts, entre autres, elle sera plus utilisé. Beaucoup (trop) de gens s'arrêtent à l'écriture, qui peut paraître compliquée, des templates.

    J'ai vu aussi qu'au comité on parlait également de quelque chose pouvant faciliter l'utilisation du RAII dans C++0x. Quelqu'un aurait un lien ou un commentaire sur le sujet ?

  13. #73
    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 861
    Points
    11 861
    Par défaut
    Au fait, vous avez essayé ConceptGCC ? Votre opinion sur ce compilateur ?

  14. #74
    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
    Bah c'est GCC 4.3 + des patchs pour les concepts.

  15. #75
    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 861
    Points
    11 861
    Par défaut
    Oui. Je voulais plutôt demander l'avis quand à l'utilisation des concepts avec ce dernier...

  16. #76
    Membre éclairé Avatar de befalimpertinent
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2007
    Messages : 561
    Points : 833
    Points
    833
    Par défaut
    En regardant les nouveautés de la nouvelle norme je vois une réutilisation du mot clé "auto". Très bien il est quasiment pas utilisé.
    Mais je vois aussi l'introduction d'un nouveau mot clé : "where"...

    Et là une question surgit que vont devenir les programmes qui utilisaient ce "where" comme variable ?
    Je sens qu'on va être obliger de # definer tout ça pour que ça reste compilable ? Non ?

  17. #77
    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 861
    Points
    11 861
    Par défaut
    Je pense qu'avec un IDE "normal", il suffit de faire un Rechercher/Remplacer : "where" -> "where_1" par exemple. Cette contrainte est vraiment négligeable par rapport à ce que va faire apporter au programmeur ce nouveau mot clé. D'ailleurs il me semble que maintenant c'est remplacé par requires<>. Mais je ne suis pas sur.

  18. #78
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 753
    Points : 10 704
    Points
    10 704
    Billets dans le blog
    3
    Par défaut
    C'est peut etre un contextual keyword, comme en C++/CLI ou ref n'est pas un keyword, sauf s'il est suivit de class par exemple "ref class", ...

  19. #79
    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
    Il n'y a pas de mot-clé sensible au contexte en C++ ou C++0x.
    Il me semble que le mot-clé n'est cependant pas 'where' mais 'requires'.

  20. #80
    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 861
    Points
    11 861
    Par défaut
    Oui oui, cf mon message du dessus. Ils l'ont remplacé depuis quelques temps. Dans un certain nombre de pdf, on lit requires mais plus where. Ca faisait trop SQL?

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