Partage
  • Partager sur Facebook
  • Partager sur Twitter

Devrais-je apprendre le langage C en premier

Sujet résolu
Anonyme
    12 août 2017 à 17:14:26

    Je voudrais apprendre un langage puissant en premier sachant que je suis assez jeune et c'est pour faire des jeux.Certain me disent de faire du python et d'autre du C.Que faire?
    • Partager sur Facebook
    • Partager sur Twitter
      12 août 2017 à 17:21:41

      RgB21 a écrit:

      Je voudrais apprendre un langage puissant en premier sachant que je suis assez jeune et c'est pour faire des jeux.Certain me disent de faire du python et d'autre du C.Que faire?

      Tester les deux. Et l'âge n'a rien à voir là dedans.

      • Partager sur Facebook
      • Partager sur Twitter
        12 août 2017 à 17:33:36

        Je te conseille plutôt python(je ne l'ai gratté qu'en surface) qui est beaucoup plus simple.
        • Partager sur Facebook
        • Partager sur Twitter
          12 août 2017 à 17:44:54

          Dans un premier temps, apprends Processing qui est beaucoup plus marrant et te permettra de faire beaucoup plus rapidement des trucs simples qui marchent.

          Au début tu n'as pas besoin d'un langage "puissant", tu as besoin d'apprendre des techniques et méthodes de base pour écrire du code correctement.

          Et faut arrêter avec les foutaises : le langage C n'est pas "puissant". C'est un langage ancien, simple, d'assez bas niveau. Ce qui est puissant, c'est les programmeurs qui, pour faire un programme qui fait quelque chose d'interessant doivent aligner beaucoup plus de lignes de codes en s'emmerdant avec des contraintes sordides.

          Encore qu'on puisse se demander si ils sont si puissants que ça, d'avoir choisi un langage pour faire péniblement un truc qui serait réglé vite fait avec un autre langage.

           Exemples en ligne ici :https://processing.org/examples/

          (ah bon, on ne peut pas faire d'exemples en ligne avec C ? )

          -
          Edité par michelbillaud 12 août 2017 à 17:56:58

          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            12 août 2017 à 18:38:08

            Je pense que je vais m'entrainer avec scratch ensuite faire du processing comme vous me le conseillez et enfin python.Vous en pensez quoi?
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              12 août 2017 à 18:40:44

              michelbillaud a écrit:

              Dans un premier temps, apprends Processing qui est beaucoup plus marrant et te permettra de faire beaucoup plus rapidement des trucs simples qui marchent.

              Je ne pense pas que dire "apprend ce langage" soit une bonne solution. Si on t'écoute on croirait que c'est l'impératif de débuter par "processing", alors que si il veut débuter avec du Python ça me semble une solution 100% viable. Donc "je te recommande <insérer un conseil>" me semble plus approprié.

              michelbillaud a écrit:

              Au début tu n'as pas besoin d'un langage "puissant", tu as besoin d'apprendre des techniques et méthodes de base pour écrire du code correctement.

              Et faut arrêter avec les foutaises : le langage C n'est pas "puissant". C'est un langage ancien, simple, d'assez bas niveau. Ce qui est puissant, c'est les programmeurs qui, pour faire un programme qui fait quelque chose d'interessant doivent aligner beaucoup plus de lignes de codes en s'emmerdant avec des contraintes sordides.

              Je suis d'accord, petite mention tout de même pour le "simple" qui est assez discutable, je dirais même tout à fait contestable, les pointeurs c'est pas "simple".

              J'en arrive donc au sujet, quel langage ? Je pense que le C, pour faire des jeux, n'est pas la meilleure solution comme l'a souligné michelbillaud puisque tu vas "faire péniblement un truc qui serait réglé vite fait avec un autre langage". En soit on pourrait tout faire en assembleur, mais ce serait juste horriblement long, certains jeux évolués feraient des millions de lignes.
              Après pour savoir quel langage... Il y en a une telle panoplie que je doute qu'on puisse dire lequel est meilleur (Java, C#, Python, "Processing" qui semble être basé sur Java,...), et puis un langage n'est pas une fin en soit. Supposons que tu choisisses Python, rien ne t'empêchera, le jour où Python ne te conviendra pas, d'apprendre un autre langage qui convient aux besoins.

              Mon conseil : fais quelques recherches pour les forces et les défauts de chacun et vas y au feeling

              -
              Edité par Anonyme 12 août 2017 à 18:41:14

              • Partager sur Facebook
              • Partager sur Twitter
                12 août 2017 à 19:09:33

                PitchPitch a écrit:

                Je suis d'accord, petite mention tout de même pour le "simple" qui est assez discutable, je dirais même tout à fait contestable, les pointeurs c'est pas "simple".

                Mais si. Ce sont des données qui contiennent des adresses, c'est tout. On affecte des pointeurs (=, &), on les déréférence (*) et on les modifie un peu (+, ++,...).

                Pour quelqu'un qui sait ce qu'est un pointeur, le langage C permet de les manipuler simplement. Le problème ce n'est pas le langage, c'est de faire de l'allocation dynamique et d'utiliser des structures de données qui reposent sur la notion de chainage et de pointeur, quand on ne sait pas ce que c'est.

                La difficulté de C, justement, c'est qu'il est simple, voire simpliste, et alors il faut se lancer dans des trucs compliqués pour arriver à réaliser des choses non triviales à partir d'éléments aussi basiques. (Y a meme pas de  type de base "chaine de caractères").  Ne serait ce que pour passer des paramètres qui doivent être modifiés par une fonction.

                Confondons pas les caractéristiques d'un langage, et celles de son utilisation.

                Autre point : ok je n'aurais pas dû dire "apprendre Processing", mais "apprendre à programmer avec Processing". Comme la question était "apprendre C", je me suis laissé emporter par la formulation.

                Et pour finir, je ne dis pas que Processing (qui est effectivement du java déguisé) soit mieux que Python (j'aime bien programmer en python aussi) en général. Par contre il est bien adapté pour les débuts de la programmation, parce qu'il permet de fabriquer très rapidement des petits trucs motivants (graphisme, son, animation). Il a été notamment utilisé pour les cours d'initiation à la programmation pour non-informaticiens (fac de lettres, d'arts plastiques etc) aux US.

                -
                Edité par michelbillaud 12 août 2017 à 19:20:56

                • Partager sur Facebook
                • Partager sur Twitter
                  12 août 2017 à 19:16:18

                  Bref apprends C# avec unity est c'est réglers :D

                  Ou sinon commence par CplusPlus mais en France on est a la ramasse car j'ai voulut apprendre ce langage mais les cours sont pus a jour a par un qui est pas fini celui de @gbdivers

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    12 août 2017 à 19:30:45

                    C'est compliqué à apprendre unity?

                    -
                    Edité par Anonyme 12 août 2017 à 19:37:37

                    • Partager sur Facebook
                    • Partager sur Twitter
                      12 août 2017 à 19:36:07

                      Madz_FrM4Dzfr1337 a écrit:

                      Bref apprends C# avec unity est c'est réglers :D

                      Ou sinon commence par CplusPlus mais en France on est a la ramasse car j'ai voulut apprendre ce langage mais les cours sont pus a jour a par un qui est pas fini celui de @gbdivers

                      Bref, un commentaire relevant plus de l'étalement de conviction sans arguments et qui n'a donc aucune valeur.

                      Et la plupart des excellentes documentations sont anglophones.

                      RgB21 a écrit:

                      C'est compliqué à apprendre unity?

                      Fais des recherches au lieu d'attendre que tout t'arrive dans l'assiette.

                      -
                      Edité par DonneurDelecon1 12 août 2017 à 19:40:29

                      • Partager sur Facebook
                      • Partager sur Twitter
                        12 août 2017 à 19:46:14

                        J'aimerais juste dire qu'en école d'informatique, avant d'apprendre un langage, on apprends comment marche un ordinateur. Cela peut paraitre con mais finalement, cela se révèle très utile tant que l'on ne programmera pas de la même façon que l'on parle...

                        -
                        Edité par breizhbugs 12 août 2017 à 19:46:28

                        • Partager sur Facebook
                        • Partager sur Twitter
                        ** La doc, c'est comme le PQ: ça sert à se démerder tout seul **
                        Anonyme
                          12 août 2017 à 19:55:59

                          J'ai un peu exploré le site d'unity et il a l'air super sympa je pense que je vais partir dessus après python.Il faut apprendre quelle langage pour utiliser unity?
                          • Partager sur Facebook
                          • Partager sur Twitter
                            12 août 2017 à 20:06:53

                            Perso j'ai étais surpris la façon dont les ingénieur/ scientifique de l'époque on fait pour crée un langage ASM (cours d'oc asm x86 sources).

                            breizhbugs a écrit:

                            J'aimerais juste dire qu'en école d'informatique, avant d'apprendre un langage, on apprends comment marche un ordinateur. Cela peut paraitre con mais finalement, cela se révèle très utile tant que l'on ne programmera pas de la même façon que l'on parle...

                            -
                            Edité par breizhbugs il y a 18 minutes



                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              12 août 2017 à 20:14:20

                              michelbillaud a écrit:

                              Mais si. Ce sont des données qui contiennent des adresses, c'est tout. On affecte des pointeurs (=, &), on les déréférence (*) et on les modifie un peu (+, ++,...).

                              Pour quelqu'un qui sait ce qu'est un pointeur, le langage C permet de les manipuler simplement. Le problème ce n'est pas le langage, c'est de faire de l'allocation dynamique et d'utiliser des structures de données qui reposent sur la notion de chainage et de pointeur, quand on ne sait pas ce que c'est.

                              Je suis d'accord, le concept de pointeurs en lui-même est pas compliqué, mais ce que tu me dis pour moi c'est comme si tu disais : "Le trapèze en soit c'est pas dur, ce qui est dur c'est de faire des figures dessus". Ca n'a pas de sens.

                              michelbillaud a écrit:

                              Autre point : ok je n'aurais pas dû dire "apprendre Processing", mais "apprendre à programmer avec Processing". Comme la question était "apprendre C", je me suis laissé emporter par la formulation.


                              On avait compris, pas de problème.

                              michelbillaud a écrit:

                              Et pour finir, je ne dis pas que Processing (qui est effectivement du java déguisé) soit mieux que Python (j'aime bien programmer en python aussi) en général. Par contre il est bien adapté pour les débuts de la programmation, parce qu'il permet de fabriquer très rapidement des petits trucs motivants (graphisme, son, animation). Il a été notamment utilisé pour les cours d'initiation à la programmation pour non-informaticiens (fac de lettres, d'arts plastiques etc) aux US.


                              Oui je comprends, en aucun cas je ne vous reproche de suggérer un langage qui vous paraît plus adapté. Ce que je veux dire c'est que quelqu'un qui arrive et qui connaît pas le milieu risque de prendre ça comme la sainte Bible ("apprends Processing" c'est de l'impératif).
                              • Partager sur Facebook
                              • Partager sur Twitter
                                12 août 2017 à 20:47:21

                                breizhbugs a écrit:

                                J'aimerais juste dire qu'en école d'informatique, avant d'apprendre un langage, on apprends comment marche un ordinateur. Cela peut paraitre con mais finalement, cela se révèle très utile tant que l'on ne programmera pas de la même façon que l'on parle...

                                -
                                Edité par breizhbugs il y a environ 1 heure


                                Euh, ça m'étonnerait qu'on ne commence à apprendre qu'un langage qu'après avoir appris le fonctionnement d'un ordinateur

                                • tant sur le plan matériel (portes logiques, registres, chemins de données, séquencement,  micro-programmation etc)
                                • que sur le plan du systeme "bas niveau" (interruptions,  caches, génération d'adresses, etc)

                                toutes choses qui sont d'ailleurs assez éloignées du "modèle du programmeur" du programmeur C / C++ / java / Whatever.

                                -
                                Edité par michelbillaud 12 août 2017 à 20:50:31

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  12 août 2017 à 21:07:10

                                  michelbillaud a écrit:

                                  breizhbugs a écrit:

                                  J'aimerais juste dire qu'en école d'informatique, avant d'apprendre un langage, on apprends comment marche un ordinateur. Cela peut paraitre con mais finalement, cela se révèle très utile tant que l'on ne programmera pas de la même façon que l'on parle...

                                  -
                                  Edité par breizhbugs il y a environ 1 heure


                                  Euh, ça m'étonnerait qu'on ne commence à apprendre qu'un langage qu'après avoir appris le fonctionnement d'un ordinateur

                                  • tant sur le plan matériel (portes logiques, registres, chemins de données, séquencement,  micro-programmation etc)
                                  • que sur le plan du systeme "bas niveau" (interruptions,  caches, génération d'adresses, etc)

                                  toutes choses qui sont d'ailleurs assez éloignées du "modèle du programmeur" du programmeur C / C++ / java / Whatever.

                                  -
                                  Edité par michelbillaud il y a 13 minutes


                                  Bah c'etait le cas pourtant. On apprenait le fonctionnement de l'ordi en systeme (et cela faisait introduction à du pseudo assembleur) et en parallèle, on apprenait l'algorithmique de base avec un langage proche du francais (SI condition ALORS ...) Les "vrai" langages ne venaient qu'après... (iut info vannes  98/99)

                                  -
                                  Edité par breizhbugs 12 août 2017 à 21:09:44

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  ** La doc, c'est comme le PQ: ça sert à se démerder tout seul **
                                    12 août 2017 à 21:38:07

                                    Hello,

                                    Lorsque j'étais étudiant en informatique pour devenir analyste programmeur (Bruxelles, années 80), nous avions, en parallèle, des cours de langage (asm ibm 370, PL/1, Cobol, Fortran V [non, le PC n'était pas encore né]), des cours d'algorithmique, et des cours sur le fonctionnement d'un ordinateur (évidemment, cics, mvs ou vspc n'ont rien à voir avec l'OS d'un pc d'aujourd'hui). Mais il n'empêche que ce dernier cours, pour ma part, était bon à prendre.

                                    -
                                    Edité par edgarjacobs 12 août 2017 à 21:38:58

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

                                      13 août 2017 à 9:16:10

                                      @edgarjacobs :  fortran V n'a jamais existé, sauf comme surnom, interne à IBM, pour PL/I. Dans ce qui a été diffusé, y a eu Fortran II, Fortran IV, Fortran 66, Fortran 77,  etc.  Quand j'ai commencé sur IRIS80 (70's), on utilisait fortran IV.

                                      breizhbugs a écrit:

                                      michelbillaud a écrit:

                                      breizhbugs a écrit:

                                      J'aimerais juste dire qu'en école d'informatique, avant d'apprendre un langage, on apprends comment marche un ordinateur. Cela peut paraitre con mais finalement, cela se révèle très utile tant que l'on ne programmera pas de la même façon que l'on parle...

                                      -
                                      Edité par breizhbugs il y a environ 1 heure


                                      Euh, ça m'étonnerait qu'on ne commence à apprendre qu'un langage qu'après avoir appris le fonctionnement d'un ordinateur

                                      • tant sur le plan matériel (portes logiques, registres, chemins de données, séquencement,  micro-programmation etc)
                                      • que sur le plan du systeme "bas niveau" (interruptions,  caches, génération d'adresses, etc)

                                      toutes choses qui sont d'ailleurs assez éloignées du "modèle du programmeur" du programmeur C / C++ / java / Whatever.

                                      -
                                      Edité par michelbillaud il y a 13 minutes


                                      Bah c'etait le cas pourtant. On apprenait le fonctionnement de l'ordi en systeme (et cela faisait introduction à du pseudo assembleur) et en parallèle, on apprenait l'algorithmique de base avec un langage proche du francais (SI condition ALORS ...) Les "vrai" langages ne venaient qu'après... (iut info vannes  98/99)

                                      -
                                      Edité par breizhbugs il y a environ 11 heures

                                      Tu apprenais quelques notions (registres, compteur de programme, mémoire contenant données et instructions) sur le fonctionnement des ordinateurs EN PARALLELE, pas avant.   Là où ça peut faire une différence significative par exemple, c'est que tu as sûrement utilisé des tableaux avant d'avoir la moindre idée que la hiérarchie des mémoires (cache, RAM, virtuelle) pouvait avoir un impact sur les performances du parcours des tableaux 2D.

                                      Parce que si tu avais dû voir ça avant de commencer à programmer, 1) tu n'y aurais rien compris parce tu ne verrais pas de quoi ça cause 2) tu n'aurais pas commencé à programmer avant le 4ieme semestre.

                                      Je connais assez bien les programmes des IUT d'info, pour y enseigner depuis des décennies.  (mon vieux polycop sur les circuits logiques www.labri.fr/perso/billaud/travaux/polyarch.pdf, premiere partie du cours "archi", normalement suivi par les circuits de base d'un ordi - registres, alu - etc, le séquencement des opérations, la connexion des circuits par un bus etc ).

                                      Historique : La logique des premiers programmes pédagogiques (années 60) qui sont conservés sur le site des chefs de dept info, était de faire le tour de cette merveilleuse invention qu'était l'ordinateur, en partant des circuits de base (transistors) jusqu'aux dernières innovations qui allaient se répandre : temps partagé et mémoire virtuelle. C'était très intéressant, mais depuis le temps nécessaire pour la partie programmation (les langages et leur ecosysteme) a complètement explosé.  Dans le dernier PPN http://www.iut-informatique.fr/docs/ppn/fr.pdf?PHPSESSID=e8aad97f1cac46336bc9015d8f030d87 la part "architecture de l'ordi" a sauté, ce qui a causé quelques psychodrames chez les "hardeux" venus défendre leur raison de vivre (*) dans la commission qui préparait les programmes.

                                      (*) "quoi ? il est impossible de former des étudiants qui programment correctement si on n'a pas au moins 30 heures sur les différentes représentations des nombres en virgule flottante. Vous en vous rendez pas compte. C'est mozart que vous assassinez !".


                                      -
                                      Edité par michelbillaud 13 août 2017 à 9:25:21

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        13 août 2017 à 12:15:42

                                        michelbillaud a écrit:

                                        @edgarjacobs :  fortran V n'a jamais existé, sauf comme surnom, interne à IBM, pour PL/I. Dans ce qui a été diffusé, y a eu Fortran II, Fortran IV, Fortran 66, Fortran 77,  etc.  Quand j'ai commencé sur IRIS80 (70's), on utilisait fortran IV.

                                        Exact, c'était Fortran IV
                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

                                        Devrais-je apprendre le langage C en premier

                                        × 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