Partage
  • Partager sur Facebook
  • Partager sur Twitter

C, C++, Python

Que choisir ?

Sujet résolu
Anonyme
    5 avril 2017 à 21:21:11

    Bonjour,

    Je suis en classe de première S S.I. et je voudrais apprendre, pas seulement des langages informatiques mais aussi pleins d'autres choses (le réseau, l'intelligeance artificiel ect).

    Je suis quelqu'un qui n'a pas de centre d'interret un peu comme internet, je suis maillé ...

    Vous l'avez bien compris je veux tout et tout faire ... Un peut pathetic ;(

    Après une brève explication de mon cas je suis aujourd'hui dans un dilème : C, C++ ou Python ?

    Pour préciser je suis débutant et je n'ai presque aucune connaissances mais je me refuse de prendre la vois de la simplicité en apprenent le python. Bien sur j'ai fais des tonnes de recherches avant de venir a vous et je connais donc les avantages de ces trois langages.

    Vous me direz, si tu veux pas aller dans la facilité n'apprend pas le python et OP! le dilème se simplifie entre C et C++. Certe, malgrès cela je prend en compte le coté très attractif du python, qui est le traitement très évolué des string ainsi que la rapidité a programmer qui est selon moi aussez importante.

    Je vous vois venir en me questionnent sur quel sont mais projets afin de déterminer quel langage est le plus adapter. Je vous répond alors que ce qui m'interresse ce sont les programmes de calcules principalement ( chiffrage, décryptage, analyses de textes, d'algorithmes, sécurité, cracké des sécurité), donc bien évidament les statistiques (ce qui est totalement primordiale pour cracké des messages crypté). Me prenez pas pour un fout, chacun son délire :)

    Donc voila j'espère que vous comprenez mon problème et pourrez m'aidé a résoudre ce casse tête qui me fais stagner. Merci.

    -
    Edité par Anonyme 5 avril 2017 à 21:48:31

    • Partager sur Facebook
    • Partager sur Twitter
      5 avril 2017 à 22:37:48

      Si tu veux apprendre à gérer la mémoire, le C

      Si tu veux apprendre à faire de beaux objets, le C++ (attention, si tu as appris le C, tu vas devoir l'oublier entre temps)

      Si tu veux apprendre à faire de beau algo sans prise de tête, Python

      Ensuite, en milieu professionnel, je pense qu'il sera plus facile de partir sur Python, mais bon tu n'y est pas encore. ;) 

      Evidement j'ai simplifié le problème au maximum, mais tu vois l'idée de chaque langage :p

      -
      Edité par necros211 5 avril 2017 à 22:38:22

      • Partager sur Facebook
      • Partager sur Twitter

      Architecte logiciel - Software craftsmanship convaincu.

        5 avril 2017 à 22:39:07

        Bonjour,

        Le problème qui se pose a toi est le même que pour des millions d'autres avant toi ;).

        Après, chacun va prêcher pour son école. Cependant en tant que fan du C++ mais en ayant pratiqué les 3 langages je te propose ceci :

        Tant que tu veux faire des trucs haut niveau (crypto, stat, IA, ...) et que tu ne veux pas t'embêter avec des trucs bas niveau (gestion mémoire, découpage de string a la main, ...) je te déconseille le C. Le jour où tu voudra mettre les mains dans le cambouis tu pourra le regarder.

        Le choix se porte donc entre C++ et Python.

        Ici la réponse est moins tranché. Le python malgré sont air simple peut amener a des solution complexes et intéressantes. Le C++ va également te ramener sur des choses plus bas niveau, cependant il y a suffisamment de librairie pour manipuler "facilement" (tout reste relatif) tes données en ayant un contrôle plus important dessus.

        En résume, d'un point de vue objectif je dirai Python, cependant j'utiliserai personnellement et je te conseille en tant que fan le C++.

        En espérant t'avoir aidé

        A la prochaine

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          6 avril 2017 à 21:20:05

          Merci pour vos réponses, mais malgrès cela le choix est dure ;(

          Je voudrais aussi savoir si du python peut faire des calcules complexes aussi vite que le C++ . Je parle ici de faire des calcules plusieurs millions de fois avec des clé différentes (décryptage par la force) en quelques secondes. Je précise que je parle de python 2.7 qui est estimé 10 fois plus rapide que le python 3 qui reste a améliorer, j'ai lu qu'ils avaient une vitesse comparable le python 2.7 et le C++. Cela est il vraie ?

          PapyRedstone, tu conseil donc "objectivement" le python mais tu ne précise pas ce qui te fais allé dans ce sans. Tu spécifie juste que le python ne donne pas un controle aussi important sur les données. Pourrais tu préciser ?

          Quel est le langage avec le plus d'avenir ? Je voudrais évité de perdre mon temps sur un langage qui sera abandonné le jour ou je rentrerais en entreprise. Personnelement je pense que le python étant plus jeune mais aussi un langage de plus haut niveau est plus interressent pour écrire des codes qui seront encore plus long avec le temps. Cependant la version 3 n'ait pas très satisfaisante.

          Merci :)

          -
          Edité par Anonyme 6 avril 2017 à 21:21:26

          • Partager sur Facebook
          • Partager sur Twitter
            6 avril 2017 à 22:00:25

            sans aucune valeur a l'appui je dirai que le c++ est plus rapide pour une simple raison: c'est un langage compilé contrairement au python

            je ne vais pas dans ce sens car je prefere le c++ tout simplement.

            le c++ est plus proche de la memoire et on peut gerer a la main quel taille est alloue pour tel variable et ajuster au mieux la memoire. dans le python c'est l'interpreteur qui gere ca donc c'est moins precis.

            question avenir je dirait qu'il sont egaux et a la limite ce n'est pas important. les deux ont un passé correct et un avenir. les deux sont utilisés. cette question est donc a mon sens peu utile

            cependant tu as raison sur u point : tu aura beaucoup moins de code a ecrire en python.

            maintenant pour choisir ton langage je dirai que si tu prefere la facilite d'ecriture alors choisit le python. aprés si tu n'as pas peur de faire des choses plus précises mais plus "difficile" a gerer alors oriente toi vers le c++

            • Partager sur Facebook
            • Partager sur Twitter
              7 avril 2017 à 9:57:32

              Dintoxe a écrit:

              Je voudrais aussi savoir si du python peut faire des calcules complexes aussi vite que le C++ . Je parle ici de faire des calcules plusieurs millions de fois avec des clé différentes (décryptage par la force) en quelques secondes. Je précise que je parle de python 2.7 qui est estimé 10 fois plus rapide que le python 3 qui reste a améliorer, j'ai lu qu'ils avaient une vitesse comparable le python 2.7 et le C++. Cela est il vraie ?

              Quelle que soit la version, Python n'est pas fait pour les performances. Et même si Python 3 souffrait de quelques pertes de performance par rapport à Python 2 à sa sortie, ça a été pas mal corrigé dans les dernières versions, et il n'y a pas de facteur 10 entre les deux.

              Python 3 est l'évolution de Python 2, c'est Python 2 qui était à améliorer.

              Ce que tu peux faire, c'est coupler Python avec du C (ou du C++), de façon à bénéficier des avantages du Python, tout en ayant une solution de secours pour les points critiques sur les performances.

              Dintoxe a écrit:

              Cependant la version 3 n'ait pas très satisfaisante.

              Si, et bien plus que la 2.

              • Partager sur Facebook
              • Partager sur Twitter
                7 avril 2017 à 10:50:37

                Petit grain de sel personnel :

                Vu ton niveau dans ces langages (ce n'est pas une critique, il faut bien commencer a apprendre un jour :) ) le gain de performances que peut t'apporter C++ par rapport a Python est négligeable (il serait même potentiellement moins efficace de faire du C++). Et une fois que tu aura le niveau pour que cette différence s'estompe que tu ai commence par python ou C++ n7apporteras je pense pas grand chose.

                • Partager sur Facebook
                • Partager sur Twitter
                  7 avril 2017 à 12:48:32

                  Dintoxe a écrit:

                  Je voudrais évité de perdre mon temps sur un langage qui sera abandonné le jour ou je rentrerais en entreprise.

                  Si tu veux pas perdre ton temps, fais pas ce genre de topic :D

                  Apprendre à programmer est difficile, même avec un langage réputé simple comme Python. La plus grosse perte de temps, c'est de chercher le langage parfait au lieu de commencer maintenant. Le langage parfait n'existe pas.

                  Perso je recommande Python parce que très polyvalent, avec les tutos d'OC ou celui-ci qui a bonne réputation : https://inforef.be/swi/python.htm

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Blond, bouclé, toujours le sourire aux lèvres...

                  Anonyme
                    7 avril 2017 à 19:40:20

                    Merci pour vos réponses :)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      9 avril 2017 à 13:10:10

                      Et java ? Vous en pensez quoi ? (je penseque je vais commencer pas python du coup mddr mais je ne sais pas si le java est interressant.) Merci !
                      • Partager sur Facebook
                      • Partager sur Twitter
                        9 avril 2017 à 15:39:58

                        Pas très plaisant à utiliser je trouve, très verbeux et rigide.

                        Tout le contraire de ce que j'aime dans un langage de programmation.

                        -
                        Edité par LoupSolitaire 9 avril 2017 à 15:40:23

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Blond, bouclé, toujours le sourire aux lèvres...

                        Anonyme
                          9 avril 2017 à 18:42:45

                          Je vois que ce sujet est encore actif, ce qui n'est pas si mal pour ceux qui étaient comme moi et ne savaient pas quel langage choisir en fonction de leur besoins.

                          Pour clarifier les choses et ajouter mon avis maintenent que je sais moyennement programmé en C++ et en python :

                          Donc le C++ est largement plus complexe que le python, les variables sont plus nombreuses, si on veut avoir accé facilement a certaines choses que le python propose déjà on va devoir faire appel a une bibliotèque. Pour donné un exemple les string ne sont pas des variables en c++ et l'on doit donc faire appel a des modules qui traite ces types de "variables". En python les string sont considéré comme des variables car python a déjà ça bibliotéque intégré donc pas besoin d'en faire appel a une autre. Bon, donc le C++ est plus long a rédiger, des modules a appeler, l'on a un véritable accé a la mémoire de l'ordinateur et donc pour optimiser. Je me suis rendu compte qu'avec une fonction de 21 lignes en python elle fesait 35 lignes en C++. Le gros avantage du c++ c'est qu'il peut étre compilé facilement contrairement au python, c'est a dire le convertir en un executable qui sera indépendant.

                          Pour ce qui est du Python, c'est un langage facile qui a un fort avantage qui est le fait qu'il soit orienté objet. Avantage pour tout ceux comme moi qui veulent traiter des informations et des string. Quand je parle d'information on a accé a beaucoup plus de choses qui vont nous permettres de faire ce qu'on veut de notre programme. Les langages orienté objets sont très interressent et offrent enormement d'avantage de toute sorte. Le gros soucis en Python c'est qu'il est plus compliquer de compiler notre programme et certaines fois il y a des soucis de compatibilité lors du processus. De plus pour un programme écrit en python, python doit etre installé sur le pc (si il est pas compilé).

                          Actuellement je continue mon apprentissage sur le C++ mais je regrette python qui est largement plus efficasse pour ce qui est de mes projets, surtout pour le fait qu'il est un gros avantage dans le traitement de string.

                          • Partager sur Facebook
                          • Partager sur Twitter
                            9 avril 2017 à 19:13:41

                            Et bien je vais appndre le c++ (des que j'ai fini d'apprendre les langages par lesquels j'ai commencés) merci de vos réponses e bonne soirée !
                            • Partager sur Facebook
                            • Partager sur Twitter
                              9 avril 2017 à 19:18:39

                              Dintoxe a écrit:

                              Donc le C++ est largement plus complexe que le python, les variables sont plus nombreuses, si on veut avoir accé facilement a certaines choses que le python propose déjà on va devoir faire appel a une bibliotèque. Pour donné un exemple les string ne sont pas des variables en c++ et l'on doit donc faire appel a des modules qui traite ces types de "variables". En python les string sont considéré comme des variables car python a déjà ça bibliotéque intégré donc pas besoin d'en faire appel a une autre. Bon, donc le C++ est plus long a rédiger, des modules a appeler, l'on a un véritable accé a la mémoire de l'ordinateur et donc pour optimiser. Je me suis rendu compte qu'avec une fonction de 21 lignes en python elle fesait 35 lignes en C++. Le gros avantage du c++ c'est qu'il peut étre compilé facilement contrairement au python, c'est a dire le convertir en un executable qui sera indépendant.

                              J'ai rien compris, ça doit être génial mais j'ai rien compris.

                              • Partager sur Facebook
                              • Partager sur Twitter
                                9 avril 2017 à 19:51:38

                                Comment as-tu pu, du 5 avril au 9 avril, te faire un tel avis sur ces deux langages ? En quatre jours, tu n’as pas pu apprendre suffisamment de choses pour les comparer de manière non superficielle. L’orienté objet n’est pas plus un avantage que ça.

                                PS : Et puisque ça n’a pas encore été dit ici et que tu l’as peut-être suivi, le tutoriel C++ d’OC est déconseillé. Tu trouveras plus d’infos à ce propos en te baladant sur le forum C++. Généralement on conseille de suivre le cours de @gbdivers.

                                • Partager sur Facebook
                                • Partager sur Twitter
                                Tutoriel Ruby - Bon tutoriel C - Tutoriel SDL 2 - Python avancé - Faîtes un zeste, devenez des zesteurs
                                  9 avril 2017 à 20:08:00

                                  Dintoxe a écrit:

                                  Pour clarifier les choses et ajouter mon avis maintenent que je sais moyennement programmé en C++ et en python :

                                  [...]

                                  Par curiosité, ça fait combien de temps que tu programmes ?
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Blond, bouclé, toujours le sourire aux lèvres...

                                    10 avril 2017 à 10:08:19

                                    Dintoxe a écrit:

                                    (1) Je me suis rendu compte qu'avec une fonction de 21 lignes en python elle fesait 35 lignes en C++.

                                    (2) [...] Actuellement je continue mon apprentissage sur le C++

                                    (1) La plupart du temps c'est vrai, mais avec du code de débutant, je ne serai pas surpris que l'on puisse l'écrire en 21 lignes aussi en C++.

                                    (2) Si c'est avec le cours d'OC, épargnes toi une perte de temps : prends un cours correct avant d'avoir appris tout un tas de conneries que tu vas devoir désapprendre.

                                    Dintoxe a écrit:

                                    Les langages orienté objets sont très interressent et offrent enormement d'avantage de toute sorte.

                                    Non. L'objet c'est un paradigme comme un autre qui est parfois adapté, et parfois non.

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

                                    Anonyme
                                      10 avril 2017 à 16:42:09

                                      yo@n97one a écrit:

                                      Comment as-tu pu, du 5 avril au 9 avril, te faire un tel avis sur ces deux langages ? En quatre jours, tu n’as pas pu apprendre suffisamment de choses pour les comparer de manière non superficielle. L’orienté objet n’est pas plus un avantage que ça.

                                      ------------------------------------------------------------------------------------------------------------------

                                      Dsl je sais pas comment sortir de cet petite citation.

                                      ------------------------------------------------------------------------------------------------------------------

                                      C'est vraie que vue comme ça c'est bizard, pour avoir les avis les plus intégres possibles j'ai omis de précisé que j'avais déjà bien entammé le Python et commancé le C++. Vu que actuellement je suis en vacance et que de base j'apprend vite en 4 jours j'ai pu avancer sur le C++.

                                      Parcontre je n'étais pas au courant que le cour sur openclassrooms du c++ était déconseillé. Je voudrais bien que l'on m'en dise un peu plus sur cela.

                                      Bien sur l'avis que j'ai émis n'est pas celui d'un aguérie mais d'un étudient, donc il peut y avoir des erreurs. C'étais juste pour exprimer mon avis et continuer le débat.

                                      "Qui procède de l'erreur à la vérité, est un sage ; qui reste dans l'erreur, est un fou."





                                      -
                                      Edité par Anonyme 10 avril 2017 à 16:44:58

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        10 avril 2017 à 16:49:25

                                        Dintoxe a écrit:

                                        Parcontre je n'étais pas au courant que le cour sur openclassrooms du c++ était déconseillé. Je voudrais bien que l'on m'en dise un peu plus sur cela.

                                        http://informaticienzero.com/c-avec-openclassrooms-ou-comment-perdre-son-temps/

                                        L'essentiel y est.

                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

                                        Anonyme
                                          10 avril 2017 à 17:50:32

                                          C'est aussi valable pour ce cour ? Car je l'ai un peu parcouru et je le trouve plutot bien expliqué et la rédaction est simpa. J'ai bu lu ton lien mais je crois qu'il visait précisément un certain cour non ?

                                          -
                                          Edité par Anonyme 10 avril 2017 à 17:52:04

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            10 avril 2017 à 18:04:06

                                            Ben oui, il vise très précisément celui que tu as mis en lien. Ce tutoriel est de la pire des sortes : il est très pédagogique mais apprends n'importe quoi. Bref, on apprend parfaitement à faire des conneries.

                                            • Partager sur Facebook
                                            • Partager sur Twitter

                                            Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

                                            Anonyme
                                              10 avril 2017 à 18:35:20

                                              Ah d'accord, je pensais qu'il n'y avait pas de soucis vu que un des auteur est le co fondateur d'openclassroom et se désigne comme "auteur a plein temps". Personnelement j'avais pas le sentiment que le cour était mal structuré mais plutot que le cour était bien préparé et qu'il y avait un avancement structuré et rationnel.

                                              Prennent en compte le liens que tu as publier et les remarques sur ce cour je vais donc passé sur celui "conseillé".

                                              Merci pour tes commentaires.

                                              PS: Toutes les cours de mateo21 sont il donc a "fuir" ? Pourquoi ce cour est il encore en ligne s'il est réelement reconnue comme tel ?

                                              -
                                              Edité par Anonyme 10 avril 2017 à 18:43:26

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                10 avril 2017 à 19:15:31

                                                Dintoxe a écrit:

                                                PS: Toutes les cours de mateo21 sont il donc a "fuir" ? Pourquoi ce cour est il encore en ligne s'il est réelement reconnue comme tel ?

                                                Je n'en sais rien. Je sais que celui de C++ est à fuir. Monter une entreprise ne signifie pas être un bon dév C++. Quant à "pourquoi est lire encore en ligne ?", as tu déjà essayé de vendre un livre dont le cours en ligne a été supprimé parce qu'obsolète et mal foutu ?

                                                • Partager sur Facebook
                                                • Partager sur Twitter

                                                Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

                                                  10 avril 2017 à 19:30:18

                                                  PS: Toutes les cours de mateo21 sont il donc a "fuir" ? Pourquoi ce cour est il encore en ligne s'il est réelement reconnue comme tel ?

                                                  Le cours C est plus correct mais contient malgré tout quelques erreurs et la partie SDL (celle qui intéresse généralement le plus les débutants) est assez bof niveau conception en plus de traiter de la version 1.2 de la SDL alors que la version 2 est sortie depuis plus de 3 ans.

                                                  EDIT : de toutes les façons, peu importe le cours (en ligne ou livre), il vaut mieux demander des avis pour savoir s’il est bon ou pas.

                                                  -
                                                  Edité par yo@n97one 10 avril 2017 à 19:34:01

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                  Tutoriel Ruby - Bon tutoriel C - Tutoriel SDL 2 - Python avancé - Faîtes un zeste, devenez des zesteurs
                                                  Anonyme
                                                    10 avril 2017 à 20:46:19

                                                    Ducoup pendant que vous etes la, quel livre ou cour proposerez vous pour apprendre le c++ du niveau debutant à avancé.

                                                    Merci.

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      10 avril 2017 à 20:54:22

                                                      C++ Primer 5th edition de S.Lippmann (en anglais). Il n'existe pas de livre en français correct et à jour actuellement. Si tu veux un cours en français le cours de C++ de @gbdivers est en cours d'écriture mais il n'apprend pas de conneries. Finalement, n'hésite pas à passer sur la partie C++ du forum, on est des tyrans pour corriger les codes et la conception, tu vas en avoir marre de nous mais tu finiras par savoir faire du C++.

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter

                                                      Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

                                                      Anonyme
                                                        11 avril 2017 à 12:57:19

                                                        Il y a plusieurs editions avec une grande variété de prix. 6éme et 5éme edition, elles ont une différence de 500 pages. La dernière n'est elle pas mieux ?

                                                        -
                                                        Edité par Anonyme 11 avril 2017 à 13:06:05

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          11 avril 2017 à 15:33:12

                                                          Il y a plusieurs editions avec une grande variété de prix. 6éme et 5éme edition, elles ont une différence de 500 pages. La dernière n'est elle pas mieux ?

                                                          Il y a le C++ Primer d’un côté (celui qui est en édition 5), et le C++ Primer Plus de l’autre (celui qui est en édition 6). Les deux livres ne sont pas à confondre et C++ Primer Plus est déconseillé. C’est bien la cinquième édition de C++ Primer de Lippmann que tu dois acheter.

                                                          -
                                                          Edité par yo@n97one 11 avril 2017 à 15:34:00

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                          Tutoriel Ruby - Bon tutoriel C - Tutoriel SDL 2 - Python avancé - Faîtes un zeste, devenez des zesteurs
                                                          Anonyme

                                                          C, C++, Python

                                                          × 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