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

Boost C++ Discussion :

A votre avis, que manque-t-il dans Boost ?


Sujet :

Boost C++

  1. #21
    Membre confirmé

    Inscrit en
    Août 2007
    Messages
    300
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 300
    Points : 527
    Points
    527
    Par défaut
    Plutôt que d'ajouter encore plus de choses à Boost, il vaudrait mieux élaguer, simplifier, éliminer les redondances, documenter correctement et de façon consistante. Je pense que le comité C++ le fait petit à petit, mais très très lentement.

    Je pense aussi qu'il faudrait une documentation pour débutants. Non pas que Boost soit fait pour les débutants, comme dit ci-dessus, mais parce que les débutants ont besoin de ce qu'il y a dans Boost, et que malheureusement ils ont peu d'expérience pour choisir la bonne librairie, pour faire la part des fonctionnalités de base et avancées, ou pire ils sont tentés de réécrire, avec les résultats qu'on imagine (ou bien qu'on se prend en pleine tête quand on détricote un dépôt pourri par le dernier stagiaire).
    "Maybe C++0x will inspire people to write tutorials emphasizing simple use, rather than just papers showing off cleverness." - Bjarne Stroustrup
    "Modern C++11 is not your daddy’s C++" - Herb Sutter

  2. #22
    Membre averti
    Homme Profil pro
    Game Graphics Programmer
    Inscrit en
    Août 2006
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Game Graphics Programmer
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 408
    Points : 392
    Points
    392
    Par défaut
    +1 pour les structures de singleton.
    En fait, je me sers souvent de la lib Loki (d'Andrei Alexescu) qui contient ce genre de chose, donc je n'ai pas de problème, mais ce serait un plus de l'avoir integré à Boost

    Sinon, une lib de lecture XML (SAX) templatée et basée sur base_string<> et les iostream (ainsi que sur Boost.Spirit?) serait bien cool...

  3. #23
    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
    Des libs de Singleton (une) et de Log (deux) ont été proposés au cours de l'année mais n'ont pas été acceptées (pour des raisons détaillées sur le site).
    A priori des versions améliorées sont prévues pour être réentrées.

    Concernant l'elagage et marge de ce qui est redondant, apparamment c'est ce qu'ils sont en train de prévoir par exemple au niveau de PhoenixV3 qui risque de devenir le nouveau Boost Lambda.

    A priori sur la mailing list il y en a qui envisagent de proposer des libs concernant la geometrie, ce qui peut être utile.

    Personellement je regrette juste qu'il n'y ait pas (a ma connaissance) une implémentation bufferisée de boost::signal.
    Sinon pas de doléance particulière pour l'instant.

  4. #24
    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
    Personellement je regrette juste qu'il n'y ait pas (a ma connaissance) une implémentation bufferisée de boost::signal.
    Sinon pas de doléance particulière pour l'instant.
    Fais-la

    Edit : comment ça bufférisée ?

  5. #25
    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
    En gros au lieu que l'envoi du signal provoque immediatement l'appel des listeners, il faudrait attendre qu'une methode soit appelée pour effectuer tous les appels dans l'ordre où sont arrivés les signaux.

    Un systeme d'event classique en somme. Parfois on ne veut pas traiter les signaux immédiatement quand ils sont transmis et du coup boost::signal est pas adequate dans ces cas là.

  6. #26
    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 : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Par exemple si on veut que le signal soit traité dans un deuxième thread, c'est ça ?

  7. #27
    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
    Hmm...oui et non : a priori ça c'est possible avec la nouvelle version qui va être en evaluation bientot (a ce que j'ai lu dans la mailing list). Peut être que ça reviens au même dans l'implementation mais j'en doute.

    En fait l'idée c'est plutot de permettre de temporiser le traitement des signaux parcequ'on doit le faire dans un contexte qui n'est valide immédiatement mais plus tard dans le processus de traitement.
    C'est un cas plutot "rare", je n'ai vu ça que dans des jeux. En fait dés le moment ou on veut se servir d'un system centralisé d'evenements pour "synchroniser" différents systems interdémendants ( par exemple quand on veut faire du MVC bien séparé), on ne peut pas toujours permettre l'execution des callback immédiatement quand le signal est reçu.

    A priori, temporiser le lancement du signal semble equivalent a ce que je dis, du coup une sorte de wrapper marcherait peut être.
    Ca implique potentiellement pas mal de souci, comme par exemple le fait que soit les signaux/events doivent être garantis de toujours être "dispos et valides" lors de leur traitement (bien plus tard que lorsqu'ils sont envoyés), soit être copiables, avec tout ce que ça peut impliquer.

    Ca me fais penser aux versions bufferisés des systems d'input par exemple (DirectInput, OIS, etc) ou la faon de gérer les "messages" (potentiellement constitué de plusieurs paquets) qu'on reçoit de l'exterieur dans un systeme de network : généralement on va avoir un "buffer" qui reçoit au fur et a mesure les messages et ce n'est qu'a un moment précis où on traite ce qu'il y a dans le buffer avant de continuer le traitement.

    J'imagine que c'est la même idée que quand on diffuse le signal a d'autres threads mais je suppose que la version thread_safe de signal va être "optimisée" pour le cas des threads, ce qui ne sera pas forcément suffisamment générique pour le cas ou on veut juste séparer les appels de callback du reste.

    Je sais pas si je suis clair v__v;

    Il se peut qu'il y ait un moyen simple d'utiliser signal de cette façon mais j'ai pour l'instant une solution (rapidement écrite) pour faire ce dont je parle qui est loin d'être idéale mais pour l'instant suffisante.

    edit> Juste pour préciser, j'ai en plus un cas spécial ou les signaux/events peuvent être modifiés/retirés avant l'appel des callbacks. C'est un cas vraiment super spécial et pas courant du tout donc je suppose que c'est normal que ce genre de manipulation n'a pas été prévu dans signal.

  8. #28
    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éjà, la version thread_safe de signal va contenter beaucoup de monde...

    Et ce n'est pas tous les jours (bien que ça arrive de temps en temps je pense) que les gens ont besoin d'une version bufférisée... Mais tu peux toujours soumettre l'idée sur la ML et voir ce que ça donne... ?

    M'enfin, ce qui est attendu pour le moment c'est un système de signal/slot qui puisse se balader de thread en thread.

  9. #29
    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 Klaim Voir le message
    En fait l'idée c'est plutot de permettre de temporiser le traitement des signaux parcequ'on doit le faire dans un contexte qui n'est valide immédiatement mais plus tard dans le processus de traitement.
    C'est un cas plutot "rare", je n'ai vu ça que dans des jeux. En fait dés le moment ou on veut se servir d'un system centralisé d'evenements pour "synchroniser" différents systems interdémendants ( par exemple quand on veut faire du MVC bien séparé), on ne peut pas toujours permettre l'execution des callback immédiatement quand le signal est reçu.

    A priori, temporiser le lancement du signal semble equivalent a ce que je dis, du coup une sorte de wrapper marcherait peut être.
    Ca implique potentiellement pas mal de souci, comme par exemple le fait que soit les signaux/events doivent être garantis de toujours être "dispos et valides" lors de leur traitement (bien plus tard que lorsqu'ils sont envoyés), soit être copiables, avec tout ce que ça peut impliquer.

    [...]

    Je sais pas si je suis clair v__v;
    Ca me fait penser à un truc.
    Je faisais un système multi-agent, une sorte d'expérience d'IA, et chaque agent réagit à des événements.

    Moi aussi je ne voulais pas traiter les événements tout de suite. Je les temporisais.

    En fait, je récupérais tous les événements dans un buffer, et je les traitais un par un, à chaque mise à jour de l'IA (c'est le moment où le 'slot' est exécuté).
    Je mettais à jour l'IA maximum une fois par frame.

    Ca ressemble vachement à ce que tu veux dire, je crois.

  10. #30
    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
    Voilà c'est typique dans ce type de systeme, donc souvent dans les jeux.

    Dans mon cas je dois aussi séparer les events d'input du joueur de leur traitement effectif, parceque le principe du jeu est qu'un module externe peut ajouter un bout de code dans la boucle principale pour "modifier" les traitements, comme par exemple annuler ou inverser les informations d'input du joueur...
    Un cas quasi unique donc.

    Alp> Je me pencherai sur la question plus dans le détail quand je reviendrais sur la réécriture de ma solution actuelle, parceque je vais devoir la réécrire. Mais c'est pas pour immédiatement.

  11. #31
    Invité2
    Invité(e)
    Par défaut
    des nouvelles ?

  12. #32
    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
    Pour la traduction ?

  13. #33
    Invité2
    Invité(e)
    Par défaut
    oui

  14. #34
    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
    Je vais me renseigner.

  15. #35
    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
    Il y a quelques français/francophones sur la mailing list de Boost qui seraient intéressés. J'attends l'approbation des "patrons"

    Par contre, combien de vous seraient intéressés pour s'investir dans un tel projet ?

    Il n'est ici pas question de traduire une page et d'en avoir marre. De plus, il faudra une structure qui permette d'évoluer facilement de version en version.

    Il y a énormément de boulot à prévoir, soyez en conscient. Il faudrait donc des personnes motivées et consciencieuses.

    Qui serait intéressé ?

  16. #36
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    Pour la traduction, je peux mettre la main à la pâte (boost.preprocessor ou boost::optional, ou boost::in place factory ou boost::spirit ou boost::iterator).
    Je maintient et signe!

  17. #37
    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
    Citation Envoyé par Alp Voir le message
    Toutefois, trouvez-vous qu'il manque des choses à Boost ?
    Une lib pour créer et gérer les processus !
    L'API Windows me file des boutons…
    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.

  18. #38
    Invité2
    Invité(e)
    Par défaut
    Où je signe ? donnez moi un stylo

  19. #39
    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 Alp Voir le message
    Il y a quelques français/francophones sur la mailing list de Boost qui seraient intéressés. J'attends l'approbation des "patrons"

    Par contre, combien de vous seraient intéressés pour s'investir dans un tel projet ?

    Il n'est ici pas question de traduire une page et d'en avoir marre. De plus, il faudra une structure qui permette d'évoluer facilement de version en version.

    Il y a énormément de boulot à prévoir, soyez en conscient. Il faudrait donc des personnes motivées et consciencieuses.

    Qui serait intéressé ?
    Hop hop hop.

    En plus, avant de commencer le boulot, il y a un vrai travail d'organisation ingénieresque.

    Boost c'est quand même un truc énorme, alors évidemment, les taches seront partagées par plusieurs personnes.
    Dans Boost, les Concepts sont importants, des techniques purement C++-iennes qui se sont fait baptisées, et il faut notamment prévoir et se mettre d'accord sur un petit lexique sur les termes utilisés, les termes qui seront ou non traduits, afin que ce soit homogène.

    Ensuite, je pense qu'on peut s'attendre à ce que le reste se déroule comme pour la traduction de Thinking in C++.

  20. #40
    Invité2
    Invité(e)
    Par défaut
    Euh, une question devrat-on traduire tel quel, ou peut-on rajouter des choses ?
    Par exemple dans la doc de BOOST.Spirit, les entêtes ne sont précisé que peu de fois, moi je pense que ça serait bien de les préciser au début quand même...

    Il faudrait également définir une convention de mise en forme...

Discussions similaires

  1. Votre avis sur types de video dans mon site
    Par igi10 dans le forum Webdesign & Ergonomie
    Réponses: 7
    Dernier message: 26/09/2007, 14h45
  2. Votre avis m'intéresse - plusieurs agrument dans une URL
    Par pierrot10 dans le forum Langage
    Réponses: 1
    Dernier message: 19/03/2007, 17h56
  3. Réponses: 3
    Dernier message: 28/05/2006, 00h15
  4. [Avis] Que sera java dans le futur ?
    Par Cyborg289 dans le forum Général Java
    Réponses: 19
    Dernier message: 08/10/2005, 14h44
  5. [Votre avis] Que pensez vous d'APSIDE ?
    Par dady dans le forum Etudes
    Réponses: 4
    Dernier message: 03/08/2005, 10h38

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