Partage
  • Partager sur Facebook
  • Partager sur Twitter

Le C++ ? Question

    17 novembre 2017 à 2:42:20

    Bonjour,

    J'aimerais savoir pourquoi le C++ est si utiliser dans le tout les grand programmes. J'aimerais donc refaire totalement mon application a la base en VB.NET en C++. En VB.NET j'avais personnaliser le formulaire et des contrôles mais en C++ après plusieurs recherche sur le Web je ne trouve rien ce qui me déçoit mais je me demande comment le gros programme font t-ils pour avoir des contrôles modifier genre Skype ou autres. Aussi en C++ pour faire une application avec je ne trouve pas comment j'ai essayer projet Win32 mais y'a pas la possibilité de créer un Form. Merci de votre aide

    • Partager sur Facebook
    • Partager sur Twitter
      17 novembre 2017 à 8:09:18

      Salut,

      Si ton but est de faire des formulaires et tout ça, VB.NET peut être très bien !

      En C++, on peut faire tout ça avec Qt par exemple. 

      Mais le C++ est très utilisé car c'est une bête de puissance, contrairement au VB qui est lent. Il est lent, mais pour beaucoup d'applications tu n'as finalement pas besoin que ça aille si vite que ça !

      Toutes ces applications qui attendent juste que tu cliques sur une icone ou un menu et ne font pas beaucoup de calculs, bah, VB ça va bien.

      • Partager sur Facebook
      • Partager sur Twitter

      Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

        17 novembre 2017 à 8:12:09

        A mon avis, tu ferais mieux de préférer C# à C++ dans l'environnement .net.

        VB .net et C# sont cousins très proches et la transition ne devrait pas être compliquée.

        Après, si tu veux toujours rester en C++, tu peux utiliser les WinForm, dans un environnement .net, mais dans ce cas ce sera du C++ managé, donc pas du pur C++.

        • Partager sur Facebook
        • Partager sur Twitter
          17 novembre 2017 à 20:28:21

          Je veux créer un système de Chat pour mes potes et moi dont tout est privé. Donc je ne sais pas quelle langage utiliser. J'ai commencer en Vb.Net car c'était un langage qui paraissait simple et c'était la toute première fois que je codais.
          • Partager sur Facebook
          • Partager sur Twitter
            18 novembre 2017 à 10:04:49

            Salut,

            C++ est un langage très puissant et très "libertaire".  Mais c'est aussi un langage bien plus complexe que les autres, ne serait-ce que à cause des libertés qu'il offre.

            C'est aussi un langage dont la bibliothèque standard (comprends: les fonctionnalités auxquelles tu as accès "à la base", sans rajouter de bibliothèques externes) sont particulièrement limitées par rapport à d'autres.  Java et .Net, par exemple, fournissent à la base "tout ce qu'il faut" pour pouvoir travailler en réseau ou pour créer une IHM (Interface Homme Machine ou interface graphique), alors que l'on devra se tourner vers l'une des nombreuses bibliothèques externes qui permettent de le faire en C++.

            Tu t'es habitué avec un langage "simple" qui ne convient, de toutes évidences, plus au type d'applications que tu voudrais développer.  C'est dommage, mais ca fait partie de l'évolution personnelle.

            Tu as donc deux grosses solutions:  Soit, tu te tourne vers des langages comme java ou comme C# (avec une préférence marquée pour le deuxième, vu que tu es habitué à VB), dont la philosophie est fort proche de VB.net, et qui ne te "dépayseront" pas trop pour la transition, soit tu change complétement ton fusil d'épaule, et tu te tournes vers C++, qui te laissera énormément de libertés, et donc de possibilités de faire des erreurs.

            Le choix t'appartient, bien sur, même si tu dois bien te dire que, sur un forum dédié au C++, on sera sans doute tentés de te conseiller ce dernier :p .

            Mais tu dois te dire que, de toutes manières, dés le moment où il y a une partie réseau qui rentre en compte, les performances générales seront toujours très grandement influencées par les performances du réseau: il faudra toujours bien attendre que les informations arrivent sur une machine depuis celle à partir de laquelle elles ont été envoyées.

            C++ n'est donc pas le langage indispensable pour créer une application de chat.  D'autant plus que l'utilisation de C++ ira de pair avec l'utilisation de bibliothèques externes qu'il te faudra apprendre à manipuler.  Mais ce n'est pas non plus un langage inutilisable dans ce cas particulier.

            L'énorme avantage de C++, outre le fait qu'il est globalement bien plus efficace que C# ou java, est qu'il laisse une très grande liberté de mouvements, et que pour profiter au maximum de cette liberté de mouvement, il faut savoir exactement ce que l'on fait, pour pouvoir prendre les bonnes décisions au bon moment.

            C# ou java posent pas mal de restrictions qui présentent l'avantage de rendre le langage "plus facile à utiliser correctement", mais qui réduisent la liberté de mouvement en conséquence.

            Dés lors, tu devras faire un choix.  Et ce choix risque d'avoir énormément d'impact sur ton évolution future ;)

            • Partager sur Facebook
            • Partager sur Twitter
            Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
              18 novembre 2017 à 16:23:55

              Choisir le c++, pour faire un programme de chat n'est pas une très bonne idée, car en fin de compte tu n'as pas vraiment besoin de la puissance de c++, mais par contre tu vas en subir la complexité. Le très gros avantage de c++ est qu'il permet de produire un code très optimisé, et qu'il est extrêmement versatile, c'est à dire qu'il offre une gamme très vaste de possibilités, la contre partie, c'est que la performance a un prix, le c++ est un langage difficile à apprendre, et la versatilité en a un également, il faut choisir les bibliothèques que l'ont va utiliser, ce qui suppose pas mal d'apprentissage supplémentaire pour acquérir les philosophies des bibliothèques qu'on envisage d'utiliser. L'expérience montre qu'assez souvent, le jeu n'en vaut pas la chandelle, c'est à dire que le gain en performance sera totalement négligeable. Tu peux planter un clou avec un tournevis, mais un marteau sera plus adapté ;) L'art du programmeur est de choisir le langage qui convient le mieux à ce qu'il veut faire, c++ peut tout faire, mais il n'est pas nécessairement le langage le plus adapté à ce que l'on veut faire.

              Un gars avait pondu un programme en c++ pour faire un truc sur une feuille de tableur, c'était super optimisé, sauf qu'il fallait sauvegarder la feuille, lancer le programme, attendre la fin et recharger la feuille. J'ai remplacé ça par une macro dans le tableur, c'était moins optimisé, mais en fin de compte, l'économie des manipulations à faire faisait que l'utilisation de la macro, en plus d'être largement plus simple, était plus rapide.

              • Partager sur Facebook
              • Partager sur Twitter
              Mettre à jour le MinGW Gcc sur Code::Blocks. Du code qui n'existe pas ne contient pas de bug
                20 novembre 2017 à 18:39:51

                Une dernière chose va influencer mon choix entre C++ et C# et VB.NET. Je voudrais que le tchat soit en Peer To Peer. Je veux donc savoir dans quel langage serait le plus approprié. Le VB.NET et C# me déçoit un peu puisque qu’il peut ètre facilement décompiler tandis que le C++ non. P-S (Mon ordinateur a planté pendant une mise a jour j’ai perdu tout mes logiciel installer mais pas mes donné fichier. )

                -
                Edité par Jnitech 20 novembre 2017 à 18:41:02

                • Partager sur Facebook
                • Partager sur Twitter
                  20 novembre 2017 à 19:02:46

                  Jnitech a écrit:

                   Le VB.NET et C# me déçoit un peu puisque qu’il peut ètre facilement décompiler tandis que le C++ non.


                  Tu peux préciser ta pensée car je ne comprends pas bien ce que tu veux dire.

                  -
                  Edité par zoup 20 novembre 2017 à 19:03:11

                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 novembre 2017 à 19:33:47

                    Par défaut, le code IL (langage intermédiaire) généré par les compilateurs .NET ne sont pas "obfuscaté" donc on peut régénérer un code source approchant juste avec l'IL.

                    Ce qui est bien pratique pour faire du débugging, même dans les classes du framework .NET.

                    Mais bon, le C++ n'a même pas d'obfuscateur par défaut.

                    Un exécutable n'a jamais été un coffre-fort.

                    Si vous comptez sur le format PE ou ELF comme protection contre le reverse-engineering, vous allez avoir pas mal de déconvenues.

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                      22 novembre 2017 à 4:30:19

                      Quand je disais que ces langages me décevais c’était que pour exemple se connecter a une base MYSQL si le nom d’utilisateur et le mot de passe sont clair et net puis que quelqu’un décompile le programme il pourra facilement accèder a la base de donné. C’est donc pour sa que je devais utiliser PHP pour faire requetes a la base MYSQL depuis le programme. J’aimerais savoir si mieux serait de faire mon chat Peer to Peer en C#, VB.NET ou C++. J´aimerais bien savoir comment. Merci de votre aide
                      • Partager sur Facebook
                      • Partager sur Twitter
                        22 novembre 2017 à 4:42:27

                        Bah, si tu mets un mot de passe en dur dans une application C++, tu le retrouvera "tel quel" dans un segment data quelconque...  Un éditeur hexadécimal te permettra de le retrouver "sans trop de difficulté" ;)

                        Si c'est la sécurité de ton système qui t'inquiète, aucun langage ne peut te prémunir contre le fait d'écrire un mot de passe en dur dans le code: un mot de passe sera forcément considéré comme une chaîne de caractères et donc représenté "tel quel" en mémoire !

                        Si tu veux sécuriser les choses, il faut mettre en place des techniques qui rendront plus difficile (à  défaut d'empêcher complètement) le fait d'être en mesure de retrouver le mot de passe.  Et ca, c'est valable pour n'importe quel langage ;)

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
                          22 novembre 2017 à 11:49:06

                          > ces langages me décevais c’était ... base MYSQL si le nom d’utilisateur et le mot de passe sont clair et net

                          Heu, là, c'est un argument des plus foireux.

                          Il est même possible de se connecter en utilisant l'authentification intégrée Windows, donc sans même le login ou le mot de passe dans le code source :

                          https://www.connectionstrings.com/mysql-connector-net-mysqlconnection/use-windows-authentication/

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                            24 novembre 2017 à 17:49:34

                            Si y’a pas besoin de Mot de passe et de not d’utilisateurs tout le monde peuve voir les tables ?
                            • Partager sur Facebook
                            • Partager sur Twitter
                              24 novembre 2017 à 17:59:58

                              >Si y’a pas besoin de Mot de passe et de not d’utilisateurs tout le monde peuve voir les tables ?

                              Bin non.

                              Il n'y a pas de login/mot de passe parce qu'on utilise l'authentification intégrée de Windows, qui utilise un token de sécurité du processus qui certifie l'identité de la personne pour qui tourne le processus.

                              Ce token est hérité du processus parent qui lui-même l'hérite de son parent ..., jusqu'à tomber sur l’aïeul de tous, explorer.exe.

                              Qui lui le récupère du programme de login, qui lui utiliser soit login/password, soit carte à puce, soit une image de la rétine, soit une goutte de sang, ou tout autre connerie que vous voulez pour vous authentifier aux système.

                              • Partager sur Facebook
                              • Partager sur Twitter
                              Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

                              Le C++ ? Question

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown