Partage
  • Partager sur Facebook
  • Partager sur Twitter

Langage: lequel choisir selon quel projet ?

Sujet résolu
    12 mai 2015 à 0:02:20

    Bonjour/bonsoir à vous.
    Je suis nouveau sur OCR, et ce qui m'a poussé à m'inscrire, en plus des cours proposés, est une question qui trotte dans ma tête depuis un moment.
    J'ai 15 ans et je suis en fin de 2nde (lycée. Depuis le début de l'année j'apprend le langage C grâce à FranceIOI. Il ne s'agit pas d'un apprentissage trop sérieux, plutôt d'un début en programmation.
    Je projète de m'orienter vers une profession liée à la programmation, et là une (ou plutôt deux) question m'intrigue:
    -Quel langage choisir selon tel ou tel "but" ?
    Par exemple quel langage préférer pour faire un jeu vidéo PC, ou lequel pour tel type de logiciel à programmer...
    -Si je devais apprendre un langage, un seul (pour l'instant), qui puisse me servir dans le plus de domaines possibles lequel ce serait ?
    Je ne demande pas quel est le meilleur langage pour débuter, à ce sujet les deux favoris sont Python (plus simple à apprendre grâce à sa syntaxe, polyvalent, presque "magique") et C (langage plus proche de la machine, base). Je demande plutôt, quel serait le meilleur langage "utile pour tout", qui serait un atout une fois maitrisé quelque soit le projet.
    Merci de m'éclairer sur ces questions, et si vous avez des conseils quelconques ou remarques à me donner je suis preneur :)
    • Partager sur Facebook
    • Partager sur Twitter
    ~Speed
      12 mai 2015 à 0:55:32

      Salut,

      Pour le jeu vidéo PC, le langage probablement le plus utilisé est le C++.

      Comme tu as 15, je suppose que tu débutes, donc tu as sûrement meilleur temps de commencer à apprendre le C++ plutôt que le C. Une page qui explique pourquoi. Avec, l'arrivée des nouvelles normes du C++, le langage se simplifie sans cesse, et devient bien plus abordable qu'avant (enfin, c'est que je ressens). Il est assez facile à utiliser pour arriver à des créer des projets simples (il demande en général bien moins de code que du C pour arriver au même résultat), mais il permet aussi de produire des projets très gros. Les frameworks sont nombreux et souvent multi-plateformes. La librarie standard propose de très nombreuses fonctions et services pour traiter les données aisément.

      Il existe aussi notamment Java, qui lui cependant ne créera pas de vrais exécutables comme le C/C++, ou encore le C# (basé sur le C++) qui est spécialement fait pour les interfaces graphiques Windows.

      Bref, c'est mon avis personnel. J'ai débuté (il n'y pas bien longtemps) avec le C, puis peu après avec le C++ et ce langage m'a convaincu. Tu peux faire, bien entendu n'importe quel jeu vidéo avec ce langage, et aussi des fenêtres GUI (notamment avec Qt, framework multi-plateforme, utilisé par Google, Autodesk Maya, Skype, VLC...).

      Voilà, je n'ai pas testé beaucoup de langages, mais j'espère que mon avis te sera utile. ;)

      EDIT: Si par hasard, tu te décides à apprendre le C++, ne lis pas le cours de ce site, il n'est plus à jour, enseigne de mauvaises pratiques, et donne de mauvaises habitudes (j'en ai souffert, crois-moi).

      -
      Edité par Olybri 12 mai 2015 à 0:59:18

      • Partager sur Facebook
      • Partager sur Twitter
        12 mai 2015 à 6:06:27

        Salut

        -Quel langage choisir selon tel ou tel "but" ? Par exemple quel langage préférer pour faire un jeu vidéo PC, ou lequel pour tel type de logiciel à programmer...
        A partir du moment où ton projet est complexe, pour trouver la technologie appropriée il te faut de l'expérience dans plusieurs technologies (langage et autre).
        Pour un jeu vidéo nécessitant un maximum de performance, oui C++ est une bonne technologie. Mais la performance est rarement la seule contrainte : connaissances, temps, plateforme, ressources.
        -Si je devais apprendre un langage, un seul (pour l'instant), qui puisse me servir dans le plus de domaines possibles lequel ce serait ?
        Le C++ serait la réponse la plus facile mais malheureusement on ne peut pas tout faire facilement en C++. Il existe trés peu de framework pour créer des sites web en C++ par exemple. Le C++ n'est pas vraiment adapté pour faire du prototyping : rechercher des solutions rapidement, tester de multiples idées, etc
        Il faudrait lister les domaines à cibler pour pouvoir te répondre.
        • Partager sur Facebook
        • Partager sur Twitter
          12 mai 2015 à 21:19:41

          Dans le cas des jeux vidéos, il faut plus qu'un seul langage. Tu vas peut-être avoir le moteur lui-même codé en C++, tu vas peut-être avoir à en faire un peu, mais tu aura des langages de script à rajouter. Certains moteurs utilisent Javascript, d'autres Python, etc. Un seul langage est rarement suffisant. Mais comme proposé plus haut, je pense que le duo C++ / Python te conviendra parfaitement et permet de couvrir beaucoup de besoins. Il faut faire un brouillon d'application rapidement ? On peut le faire avec Python. Finalement ce brouillon devient utile mais il faut plus de vitesse ? Soit, recodons ce qu'il faut en C++ et interfaçons les deux. Ce sont vraiment deux bons langages, qui ne te forcent pas la main à penser uniquement fonctions ou uniquement objet ou autre. Et pour appuyer encore plus, je conforme que le C++ avec les normes 2011 et 2014 depuis vraiment de plus en plus agréable à utiliser et à comprendre.

          • Partager sur Facebook
          • Partager sur Twitter
            23 mai 2015 à 2:27:56

            Je n'utilise plus le C++ depuis 4 ans, la derniers fois c'était a l'école. Cela depend des environnements mais je rejoins un peu tout le monde sur le fait que le C++ est une bonne école (peut-être par son caractère très formate et structures, tu ne prends que de bonnes habitudes avec). 

            Commencer avec des languages "scripts" (python, javascript, meme objective c qui a parfois des allures de script et je l'utilise tous les jours), permets de faire des choses facilement mais peut-être de la mauvaise manière sans que tu t'en rendes comptes.

            Comme tu as que 15 ans tu as tout ton temps et on te demande pas de devenir un genie. Code a ton rythme, apprends le C++, et oriente toi vers des etudes d'informatique plus tard (devenir dev de jeux videos si tu le souhaite) pour te former. Ne vas pas trop vite ca sert a rien.

            • Partager sur Facebook
            • Partager sur Twitter
            Si mon aide vous a été utile, merci de mettre le sujet en résolu et mettre mon post en avant. Cheers!
              23 mai 2015 à 6:28:52

              tamagoutchi a écrit:

              Commencer avec des languages "scripts" (python, javascript, meme objective c qui a parfois des allures de script et je l'utilise tous les jours), permets de faire des choses facilement mais peut-être de la mauvaise manière sans que tu t'en rendes comptes.

              "de la mauvaise manière" ? Comment ça ?
              • Partager sur Facebook
              • Partager sur Twitter
                23 mai 2015 à 12:03:32

                tamagoutchi a écrit:

                Commencer avec des languages "scripts" (python, javascript, meme objective c qui a parfois des allures de script et je l'utilise tous les jours), permets de faire des choses facilement mais peut-être de la mauvaise manière sans que tu t'en rendes comptes.

                Python permet de faire des choses de la mauvaise manière ? Comment ça ? Parce que je commence à l'apprendre et si jamais il n'est pas le meilleur pour débuter, j'aimerais ne pas avoir à "m’embêter" avec des mauvaises manières :)

                A ce que je lis, le C++ est donc un bon moyen de bien débuter ?

                • Partager sur Facebook
                • Partager sur Twitter

                Enjoy !

                  23 mai 2015 à 17:36:14

                  Exonir a écrit:

                  Python permet de faire des choses de la mauvaise manière ? Comment ça ? Parce que je commence à l'apprendre et si jamais il n'est pas le meilleur pour débuter, j'aimerais ne pas avoir à "m’embêter" avec des mauvaises manières :)

                  Non, Python est très bien et adapté. Il ne fait pas faire les choses de la mauvaise manière.

                  Exonir a écrit:

                  A ce que je lis, le C++ est donc un bon moyen de bien débuter ?

                  Non, pas tellement.

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    24 mai 2015 à 2:58:21

                    Salut SpeedyCraft51. A ta place, plutôt que de chercher à savoir quel est le langage qui s'adapte à plusieurs situations, je me poserais plutôt la question suivante : quels langages de programmation faut-il apprendre pour devenir autonome ?

                    A cette question il y a 36000 réponses. Mais personnellement on m'a enseigné plusieurs langages de programmation à l'université : les plus influents étant C et Java. J'ai d'abord appris le C, puis ensuite Java. Depuis lors, j'ai appris le C++ en autodidacte et on peut dire que j'ai aujourd'hui le même niveau en Java qu'en C++.

                    Tout ceci pour te dire que connaissant le C (éternel langage de rigueur), ainsi que Java (un langage de programmation orienté objet), j'étais suffisamment outillé pour apprendre le C++, même si ça n'a pas été du gâteau et je continue toujours d'apprendre : le langage regorge en effet de concepts parfois barbares. ;)

                    Par ailleurs, le principe du code en programmation est le même, du moins si l'on fait une comparaison entre des langages de programmation présentant le même paradigme. La seule différence réside dans la façon dont les instructions sont codées puis envoyées à l'ordinateur. Moi je te suggérerais de commencer par le C. On galère au début. Mais une fois qu'on a compris, on en recueille les bénéfices pour toujours.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      24 mai 2015 à 14:03:41

                      Salut SpeedyCraft51, 

                      Le plus important est que tu apprennes un langage utilisant le paradigme objet : Java, C#, JavaScript, PHP, Swift ou C++, PHP.

                      • Java permet de développer en autres des applications serveurs (J2EE), des applications Android ainsi que des applications desktop (pauvre en UI malheureusement mais cross-platform).
                      • C# est le langage pour l'écosystème Microsoft, permet de développer des applications Mobiles, Desktop, Web, etc ...
                      • JavaScript permet de développer des applications web et serveurs également, des applications desktops cross platform et du contenu web dynamique couplé à du HTML/CSS.
                      • PHP est la référence en développement de sites web couplé à JavaScript, HTML/CSS. 
                      • Le Swift est spécifique à la plateforme Apple pour développer des applications iOS et OSX.
                      • Le C++ premet de créer des applications desktop cross platform, des programmes puissant car plus proche de la machine et bénéficiant du paradigme Objet en même temps. Très prisé pour le développement de moteurs 3D pour les jeux il est vrai.
                      • Le C : permet de développer des programmes consoles ou avec UI pour desktop, limité, mais pratique pour aborder la programmation. La ou est la puissance du C c'est dans le domaine de l'embarqué, des objets connectés... Arduino, raspberry pi, etc. Il faudra y mêler des connaissances en électroniques.   
                      • Pour le jeux vidéo, il y a par exemple Unity qui est un gros framework de développement de game, beaucoup de choses peuvent être faites dans l'éditeur d'Unity directement mais l'utilisation du C# permet de faire des choses plus précises.

                      Pour finir : trouve toi simplement les choses qui t'éclates dans lesquels tu as envie de passer du temps : le web, les app's mobiles, l'électronique, le game. Si tu ne sais pas, prends le temps de tout essayer, tu est jeune tu as le temps devant toi.

                      Apprends le langage de référence d'un de ces domaines, le paradigme objet (hors embarqué), l'utilisation d'outils informatiques divers (SQL, JSON, XML, compilation, tests, documentation, GIT, etc.).

                      Un bon coup de pratique de tout ça pendant quelques temps et tu auras toutes les armes te permettant d'aborder n'importe quel autre langage ou technologie par la suite. Ce qui répond à tes dernières questions : Il n'y a pas un langage de référence permettant de pouvoir tout faire, mais en connaitre un parfaitement c'est pouvoir en assimiler un autre très rapidement et efficacement.

                      Je rajouterai juste : soit curieux, passionné, remet en question tes connaissances, ta façon de voir les choses régulièrement et tu auras tout gagné ! 

                      Edit : ne mets pas de côté l'anglais non plus, il y a beaucoup de docs et de tutos en francais, mais pour les choses pointues l'anglais est indispensable.

                      -
                      Edité par Micka14 24 mai 2015 à 14:31:25

                      • Partager sur Facebook
                      • Partager sur Twitter
                        24 mai 2015 à 14:51:29

                        Micka14 a écrit:

                        Le plus important est que tu apprennes un langage utilisant le paradigme objet : Java, C#, JavaScript, PHP, Swift ou C++, PHP.

                        Non, ça n'est pas important. De plus Javascript et PHP sont loin d'être des références pour la programmation orientée objet.

                        Micka14 a écrit:

                        Java permet de développer en autres des applications serveurs (J2EE), des applications Android ainsi que des applications desktop (pauvre en UI malheureusement mais cross-platform).</li>

                        Qu'entends-tu par pauvre en UI ?

                        Micka14 a écrit:

                        C# est le langage pour l'écosystème Microsoft, permet de développer des applications Mobiles, Desktop, Web, etc ...</li>

                        Pas uniquement pour Microsoft, il existe par exemple Mono pour compiler du C# sur d'autres plateformes.

                        Micka14 a écrit:

                        PHP est la référence en développement de sites web couplé à JavaScript, HTML/CSS. </li>

                        Mouais.

                        Micka14 a écrit:

                        Le C : permet de développer des programmes consoles ou avec UI pour desktop, limité, mais pratique pour aborder la programmation. La ou est la puissance du C c'est dans le domaine de l'embarqué, des objets connectés... Arduino, raspberry pi, etc. Il faudra y mêler des connaissances en électroniques.   </li>

                        Qu'entends-tu par limité ?

                        Micka14 a écrit:

                        Apprends le langage de référence d'un de ces domaines, le paradigme objet (hors embarqué), l'utilisation d'outils informatiques divers (SQL, JSON, XML, compilation, tests, documentation, GIT, etc.).

                        S'il débute, il n'a pas besoin de tout ça. Ça viendra tout seul, par la suite, quand il progressera.

                        Un bon coup de pratique de tout ça pendant quelques temps et tu auras toutes les armes te permettant d'aborder n'importe quel autre langage ou technologie par la suite.

                        Il y en a tout de même de radicalement différentes.

                        • Partager sur Facebook
                        • Partager sur Twitter
                          24 mai 2015 à 17:04:53

                          J'ai un peu l'impression que tout le monde mélange tout par moment :-x
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Le manager pragmatique ne cherchera pas le "quoi" de l'erreur, mais le "pourquoi" de celle-ci
                          Anonyme
                            24 mai 2015 à 17:18:13

                            Skahrz a écrit:

                            J'ai un peu l'impression que tout le monde mélange tout par moment :-x

                            Tiens donc, ce serait bien si tu pouvais expliciter.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              25 mai 2015 à 13:43:33

                              Ca m'a un peu fait bizarre de lire que PHP était la "référence", sans préciser le contexte ni le public (au sens développeur) visé par ce langage et fw associés.

                              De même pour le JS orienté objet, y'a rien de plus chiant et téméraire que de créer des interfaces en JS (merci TypeScript <3)

                              Bref,

                              Pour en revenir à la question de l'OP : 

                              -Si je devais apprendre un langage, un seul (pour l'instant), qui puisse me servir dans le plus de domaines possibles lequel ce serait ?

                              Pour cette question, je te conseillerais le JavaScript. Tout simplement parce qu'on peut en faire en frontend (jQuery, Angular, Backbone, Ember, etc.. etc..), ainsi qu'en backend avec NodeJS et IoJS mais aussi en base de données (le BSON de MongoDb c 'est un JSON amélioré. Le JSON étant javascript based...)

                              De plus :

                              - Il existe tout un tas de librairie JS pour faire des jeux vidéos sur browser (ya des mecs qui ont même refais quake 3 sur du web) via le canvas

                              - Javascript est orienté évènement (qui est incroyable pour le dev de jeux vidéos)

                              - Tu peux coupler ca avec un NodeJS / IoJS en backend pour faire du temps réels, et ainsi avoir un jeu browser (donc pas de clients à installer) en temps réel (via un serveur AMQP ou tout simplement Socket.IO)

                              • Partager sur Facebook
                              • Partager sur Twitter
                              Le manager pragmatique ne cherchera pas le "quoi" de l'erreur, mais le "pourquoi" de celle-ci
                                25 mai 2015 à 13:56:35

                                @Skahrz  : je ne crois pas que le javascript soit "le meilleur langage utile pour tout" comme demandé par l'OP. Même si tu peux faire du "desktop", il reste lié aux technologies web pour faire des interfaces utilisateur.
                                Je crois qu'un langage plus généraliste répond mieux à la demande initiale.

                                Tu n'aurais pas tout mélangé par hazard ? (je te taquine).

                                -
                                Edité par tsez 25 mai 2015 à 13:59:00

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  25 mai 2015 à 14:47:50

                                  J'ai bien noté le pique. Cependant, je n'ai pas parlé de "meilleur langage pour tout", mais de langage capable de répondre à un maximum de problématique

                                  Maintenant, j'aimerai que tu sois capable de me citer un langage qui puisse te permettre de faire :

                                  - Du web en front

                                  - Du backend (API, serveur de socket, MOM via un broker)

                                  - De la base de données

                                  - Du mobile (ionic / cordova)

                                  - Des jeux (bien que sur un navigateur, et selon moi ca t'apporte pas mal de chose notamment : une portabilité sur les OS, la non nécessité de concevoir de launcher)

                                  La seule chose que tu ne peux pas faire, c'est du client lourd via JS (et encore, si tu joues sur Chrome OS http://en.wikipedia.org/wiki/Chrome_OS, tu peux "en faire")

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Le manager pragmatique ne cherchera pas le "quoi" de l'erreur, mais le "pourquoi" de celle-ci
                                    25 mai 2015 à 14:56:00

                                    <troll>C++ avec Qt ?</troll>
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      25 mai 2015 à 15:50:54

                                      Lu'!

                                      misterFad a écrit:

                                      Skahrz a écrit:

                                      J'ai un peu l'impression que tout le monde mélange tout par moment :-x

                                      Tiens donc, ce serait bien si tu pouvais expliciter.

                                      Il n'y a rien à expliciter, si tu relis les messages depuis le début, aucune des réponses ne ressemble à la suivante et certaines se contredisent. Ce qui est parfaitement cohérent avec le sujet en fait. On n'a pas de recette magique pour rentrer dans le monde de développement et aucun des cheminements qu'on peut trouver n'est parfait.

                                      Ce n'est pas pour demain qu'on aura une réponse exacte pour l'apprentissage du développement (et j'utilise le mot développement mais les métiers de l'informatique, il y en a une toute une palanquée).

                                      Je rejoints je ne sais plus qui plus haut (oui j'ai la flemme de remonter le fil maintenant que je l'ai lu), savoir quel langage/technologie utiliser pour un projet donné, ça demande surtout de connaître pas mal de technos différentes et donc d'avoir une bonne expérience dans le domaine. Et même comme ça, on n'a pas non plus de recette magique, les gens d'expérience font aussi des conneries dans leurs choix de technologies.

                                      J'ai envie de dire, pour débuter, si tu as déjà une vague idée de projet raisonnable à réaliser, tu peux demander sur le forum ce qui te semble le plus susceptible de répondre à ton besoin et débuter par l'apprentissage de la techno en question, ça te permettra d'être motivé dans ton apprentissage. Si tu n'es pas fixé, je dirai bien C++, mais en cours gratuit, le seul qui soit viable c'est celui de @gbdivers et il n'est pas encore complet. Après, Python me semble aussi un bon langage de démarrage mais je ne saurai pas conseiller un bon cours.

                                      PS : il faut arrêter d'utiliser le mot "puissant" quand on parle d'un langage ou de programmes, ça veut finalement pas dire grand chose.

                                      PPS : il faut également arrêter de mettre en avant l'orienté objet comme le truc trop bien qui va sauver le monde, et encore plus de le citer comme le truc trop bien dans C++. Les killer-features de C++, c'est le RAII et la prog générique couplé à la manière dont sont construites les structures.

                                      -
                                      Edité par Ksass`Peuk 25 mai 2015 à 16:00:04

                                      • Partager sur Facebook
                                      • Partager sur Twitter

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

                                        25 mai 2015 à 16:12:18

                                        Ksass`Peuk a écrit:

                                        Après, Python me semble aussi un bon langage de démarrage mais je ne saurai pas conseiller un bon cours.

                                        Celui de Mark Lutz, Learning Python 5th edition en anglais ou Apprenez à programmer avec Python 3 de Gérard Swinnen en français.

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          25 mai 2015 à 16:17:08

                                          Skahrz a écrit:

                                          Maintenant, j'aimerai que tu sois capable de me citer un langage qui puisse te permettre de faire :

                                          - Du web en front

                                          RapydScript (un transcompilateur Python vers Javascript)

                                          - Du backend (API, serveur de socket, MOM via un broker)

                                          Python + framework au choix

                                          - De la base de données

                                          Python + module suivant la BdD

                                          - Du mobile (ionic / cordova)

                                          Python + Kivy

                                          - Des jeux (bien que sur un navigateur, et selon moi ca t'apporte pas mal de chose notamment : une portabilité sur les OS, la non nécessité de concevoir de launcher)

                                          Python + Pygame (bien que je l'aime pas) ou Kivy pour desktop.
                                          Python + RapydScript pour des jeux simples sur navigateur. 

                                            Mais c'est hors-sujet ;)

                                          -
                                          Edité par tsez 25 mai 2015 à 16:19:42

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Anonyme
                                            25 mai 2015 à 20:49:19

                                            @Ksass`Peuk

                                            Heureusement que cela reste ton avis. :) Je pense en effet qu'une affirmation explicitée vaut toujours mieux qu'une affirmation gratuite. Mais bon...

                                            Sinon oui je suis bien d'accord : il n'existe pas de recette magique pour rentrer dans le monde de développement et aucun des cheminements qu'on peut trouver n'est parfait. Et on conviendra aussi qu'aucune des propositions ici faites n'est généralisable, et il s'agit d'ailleurs de points de vue personnels. Quant au C++, je ne le vois personnellement pas comme un langage pour débuter en programmation. Il est plus complexe que le C, même si pas mal de choses dont notamment l'allocation mémoire ont été facilitées grâce à l'approche orienté objet.

                                            Pour finir, je rebondirais sur mon tout premier commentaire : plutôt que de chercher à savoir quel est le langage qui s'adapte à plusieurs situations, je chercherais plutôt à savoir quels langages de programmation il est souhaité d'apprendre pour devenir autonome ? Mais bien sûr là aussi rien de généralisable : il s'agit d'une expérience personnelle.

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              26 mai 2015 à 8:59:22

                                              misterFad a écrit:

                                              Quant au C++, je ne le vois personnellement pas comme un langage pour débuter en programmation. Il est plus complexe que le C, même si pas mal de choses dont notamment l'allocation mémoire ont été facilitées grâce à l'approche orienté objet.

                                              Comme premier langage C++ n'est définitivement pas plus compliqué que le C si le cours a une approche correcte. C++ est plus compliqué que C si l'on souhaite le maîtriser à fond, comme début il est très largement plus simple. Sans parler du fait que je ne vois pas souvent de tutoriel où le code présenté résiste au test de Chen (et si ce n'est pas le cas, il y a peu de chances que le code soit effectivement robuste).

                                              La question de l'allocation/désallocation de ressources (pas seulement mémoire) en C++ est réglée par le RAII, son implémentation a été faite à travers les classes mais c'est disjoint de l'orienté objet en lui même. On peut avoir du code fondamentalement RAII et pas objet pour deux ronds (typiquement on peut passer en orienté données, c'est à la mode).

                                              misterFad a écrit:

                                              Pour finir, je rebondirais sur mon tout premier commentaire : plutôt que de chercher à savoir quel est le langage qui s'adapte à plusieurs situations, je chercherais plutôt à savoir quels langages de programmation il est souhaité d'apprendre pour devenir autonome ? Mais bien sûr là aussi rien de généralisable : il s'agit d'une expérience personnelle.

                                              Pour l'autonomie, je dirai n'importe quel langage, l'important, c'est d'apprendre à les apprendre.

                                              • Partager sur Facebook
                                              • Partager sur Twitter

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

                                                27 mai 2015 à 1:57:08

                                                tsez a écrit:

                                                tamagoutchi a écrit:

                                                Commencer avec des languages "scripts" (python, javascript, meme objective c qui a parfois des allures de script et je l'utilise tous les jours), permets de faire des choses facilement mais peut-être de la mauvaise manière sans que tu t'en rendes comptes.

                                                "de la mauvaise manière" ? Comment ça ?


                                                Salut (désole pour le temps de réponse)

                                                Parce que c'est facile et que tu as plein de pattern mis a disposition pour aller plus vite, on prends l'habitude de faire des choses qui ne sont pas correctes. Par exemple, je vais prendre l'objective C vu que je l'utilise tous les jours, j'ai juste un ou deux exemples en tete mais il y en a pas pleins d'autres (je suis en train de bosser c'est un peu dur de réfléchir lol) :

                                                - Par exemple si je dois faire un object Personne, avec un nom, et un age, je vais plutôt utiliser un dictionnaire au lieu de faire une classe Personne. C'est pas très propre mais pour moi ca me permets d'aller plus vite

                                                - Par exemple, au lieu d'utiliser le pattern delegate, je vais sur-utiliser le pattern Observeur. Juste parce que c'est plus simple en iOS mais en C++ on utilisera plus le pattern delegate.

                                                - En C++ j'aurais tendance a bien réfléchir la relation entre les classes, et tout le concept objet alors que je t'avouerais en Objective C je suis moins dedans : comme quasiment tout est en public, il y a peu de concept de classe abstraite par exemple, tu peux appeler une méthode sur un objet sans forcement savoir si elle existe vraiment, etc...

                                                C'est par la que je voulais dire "de la mauvaise manière". Certes, le C++ c'est plus dur, mais ca te permets d'avoir une base fondamentale solide. Ce que je dis ne veux pas forcement dire que tu vas tout faire avec, en revanche tu vas avoir les bons bagages pour apprendre un peu de tout. Si j'avais commence par Objective C, je pense que j'aurais code comme un cochon ; la je code comme un cochon mes apps mais je sais que je le fais comme un cochon :) (lol bon j'exagère c'est pas cochon cochon mais des fois je sais que c'est pas super elegant)

                                                Apres je pense que c'est un sujet a débat, et je vais pas rentrer dans qui a tord ou raison. 

                                                @Ksass'Peek : je rejoins ce que tu dis.

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                Si mon aide vous a été utile, merci de mettre le sujet en résolu et mettre mon post en avant. Cheers!
                                                  27 mai 2015 à 8:17:11

                                                  tamagoutchi a écrit:

                                                  - Par exemple si je dois faire un object Personne, avec un nom, et un age, je vais plutôt utiliser un dictionnaire au lieu de faire une classe Personne. C'est pas très propre mais pour moi ca me permets d'aller plus vite

                                                  Pourquoi ce serait moins propre ? Au contraire, si ton type est clairement une donnée, il n'y a aucun intérêt à en faire une classe, c'est une donnée. Les classes sont des fournisseurs de services, si le type n'a pas de service autre que le stockage à offrir, cela ne sert à rien d'en faire une classe (surtout si c'est pour lui coller une paire cracra de getter/setter par champ).

                                                  Il faut pas non plus verser dans le sur-objet ;) .

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter

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

                                                    19 juillet 2015 à 18:51:11

                                                    Python ou Ruby sont bien pensés et élégant et si je prend PHP en effet le langage est plutôt dégueulasse mais tu peux bien coder avec .
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      20 juillet 2015 à 15:19:01

                                                      Désolé de la réponse très tardive ^^'

                                                      merci pour tous les conseils et débats, cela m'a donné plein de points de vue et d'idées différentes !

                                                      Pour le moment, j'ai choisi d'apprendre C++, suivi de Java, deux langages importants. Et connaissant l'identité du prof qui me fera cours d'ISN en terminale, je sais que Python sera de la partie à ce moment là :)

                                                      Je pense qu'il s'agit là d'un bon trio de languages (même s'il en existent plein d'autres qui pourraient les compléter, c'est en tout cas avec eux que je commencerai)

                                                      quand aux études post-BAC (en réponse au tout premier commentaire), je vise Epita (donc je vise haut il est vrai), qui est visiblement une école de renomée dans le domaine (plein de motivation, et je vais concentrer mes deux prochaines années de lycée sur les maths, l'anglais et la physique ; sans oublier le BAC évidemment ;) ).

                                                      merci de votre aide

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      ~Speed
                                                        20 juillet 2015 à 16:35:34

                                                        Si tu veux apprendre le C++, alors n'utilise surtout pas le cours d'OC.

                                                        EDIT : ne le prends pas mal glovedgirl, mais pourquoi un tel pseudo ?

                                                        -
                                                        Edité par SamusAran 20 juillet 2015 à 16:37:28

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter

                                                        Langage: lequel choisir selon quel projet ?

                                                        × 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