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 :

debutant besoin de precision


Sujet :

C++

  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 44
    Par défaut debutant besoin de precision
    bonjour,

    Actuellement je m'initie au c++, j'en suis au fondamental du langage, mais en regardant avec plus de légèreté dans la décision du mode de développement a suivre pour Windows, je suis confronté a un petit problème.

    Quel est le meilleur procédé de développement pour Windows?
    Faut -il préféré un développement win32 ou a l'aide du framework .net c++ ?

    Microsoft cite:
    pour l'intro d'un exemple win32

    L'API Win32 (également appelée API Windows) est une infrastructure basée sur le langage C destinée à la création d'applications Windows et qui existe depuis Windows 1.0. Pour obtenir une documentation complète sur cette API.

    Dans cette procédure, nous allons créer une application Win32 simple affichant « Hello, World » dans une fenêtre. Les étapes de la procédure sont identiques pour toutes les applications Win32. Après avoir complété cette procédure, vous pouvez utiliser le code que vous avez créé ici comme squelette pour créer toute autre application Win32.

    pour l'intro d'un exemple framework .net c++

    En développement .NET, une application GUI Windows est appelée application Windows Forms (ou Winforms). Le développement d'un projet Windows Forms en Visual C++ est en général le même qu'avec tout autre langage .NET, tel que Visual Basic ou C#.

    Les applications Windows Forms en Visual C++ utilisent les classes .NET Framework et autres fonctionnalités .NET avec la nouvelle syntaxe Visual C++.
    Pour info je fais mon apprentissage avec visual c++ express et WinGW.

    merci pour vos reponses

  2. #2
    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 : 51
    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
    Par défaut
    Citation Envoyé par backdown Voir le message
    Quel est le meilleur procédé de développement pour Windows?
    Faut -il préféré un développement win32 ou a l'aide du framework .net c++ ?
    Je dirais ni l'un ni l'autre :

    win32 est vraiment bas niveau, et très difficile à utiliser tel quel.
    Le framework .NET est bien mieux, mais il n'est pas vraiment compatible avec le C++ (mais avec un langage nommé C++/CLI, qui peut être intégré plus ou moins bien dans du code C++). Ce qui ajoute toute une couche de complexité.

    Je conseillerais de regarder vers une bibliothèque comme Qt qui permet de faire une IHM multiplateforme (et donc windows) en C++.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 156
    Billets dans le blog
    151
    Par défaut
    Pour le C++ est la WinAPI, n'y a t'il pas une surcouche ( ou wrapper ) appelé MFC ? ( ou un truc du genre ? )
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Si, il y a bien les MFC pour l'aspect IHM.

    Mais d'bord, c'est payant et ensuite, il faut un peu de temps pour maitriser.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    De prime abord, et même si ton but est d'arriver, en définitive, à créer une IHM, je te conseillerais de te "faire la main" sur de "simples" applications consoles...

    En effet, comme les autres l'ont déjà indiqué, ni l'API windows ni les winforms ne sont réellement adaptées à l'apprentissage du langage C++ (et MFC ne vaut guère mieux).

    De plus, lorsque l'on commence tout de suite à jouer avec les IHM (quelle qu'elle soit), on a facilement tendance à "perdre" de vue la séparation nécessaire entre ce que l'on peut appeler "la partie métier" (pour faire simple: toute la mécanique interne) et la partie IHM.

    Tu risques en effet de directement tout mettre dans les différentes classes qui seront créées automatiquement pour l'IHM, avec la fâcheuse conséquence que, si un jour, tu décide de modifier quelque chose, tu te trouveras presque devant la nécessité de "casser" tout ce que tu as fait.

    Par contre, si tu suis le conseil de commencer ton apprentissage par de simples applications consoles, il sera beaucoup plus facile de t'inciter grandement à utiliser ce qui est fournit par le standard, ce qui, en soi, sera déjà un grand pas vers une certaine compatibilité, mais, en plus, tu remarquera qu'il devient finalement "assez simple" de venir "greffer" une IHM (quelque soit la bibliothèque utilisée) sur ton code existant

    Enfin, il faut avouer que, si c'est pour commencer par le fameux "hello world", puis enchainer par une étude de ce que peuvent être les variables, les pointeurs, les fonctions et les références pour terminer avec une présentation des classes et structures, une simple application console est très largement suffisante

    Et, contrairement à ce que l'on pourrait croire, il est tout à fait possible de faire des choses très complexes en mode console
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  6. #6
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 44
    Par défaut
    bonjour,

    Je conseillerais de regarder vers une bibliothèque comme Qt qui permet de faire une IHM multiplateforme (et donc Windows) en C++.
    Pour ma part cela implique un apprentissage supplémentaire, qui va dans le même sens que le framework .net, mais reste un win32 natif

    Pour le C++ est la WinAPI, n'y a t'il pas une surcouche ( ou wrapper ) appelé MFC ? ( ou un truc du genre ? )
    C'est la méthode que je retiens pour le moment au terme de mon apprentissage.

    Par contre, si tu suis le conseil de commencer ton apprentissage par de simples applications consoles, il sera beaucoup plus facile de t'inciter grandement à utiliser ce qui est fournit par le standard, ce qui, en soi, sera déjà un grand pas vers une certaine compatibilité, mais, en plus, tu remarquera qu'il devient finalement "assez simple" de venir "greffer" une IHM (quelque soit la bibliothèque utilisée) sur ton code existant
    Je suis actuellement dans cette partie de l'apprentissage, il faut tout de même avouer que cela est terriblement rébarbatif, et assez peu convencain au terme de la réalisation d'une IHM quel que soit la plateforme choisie.

    De plus pour compliqué le tout il faut ce rendre a l'évidence que l'utilisation de certaines bibliothèques reste mal documentées, voir même totalement absent de documentation (avec pour le moment une recherche légère).

    Dans tout les cas, merci a tous pour vos réponses, un avis extérieur donne toujours un recul supplémentaire quand à la décision finale de l'utilisation.

  7. #7
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Citation Envoyé par backdown Voir le message
    Pour ma part cela implique un apprentissage supplémentaire, qui va dans le même sens que le framework .net
    Si tu ne connais pas le framework .Net, ce n'est pas un apprentissage "supplémentaire" mais un apprentissage "alternatif" à .Net.

    Mais en faisant ce choix, tu te donnes malgré tout l'occasion d'apprendre à faire quelque chose de directement plus portable, sans forcément ajouter de la complexité
    Citation Envoyé par backdown Voir le message
    C'est la méthode que je retiens pour le moment au terme de mon apprentissage.
    Comme il a déjà été dit, MFC n'est pas gratuit et malgré tout "mal foutu"...

    Je ne suis réellement pas convaincu que ce soit le meilleur choix à faire
    Citation Envoyé par backdown Voir le message
    Je suis actuellement dans cette partie de l'apprentissage, il faut tout de même avouer que cela est terriblement rébarbatif, et assez peu convencain au terme de la réalisation d'une IHM quel que soit la plateforme choisie.
    Citation Envoyé par La sagesse poulaire
    Il faut savoir marcher avant de vouloir courrir
    cela peut paraître rébarbatif et peu convaincant, mais il faut voir bien plus loin que cela...

    Si ton objectif est, simplement, d'en apprendre suffisamment pour être en mesure d'arriver à présenter la première version d'un projet que tu as déjà en tête en deux semaines, la solution qui consiste à apprendre directement au travers de la création d'une IHM est en fait une fausse bonne idée:

    En effet, il est tout à fait possible d'apprendre à créer une IHM en deux semaines (même sans y passer huit heures par jour), mais, au final, tu te rendra compte, pas forcément dans cet ordre et sans essayer de mettre une quelconque priorité:
    • Que le moindre changement dans le programme (et tu peux me faire confiance, il y en aura) occasionne le fait de jeter tout l'existante
    • Que tu es loin d'avoir acquis l'ensemble des principes qui seraient de nature à te permettre de "bien" programmer (tous langages confondus)
    • Que tu n'aura appris qu'une partie du langage dans laquelle tu finira par te sentir "étriqué"
    • Si tu t'obstines à vouloir apprendre au travers de .NET ou de MFC, que tu n'aura appris qu'un "pseudo C++", qui est à la fois relativement proche du C++ réel et très éloigné de lui.
    • Que tu n'as, simplement pas pris ton apprentissage par le bon bout
    • Que tu n'as surement pas appris les "règles de l'art" qui concernent n'importe quel langage Orienté Objet

    Tu peux me croire, la manière la plus cohérente d'apprendre un langage est réellement de partir des bases "nues", et d'ajouter la complexité au fur et à mesure.

    Une IHM se trouve déjà dans un niveau d'apprentissage bien plus élevé que celui où tu te trouves actuellement.

    Tout comme Rome ne s'est pas faite en un jour, tout comme il faut de bonne fondations pour pouvoir monter une maison qui résistera au premier coup de vent, il est important d'apprendre les bases et les fondements d'un langage avant de vouloir jouer à créer des cliquodrômes

    De plus pour compliqué le tout il faut ce rendre a l'évidence que l'utilisation de certaines bibliothèques reste mal documentées, voir même totalement absent de documentation (avec pour le moment une recherche légère).
    Concernant Qt, tu as de la chance: La bibliothèque est déjà particulièrement bien documentée, et, de plus, il existe une section entière qui lui est dédiée sur le forum...

    Je peux te rassurer: tu n'auras aucune difficulté ni à obtenir de la documentation en français, ni à obtenir de l'aide rapide et efficace sur se framework
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  8. #8
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 173
    Par défaut
    Bonjour,

    Je suis aussi très débutant en C++.
    Je me posais la même question voici un mois.
    J'ai finalement opté pour Win32 avec DirectX qui gère l'image, le clavier, la souris et le son ...

    Voili

  9. #9
    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
    Par défaut
    Citation Envoyé par mulfycrowh Voir le message
    J'ai finalement opté pour Win32 avec DirectX qui gère l'image, le clavier, la souris et le son ...
    A coeur vaillant rien d'impossible.
    Cependant, débuter le C++, win32 et DirectX en même temps, cela me semble.. disons courageux ou optimiste.
    J'aurais tendance à préconiser un apprentissage en difficulté croissante :
    -> Potasser sur la conception objet
    -> Apprendre à jouer avec le langage (en console)
    -> Ensuite aller sur des frameworks I.H.M. (wxWidgets ou Qt).
    Et à chaque étape, lire des tutos, regarder les F.A.Q et fréquenter les forums.

    Le guide de démarrage en C++ de Alp à potasser avant-tout : Bien débuter en C++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DEBUTANT] Besoin d'un petit coup de main
    Par rantanplan08 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 01/04/2006, 12h09
  2. [Debutant] Besoin d'aide pour modifier un tableau...
    Par CyberTwister dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/03/2006, 14h14
  3. [debutant] Besoin d'aide sur JDBC
    Par oOoOuuhmAn dans le forum JDBC
    Réponses: 2
    Dernier message: 12/02/2006, 19h35
  4. Besoin de précisions les methodes techniques
    Par you98 dans le forum UML
    Réponses: 5
    Dernier message: 15/10/2005, 15h25
  5. besoin de precision sur gluLookAt!
    Par bakonu dans le forum OpenGL
    Réponses: 3
    Dernier message: 25/04/2004, 19h05

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