Partage
  • Partager sur Facebook
  • Partager sur Twitter

Par quel langage commencer?

    4 septembre 2017 à 15:55:48

    Bonjour à tous,

    Premier message sur ce forum pour une question aussi banale! Voilà tout est dans le titre je souhaiterais me lancer dans la prog mais je n'ai pas trouvé d'argument décisif en cherchant par moi-même pour m'orienter vers un langage ou un autre.

    Je souhaite apprendre juste pour moi-même et éventuellement des petits projets perso (petit jeux...) sans pour autant avoir déjà une idée de la plateforme. Malgré quelques connaissances et un bon esprit logique il me faudrait quand même quelque chose suffisamment intuitif et assisté (pour un noob en gros :p) 

    Je souhaiterais aussi ne pas apprendre un langage déjà sur son déclin mais encore assez populaire pour qu'il est une importance en complément sur un CV (futur ingénieur maintenance industrielle)

    Merci d'avance pour vos infos

    Cdt,

    Aurélien

    • Partager sur Facebook
    • Partager sur Twitter
    Petit noob deviendra grand
      4 septembre 2017 à 16:41:32

      Salut,

      Combien de fois on a vu cette question xD...

      Et comme dans tout les réponses : 

      Cela dépend de ce que tu voudrais faire, là tu cites "faire des projets perso, comme des jeux", personnellement, je te dirais de commencer par java ou C# si tu motivé, ou sinon, pour avoir une 1er approche, le python pourrait être pas mal pour commencer. Après, regarde sur internet en écrivant exactement le même titre du post "Par quel langage commencer", et tu verras que tu auras toutes les réponses ;) N'hésite pas cependant à demander des informations plus "précise" sur tel type de langage,...

      Bonne continuation :)

      -
      Edité par vanaur 4 septembre 2017 à 16:41:50

      • Partager sur Facebook
      • Partager sur Twitter

      Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

        4 septembre 2017 à 18:21:16

        Bonjour,

        Perso, je trouve que le Python c'est bien pour commencer. Après, comme dit vanaur, ça dépend de ce que tu souhaites faire. Puis faire un peu d'algo aussi, ça ne fait pas de mal :)

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          4 septembre 2017 à 20:38:45

          Arrêtez de poser cette question ! Il n'y a pas de réponse.

          Une chose tout de même : commencer C/C++ n'est pas la manière la plus pédagogique, même si c'est faisable il vaut mieux démarrer sur du plus haut niveau qui évite de se soucier des soucis du bas niveau (adresses mémoires...).

          Je vois que ça parle de Python, pourquoi pas C# ou Java (presque identique au niveau synthaxe).

          • Partager sur Facebook
          • Partager sur Twitter
            4 septembre 2017 à 20:41:08

            >Je vois que ça parle de Python, pourquoi pas C# ou Java (presque identique au niveau synthaxe).

            Je l'ais proposé ^^

            Et je trouve d’ailleurs que ce sont de bons langages pour débuter.

            Mais bon, encore une fois c'est compliqué à dire...


            -
            Edité par vanaur 4 septembre 2017 à 20:42:56

            • Partager sur Facebook
            • Partager sur Twitter

            Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

              4 septembre 2017 à 22:26:47

              Perso j'ai commencé par de l'assembleur ! Rien de plus facile et utile dans la vie de tous les jours ;)

              Nan je déconne. En réalité tout va dépendre de tes besoins. Tu dis vouloir bosser sur des projets perso. Ok. Mais quelle plateforme ? Si tu veux du web, du desktop, du mobile, ... Chacune de ces plateformes ont des langages de prédilection. 

              En ce qui concerne ton futur métier, je t'orientrais vers du Python. Etant en maintenance indus de formation, je pense que ça peut avoir son utilité.

              Apres je dirais qu'en faisant abstraction des plateformes, chaque projet peut être developpé dans plus ou moins tous les langages, avec plus ou moins de difficultés.

              Personnellement je fais toutes mes applis (perso et pro) en PHP, car je n'ai pas pris le temps d'apprendre autre chose. Ça se passe souvent très bien, quelques fois ça casse un peu mais l'objectif est toujours atteint (avec plus ou moins d'efficacité).

              Mets un accent aussi sur les bases de données, MySQL et postgreSQL. Voir Oracle pour le domaine pro.

              Voila ma contribution. 

              Ealon

              • Partager sur Facebook
              • Partager sur Twitter
              Kwo:re / topic OC | Aidez les autres, indiquez un sujet résolu ! | Vous êtes bloqué ? Suivez le guide ! | N'aide pas par MP
                5 septembre 2017 à 10:13:46

                Moi qui suis « programmeur du dimanche » (je programme pour m'amuser, je crois que ça correspond au contexte décrit par AurélienRodriguez dans la première partie de sa demande, celle où il parle de faire des petits projets perso), je n'ai jamais réussi à apprendre le langage Java. Bon, j'ai essayé une seule fois, mais j'étais motivé, et je ne suis pas allé loin. C'était trop compliqué pour moi. Par contre, je suis allé nettement plus loin en Python, j'ai même commencé à apprendre à faire de petites fenêtres avec des boutons à cliquer et tout (ce que je ne sais faire dans aucun autre langage).

                Du coup, je conseillerais plutôt Python que Java (et que C, qui m'en a fait baver comme c'est pas permis).

                Je me dis que l'avis d'un « programmeur du dimanche » est peut-être utile, car un programmeur professionnel ne peut pas forcément imaginer des difficultés qu'il n'a pas eues...

                -
                Edité par robun 5 septembre 2017 à 10:14:56

                • Partager sur Facebook
                • Partager sur Twitter
                  5 septembre 2017 à 10:26:26

                  Merci à tous pour vos réponse et encore désolé d'avoir posé la question!

                  Si je l'ai posé c'est qu'il y avais une nuance entre mon envie perso et une complémentarité avec mon futur métier.

                  Au final je m'attendais bien à ce qu'il n'y est de réponse précise et que la diversité fait la force. Mais j'ai eu ma confirmation que je ne ferais pas de C++!

                  J'ai déjà commencé le C# (le tuto en 20h du site) donc je continuerais à approfondir cela puis je couplerais avec le python et le java si vous me dite qu'ils sont proches.

                  Le reste on verra plus tard xD

                  Encore merci  :) 

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Petit noob deviendra grand
                    5 septembre 2017 à 11:13:54

                    > Et je trouve d’ailleurs que ce sont de bons langages pour débuter.

                    java n'est pas un bon langage pour débuter, la POO ça n'a rie nde facile et pour faire du java à peu près correctement faut être OO.

                    Python est largement à conseiller car tu as tout ce qu'il faut, surtout avec py3 :

                    • typage fort
                    • bon tracking des erreurs
                    • rapidité à développer

                    Dans le même genre mais avec une compilation statique, tu as go qui est vraiment cool et leur "playgrround" pour apprendre est vraiment génial !

                    • Partager sur Facebook
                    • Partager sur Twitter
                      5 septembre 2017 à 16:54:10

                      Merci pour cette précision. J'apprendrai le Java une fois que je serais à l'aise avec les deux autres alors :)

                      Pour le Go j'en avait jamais entendu parler, il existe même pas dans les catégories du forum! J'irais peut être jeter un coup d’œil parce que j'aime bien Google mais une fois que je serais compétent ^^  

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Petit noob deviendra grand
                        5 septembre 2017 à 16:55:53

                        artragis a écrit:

                        > Et je trouve d’ailleurs que ce sont de bons langages pour débuter.

                        java n'est pas un bon langage pour débuter, la POO ça n'a rie nde facile et pour faire du java à peu près correctement faut être OO.

                        Python est largement à conseiller car tu as tout ce qu'il faut, surtout avec py3 :

                        • typage fort
                        • bon tracking des erreurs
                        • rapidité à développer

                        Dans le même genre mais avec une compilation statique, tu as go qui est vraiment cool et leur "playgrround" pour apprendre est vraiment génial !

                        Il faut bien commencer par quelque chose, et je ne trouve pas la POO particulièrement difficile, maintenant j'ai évoluer dedans, donc peut être que ca joue, mais sinon... Et c'est vrai que le python est fortement conseiller pour les débutants. Le meilleur, et je ne suis pas le seul a le dire, c'est de connaître quelques langages, qui pourrait par exemple se complémenter, et qui on un paradigme différent. Par exemple, connaitre ne serais-ce que les bases du C te faciliterais la compréhension de certaines approches informatiques, vu que c'est un langage qui existe depuis longtemps, et qui a servit de base à beaucoup de chose, comme le C++ ou le python par exemple.

                        EDIT:

                        Je n'ais jamais fais de GO, mais de ce que j'ai entendu, c'est assez difficile de passer du C++ au Go.

                        -
                        Edité par vanaur 5 septembre 2017 à 16:56:57

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

                          5 septembre 2017 à 17:07:03

                          > c'est assez difficile de passer du C++ au Go.

                          je sais pas, j'ai fait que du cpp à l'école.

                          > Par exemple, connaitre ne serais-ce que les bases du C te faciliterais la compréhension de certaines approches informatiques, vu que c'est un langage qui existe depuis longtemps, et qui a servit de base à beaucoup de chose, comme le C++ ou le python par exemple.

                          cpp est de plus en plus éloigné de C, et je vois pas trop en quoi C est une base de python.

                          > Il faut bien commencer par quelque chose, et je ne trouve pas la POO particulièrement difficile

                          la POO c'est cool. Quand tu en as mangé suffisament pour que la majorité des design pattern deviennent naturels pour toi et que tu n'aies pas trop besoin de réfléchir à comment abstraire les choses. Sinon, ça devient vite de la bouillasse inmaintenable. La POO n'est pas du tout instinctive et demande un effet assez conséquant d'abstraction et de conception d'à peu près tout ton programme. C'est pas simplement faire une structure avec des fonctions.

                          • Partager sur Facebook
                          • Partager sur Twitter
                            5 septembre 2017 à 17:18:14

                            artragis a écrit:

                            la POO c'est cool. Quand tu en as mangé suffisament pour que la majorité des design pattern deviennent naturels pour toi et que tu n'aies pas trop besoin de réfléchir à comment abstraire les choses. Sinon, ça devient vite de la bouillasse inmaintenable. La POO n'est pas du tout instinctive et demande un effet assez conséquant d'abstraction et de conception d'à peu près tout ton programme. C'est pas simplement faire une structure avec des fonctions.


                            Je comprends ton point de vue.

                            artragis a écrit:

                            cpp est de plus en plus éloigné de C, et je vois pas trop en quoi C est une base de python.

                             Le C reste quand même une base en programmation, d'ailleurs certaines bibliothèques qui fonctionnes sous python, son codé en C.

                            Pour le C++, même si il s'éloigne de plus en plus du C, ce furent deux langages relativement proche dans le passé, et ça, ca "laisse quelques traces". *je sens que je vais me faire injurier xD*

                            • Partager sur Facebook
                            • Partager sur Twitter

                            Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

                              6 septembre 2017 à 10:02:41

                              > d'ailleurs certaines bibliothèques qui fonctionnes sous python, son codé en C.

                              certaines le sont en fortrant.

                              En fait le C est un langage sympa mais il ne permet pas vraiment d'appréhender les autres langages. Et le bombarder "base de la prog" est un peu dommage.

                              • Partager sur Facebook
                              • Partager sur Twitter
                                6 septembre 2017 à 12:48:33

                                artragis a écrit:

                                > d'ailleurs certaines bibliothèques qui fonctionnes sous python, son codé en C.

                                certaines le sont en fortrant.

                                En fait le C est un langage sympa mais il ne permet pas vraiment d'appréhender les autres langages. Et le bombarder "base de la prog" est un peu dommage.

                                Tu n'as pas trod, mais je pense sincèrement, qu'on a plus ou moins tout les deux raison, moi de mon coté, j'ai retenu que le C était une bonne base à avoir, et que python avais même été développé en C, il n'y a qu'a voir dans les dossiers de python pour trouver pleins de Code.c/h (par contre j'ignorais que certaines bibliothèques étaient codé en "Fortan"), bon c'est vrai que ce critère était plus valable dans les années antérieurs.

                                Je reprendrais même une "citation" sur ce post, qui ne date pas de si longtemps. :

                                (Peux être que je me trompe sur certaines points, c'est tout a fait possible ^^)

                                talpa a écrit:

                                @dri1 a écrit:

                                (encore que j'ai un doute sur la réelle utilité de connaitre C de nos jours).

                                Connaitre le C est toujours utile, ne serait-ce que pour la masse de code écrit dans ce langage (au hasard, Linux, git, gtk, une bonne partie de gcc…). De plus, c’est encore le langage natif le plus portable. Enfin, comme tu le dis toi même, on peut être amener à coder des portions critiques en C. Pour toute ces raisons, et sans doute pour d’autres, il est utile de connaître le C.

                                -
                                Edité par vanaur 6 septembre 2017 à 12:49:12

                                • Partager sur Facebook
                                • Partager sur Twitter

                                Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

                                  6 septembre 2017 à 15:04:03

                                  Juste comme ça, python est une spécification. L'implémentation la plus populaire (car propulsée par la fondation python), qui est nommée CPython est écrite en C. Mais Jython est en java, IronPython en C# etc.

                                  L'histoire veut que beaucoup des compilateurs/machines virtuels/interpréteurs des langages modernes soient écrits en C et/ou en C++ (même si avec l'arrivée du Rust ça va probablement changer) et que chaque langage à VM possède une foultitude 'autres langages qui tournent sur cette VM (erlang, clojure, scala... sur la JVM, C#, VB.NET, F#, IronPython... sur la CLR). C'est juste que voir le C comme une "base" de la programmation est de plus en plus quelque chose d'assez faux. Le C est un langage à part entière qui est très puissant et qui n'est même pas un langage de niche.

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    6 septembre 2017 à 16:45:53

                                    Bon. Je pense avoir compris à quoi tu voulais en venir maintenant. A mon avis, avec seulement mes 3.5 ans d'expérience, je n'ais pas assez de recule... Par contre, une chose que j'ais toujours retenu, et que l'on m'a intermédiairement "obliger" à retenir, c'est que le C (je sais, je suis chiant) est une bonne base à avoir. Mon opinion à plus ou moins changé à présent, mais je voulais en débattre pour en être sûr.

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

                                    Anonyme
                                      6 septembre 2017 à 21:09:02

                                      En soit certains assembleurs (nasm si je dis pas de bêtises, probablement d'autres) sont écrits en C. Pourtant personne n'osera prétendre que l'assembleur a quelque chose du C.

                                      Je dirai qu'on peut tout à fait développer en Python/Java sans connaître le C au même titre qu'on peut développer en C sans connaître l'assembleur. Par contre il est intéressant d'en connaître les concept, même sans maîtriser le langage, ne serai-ce que par pure culture personnelle pour savoir un peu ce que deviens le code qu'on écrit.

                                      Le C c'est un peu le latin des langages de programmation (à la différence qu'il est encore utilisé).

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        6 septembre 2017 à 21:27:18

                                        PitchPitch a écrit:

                                        En soit certains assembleurs (nasm si je dis pas de bêtises, probablement d'autres) sont écrits en C. Pourtant personne n'osera prétendre que l'assembleur a quelque chose du C.

                                        Je dirai qu'on peut tout à fait développer en Python/Java sans connaître le C au même titre qu'on peut développer en C sans connaître l'assembleur. Par contre il est intéressant d'en connaître les concept, même sans maîtriser le langage, ne serai-ce que par pure culture personnelle pour savoir un peu ce que deviens le code qu'on écrit.

                                        Le C c'est un peu le latin des langages de programmation (à la différence qu'il est encore utilisé).


                                        Tout parfaitement bien résumer.

                                        C'est ça que j'essayer d'expliquer : Il est intéressant d'en connaître les concepts. Merci PitchPitch ^^

                                        Tu dis que Nasm a été écrit en C, tu ne veux pas plutôt dire "le compilateur ?" Sinon tu m'apprends quelque chose, qui comme tu le dis, me surprend ^^'

                                        -
                                        Edité par vanaur 6 septembre 2017 à 21:28:33

                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

                                        Anonyme
                                          6 septembre 2017 à 22:35:21

                                          Essayons d'être précis sur les termes que nous employons (et corrigez moi si je me trompe) :

                                          -Un langage évolué (l'appellation "haut niveau" est discutée donc je ne vais pas me prononcer) permet de faire abstraction de toute préoccupation physique (ou presque), c'est à dire C, C++, Java, Python...

                                          -Le langage d'assemblage (plus communément appelé "assembleur") ne fait plus abstraction de la couche physique, il faut tenir compte de l'architecture de manière beaucoup plus poussée (et notamment du processeur en fait).

                                          -Un compilateur traduit un langage évolué en langage d'assembleur ou en langage machine, donc c'est gcc, g++...

                                          -Un programme assembleur (également appelé "assembleur", d'où la confusion) traduit le langage d'assemblage en langage machine.

                                          Donc effectivement lorsque je dis que "l'assembleur NASM est écrit en C" je parle du "programme assembleur", cela dit j'ai un doute là dessus même si ça m'étonnerait beaucoup qu'un programme de ce genre soit écrit en assembleur...

                                          Et si on veut pousser plus loin le comique on peut regarder ce bon assembleur Windows : MASM ! Utiliser MASM c'est faire appel au fonctions de l'API Windows écrites en....C ! De toute façon faire de l'assembleur sous Windows, pour Windows (et si on enlève les cas très spécifiques pour lesquels c'est nécessaire) ça revient à posséder une boite auto et conduire en manuel, c'est s'emmerder pour rien, mais je m'égare un peu...

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            7 septembre 2017 à 6:27:55

                                            PitchPitch a écrit:

                                            Donc effectivement lorsque je dis que "l'assembleur NASM est écrit en C" je parle du "programme assembleur", cela dit j'ai un doute là dessus même si ça m'étonnerait beaucoup qu'un programme de ce genre soit écrit en assembleur...

                                            Du coup, bien expliqué comme tu l'as fait, ça n'a rien d'étonnant : le programme assembleur est un programme qui traduit un fichier texte (le code source en langage assembleur) en langage machine, c'est donc juste un programme qui prend en entrée un fichier texte et renvoie en sortie un fichier binaire, ce qui est tout à fait dans les cordes d'un langage comme le C. On pourrait le faire en assembleur, mais ce serait bien compliqué...



                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Anonyme
                                              7 septembre 2017 à 8:15:33

                                              On pourrait aussi le faire en Python... :-°
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                7 septembre 2017 à 9:05:59

                                                Je te conseil d'aller voir cette vidéo : Par quel langage commencer en informatique ?

                                                -
                                                Edité par L-N 7 septembre 2017 à 9:06:21

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  7 septembre 2017 à 10:15:45

                                                  La vidéo n'est pas mauvaise même si prétendre qu'un débutant saura dans quoi il veut se spécialiser est assez ambitieux :)

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    8 septembre 2017 à 22:12:38

                                                    artragis a écrit:

                                                    La vidéo n'est pas mauvaise même si prétendre qu'un débutant saura dans quoi il veut se spécialiser est assez ambitieux :)


                                                    je l'avoue :)
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter

                                                    Par quel langage commencer?

                                                    × 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