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 :

[Debat] C++ et IHM


Sujet :

C++

  1. #81
    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
    S'il y a le moindre problème, on a du mal à savoir ce qui s'est mal passé.
    Pourquoi il y aurait un problème ?
    Les macros font derrière appel a connect.
    "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)

  2. #82
    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 : 43
    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
    Le problème, ce n'est pas l'appel à connect, c'est tout ce qui est attenant aux macros, les erreurs qui peuvent en découler, l'obligation d'avoir une macro pour le début de la table, pour la fin et s'il y a le moindre souci, le message d'erreur est incompréhensible.

  3. #83
    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
    Ce que je ne comprend pas , c'est pourqoi il y aurait une erreur.
    Au mieu il ya une erreur dans le type d'argument que la fonction recoit ou plus con on a oublie de définir la fonction.
    Mais en 1.5 and d'utilisation de wx , je n'ai jamais eu de problème de ce coté.
    "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)

  4. #84
    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 : 43
    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
    Il peut y avoir une erruer :
    - s'il y a un type template
    - s'il y a une opération à effectuer sur la variable
    - si on oublie de fermer la table
    - ...

  5. #85
    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
    [QUOTE=Miles]Il peut y avoir une erruer :
    - s'il y a un type template
    On utilse peut/aps de template avec les composant de wx.
    http://www.wxwidgets.org/manuals/sta...html#templates
    Après pour les partie crée de toutes pièces , ca c'est une autre hsitoire.

    Citation Envoyé par Miles
    - s'il y a une opération à effectuer sur la variable
    ?? .On la fait , c'est tout.

    Citation Envoyé par Miles
    - si on oublie de fermer la table
    - ...
    Ca ce voit sans difficulté pour put qu'on indente correctement sa table.
    "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)

  6. #86
    screetch
    Invité(e)
    Par défaut
    c'est hors sujet, mais

    Citation Envoyé par Doc WX
    wxWidgets does not use templates (except for some advanced features that are switched off by default) since it is a notoriously unportable feature.
    c'est quand meme un peu du foutahe de tronche ca. Ca sent la vieille excuse pour dire j'ai pas envie d'en faire.

    GCC (meme la version mingw) et Visual 2003 sont tous les deux assez proche au niveau de la gestion des templates (meme si j'ai note des differences irritantes).

    En code template j'ai souvent atteint les limites de visual C++ 2005 (erreurs de compil alors que ca devrait marcher, etc) mais j'ai toujours trouve un moyen de faire du code compatible gcc/comeau/intel C++/visual C++. Et pourtant mon code templatise est pas trivial.

    Boost fait des trucs bien pire que mes templates et leurs trucs sont portables sur de nombreuses platformes

    Qt a admis avoir fait un preproc parce que a l'epoque de Qt le support des templates etait moisi. Depuis ils en sont revenus.

  7. #87
    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 : 43
    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 Davidbrcz Voir le message
    Il peut y avoir une erruer :
    - s'il y a un type template
    On utilse peut/aps de template avec les composant de wx.
    http://www.wxwidgets.org/manuals/sta...html#templates
    Après pour les partie crée de toutes pièces , ca c'est une autre hsitoire.
    L'explication est vaseuse, sérieusement...
    Et rien n'empêche d'utiliser un widget maison template qui pourra avoir un souci (faut rajouter des parenthèses pour que ça passe)

    Citation Envoyé par Davidbrcz Voir le message
    ?? .On la fait , c'est tout.
    Le truc, c'est que si on passe a+b, on n'est pas sûr du résultat, et je ne parle pas de a++. C'est typiquement pour ce genre d'erreur qu'on déconseille les macros.
    Citation Envoyé par Davidbrcz Voir le message
    Ca ce voit sans difficulté pour put qu'on indente correctement sa table.
    Il aurait été plus facile d'utiliser d'une certaine manière le RAII pour cela, mais bon.

  8. #88
    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 screetch Voir le message
    c'est quand meme un peu du foutahe de tronche ca. Ca sent la vieille excuse pour dire j'ai pas envie d'en faire.

    GCC (meme la version mingw) et Visual 2003 sont tous les deux assez proche au niveau de la gestion des templates (meme si j'ai note des differences irritantes).

    En code template j'ai souvent atteint les limites de visual C++ 2005 (erreurs de compil alors que ca devrait marcher, etc) mais j'ai toujours trouve un moyen de faire du code compatible gcc/comeau/intel C++/visual C++. Et pourtant mon code templatise est pas trivial.

    Boost fait des trucs bien pire que mes templates et leurs trucs sont portables sur de nombreuses platformes

    Qt a admis avoir fait un preproc parce que a l'epoque de Qt le support des templates etait moisi. Depuis ils en sont revenus.
    +1...

    Je me sers souvent des templates (trop ? ) depuis un bon moment, et j'ai du pour des petits projets ou simplement par défi faire en sorte que mon code soit accepté par des compilateurs pas assez à jour sur le sujet.

    La preuve vivante que c'est possible est Boost. ASL et Loki se servent aussi pas mal des templates, et pourtant aucun soucis.

    Et pourtant, comme Qt le montre, le policy-driven development pour des GUI ça se passe très bien, par exemple.

  9. #89
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par screetch Voir le message
    Citation Envoyé par WX Doc
    wxWidgets does not use templates (except for some advanced features that are switched off by default) since it is a notoriously unportable feature.
    c'est quand meme un peu du foutahe de tronche ca. Ca sent la vieille excuse pour dire j'ai pas envie d'en faire.
    Ca sent la decision faite au debut du projet pour des raisons vraies a ce moment-la (1992) et qu'on commence (un peu tard peut etre) a remettre en cause.

    Qt a admis avoir fait un preproc parce que a l'epoque de Qt le support des templates etait moisi. Depuis ils en sont revenus.
    A part que le preprocesseur est toujours necessaire.

    Memes causes, memes effets. On vit avec le passe.

    Comme quelqu'un l'a deja ecrit, gtkmm est plus proche de ce qu'on concevrait maintenant.

  10. #90
    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
    Citation Envoyé par Miles
    L'explication est vaseuse, sérieusement...
    Et rien n'empêche d'utiliser un widget maison template qui pourra avoir un souci (faut rajouter des parenthèses pour que ça passe)
    Oui , mais c'est rare d'avoir besoin de templétiser des widgets de base.

    Citation Envoyé par Miles
    Le truc, c'est que si on passe a+b, on n'est pas sûr du résultat, et je ne parle pas de a++. C'est typiquement pour ce genre d'erreur qu'on déconseille les macros.
    Euh la heule des macros dans les table d'event c'est ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EVT_BUTTON  (BUTTON1,MyFrame::OnButton1)
    Et celle des fonction c'est ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    void MyFrame::OnButton1(wxCommandEvent & event){/*... */}
    [/CODE]
    Il aurait été plus facile d'utiliser d'une certaine manière le RAII pour cela, mais bon.[/QUOTE]
    On peut : Connect dans le constructeur , Disconnect dans le destructeur.

    Edit : je commence a avoir mare de répondre surtout qu'il y personne pour m'aider a argumenter mais plusieurs pour argumenter contre moi .

    Je vais donc tier ma conclusion partielle:

    Pour des applications bureautique 'normale' : wx vaut Qt.
    Pour une utilisation plus poussé : Qt a un avantage car il définit plus de widgets de base et son sytème d'event est dans doute légerement plus modulable.

    En conclusion , je mettrai 4.5/5 a Qt et {3.5|4}/5 a wx (3.5 car certain widgets de Qt sans pas dispo chez wx).
    "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)

  11. #91
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Citation Envoyé par Alp Voir le message
    Et pourtant, comme Qt le montre, le policy-driven development pour des GUI ça se passe très bien, par exemple.
    Cela veut dire quoi policy-driven development ?

  12. #92
    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
    C'est lorsque l'on donne la possibilité de personnaliser le comportement des classes. Ceci est fait grâce aux templates.

    Pour plus d'infos, mon article

  13. #93
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Citation Envoyé par Alp Voir le message
    C'est lorsque l'on donne la possibilité de personnaliser le comportement des classes. Ceci est fait grâce aux templates.

    Pour plus d'infos, mon article
    ok merci.
    Par contre je ne vois pas le rapport avec Qt... tu aurais le nom d'une class Qt pour illustrer cela?

  14. #94
    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
    Si mes souvenirs sont bons, on peut faire cela pour le redimensionnement (comportement lors d'un redimensionnement -> personnalisable), et quelques autres endroits que je ne me rappelle plus.

  15. #95
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Citation Envoyé par Alp Voir le message
    Si mes souvenirs sont bons, on peut faire cela pour le redimensionnement (comportement lors d'un redimensionnement -> personnalisable), et quelques autres endroits que je ne me rappelle plus.
    Le "policy-driven development" c'est sensé être fait avec les paramètres des template non?

  16. #96
    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 : 43
    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
    Pas forcément, on peut aussi faire ça avec un héritage, on palre alors plus de pattern stratégie, mais c'est en gros la même chose.

  17. #97
    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
    C'est la même chose sauf que l'un est déterminé à l'exécution, l'autre à la compilation.

    En combinant les deux, on peut avoir quelque chose de sympa, dont une partie est fait à la compilation, et l'on peut cependant changer le comportement pendant l'exécution.

  18. #98
    Membre émérite
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2004
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Février 2004
    Messages : 644
    Par défaut
    Citation Envoyé par screetch Voir le message
    Je parle de webapp, pas de pages generees par script. Je parle plutot de Tomcat, Cocoon, etc, qui sont des outils Java. Je suis pas a mon aise dans ce sujet mais je sais que les sites Web sont soit scriptes en PHP/ASP/perl/autres, soit sont geres par des machines virtuelles Java qui repondent aux requetes. Mais l'important est que le C++ n'apparait jamais dans cette liste !

    Ah si si, au boulot, j'utilise C++ Builder et Delphi pour écrire une application Web. :-)

    Vive la galère

  19. #99
    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
    C'est parce que tu n'utilises pas les bons outils.
    Au contraire, C++ est bien plus adapté pour faire ce genre de choses que les langages de script populaires.

    En particulier, du côté performance et extensibilité, en C++, les applications web peuvent réellement être écrites de manière asynchrone, sécurisée, et très réactive, en décomposant l'acceptation, le chargement et la gestion des requêtes.
    Bien évidemment ce n'est possible qu'avec FastCGI ou SCGI.

    Voir par exemple Boost.CGI, bibliothèque en cours de développement.

    Il y a aussi simplement des abstractions de haut niveau simples pour créer facilement des "scripts CGI" en C++, et non pas des serveurs complets, come cgicc.

  20. #100
    Membre émérite
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2004
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Février 2004
    Messages : 644
    Par défaut
    tu perds aussi pas mal de temps à recompiler le projet quand tu veux simplement corriger un bug, C++ est p-e bien, mais oublie borland à ce niveau là.

    Je préfère de loin m'amuser à développer en D pour obtenir la même qualité.

    Le problème que j'ai, est que j'utilise de mauvais outils, que mes classes C++ sont partagées avec Delphi, et Java via un binding SWIG.

    D'ailleurs, je me demande si le partage de classes via un connecteur C++->Delphi écrit en C++ est intéressant par rapport à des outils comme COM, & Co.

Discussions similaires

  1. Réponses: 26
    Dernier message: 11/08/2013, 19h27
  2. Débat sur les outils de développement RAD.
    Par PsychicStorm dans le forum Débats sur le développement - Le Best Of
    Réponses: 20
    Dernier message: 20/08/2003, 11h29
  3. [DEBAT] Cadre ou Technicien ?
    Par Maître Kenobi dans le forum Emploi
    Réponses: 50
    Dernier message: 05/06/2003, 23h19
  4. [DEBAT]Différence entre pme et grande entreprise
    Par dante2002 dans le forum Emploi
    Réponses: 6
    Dernier message: 02/06/2003, 17h20
  5. Réponses: 13
    Dernier message: 11/05/2003, 13h25

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