Partage
  • Partager sur Facebook
  • Partager sur Twitter

Quel langage de programmation choisir pour débuter

    2 octobre 2017 à 18:23:15

    Oula il y a vraiment beaucoup de choses à dire, donc pour le coup, ça ira lus vite pour toi de te renseigner directement. Mais basiquement, Rust est compilé en natif (même si ses phases de compilation passent par divers langages intermédiaires) et fournit la memory safety par typage sans avoir besoin d'un GC.

    • Partager sur Facebook
    • Partager sur Twitter

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

      2 octobre 2017 à 18:33:50

      En effet, je suis tombé sur le site officiel de rust, avec une documentation assez bien fournie. D'après ce que j'ai pu lire/comprendre, ce langage servirait dans de la gestion web, coté serveur, et pour les projets conséquent.

      En fait, on dirait que c'est un mélange des meilleurs fonctionnalitées des autres langages (pas tous non plus ^^) réunis en un seul : Rust.

      Merci pour les précisions :)

      • 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...

        3 octobre 2017 à 0:00:42

        Bonsoir,

        Je suis encore plus perdue qu'au début, là, je ne sais vraiment pas quoi choisir.

        Je dois apprendre un langage, la question, lequel ?.

        Je ne cherche pas à créer un OS ou un genre de WORD, mais simplement un langage pour bien débuter, pour créer quelques programmes vraiment simples.

        Quand j'ai commencé le langage PHP, je ne voulais rien faire de bien compliquer, mais au fur et à mesure, j'ai commencé à écrire de plus en plus de code, pour toujours améliorer mon Site web, hier encore, je voulais mettre en place un simple système de pagination, voilà que maintenant, je suis sur le point de finaliser un véritable CMS, sécuriser, ergonomique simple.

        Tout ça pour vous dire que la programmation pour moi ou "les autres ", ce sont des étapes, plus on apprend plus en créer de nouvelle chose.

        Moi personnellement, je ne sais pas encore ce que je vais ou je veux mettre en place avec un langage de programmation, cependant, j'ai une fois débuté dans le langage C, et j'ai gardé un souvenir très amère, mais grâce au langage PHP, j'ai radicalement changeais de point de vu.

        Merci.

        • Partager sur Facebook
        • Partager sur Twitter

        le facteur du développement est le partage du savoirs

          3 octobre 2017 à 2:07:19

          Le langage Rust dont on parle et vante les mérites est encore assez jeune, donc ça peut être un peu dur pour toi à cause du manque de documentation en français, de bibliothèque, et la taille de la communauté pour aider.

          Donc si tu te sens l'envie, vas-y, le langage en lui-même est bien foutu.

          Par contre si tu penses avoir besoin de plus de documentation et d'aide d'une communauté plus importante en nombre, je réitère mon conseil : Python.

          -
          Edité par LoupSolitaire 3 octobre 2017 à 14:39:21

          • Partager sur Facebook
          • Partager sur Twitter

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

            3 octobre 2017 à 7:20:55

            J'aurai même tendance à dire Python et quand tu sauras coder efficacement en Python, Rust.

            • Partager sur Facebook
            • Partager sur Twitter

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

              3 octobre 2017 à 7:56:02

              Si c'est apprendre un langage pour débuter, alors Ruby, qui est encore plus simple que Python, avec comme philosophie de code: Tout doit être le plus évident possible.

              Mais le ruby se code sur du UNIX (Mac ou Linux)

              ps: en lisant ton anecdote sur la pagination, en Ruby, tu rajoute une gem pour la pagination et elle te fait le reste, toutes les actions sur la pagination sont de son ressort. Suffis juste de l'appeler dans ta vue.

              -
              Edité par necros211 3 octobre 2017 à 7:57:39

              • Partager sur Facebook
              • Partager sur Twitter

              Architecte logiciel - Software craftsmanship convaincu.

                3 octobre 2017 à 9:57:54

                necros211 a écrit: > Si c'est apprendre un langage pour débuter, alors Ruby, qui est encore plus simple que Python, avec comme philosophie de code: Tout doit être le plus évident possible.

                Alors c'est loupé.

                • Partager sur Facebook
                • Partager sur Twitter
                  3 octobre 2017 à 10:01:29

                  @entwanne, desole, mais je dev depuis bien assez longtemps en Ruby pour savoir que ceci est bien vrais.

                  Je ne sais pas depuis quand tu code, et combien de temps tu as fait du ruby, mais sur ce point tu te trompe.

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Architecte logiciel - Software craftsmanship convaincu.

                    3 octobre 2017 à 10:47:17

                    necros211 a écrit: > Je ne sais pas depuis quand tu code, et combien de temps tu as fait du ruby, mais sur ce point tu te trompe.

                    Depuis une dizaine d'années, et 4-5 ans en Ruby.

                    Mais je trouve par exemple que les mixins partout dans la bibliothèque standard rendent les choses bien confuses. En consultant la documentation d'Array, je n'ai pas accès aux méthodes d'Enumerable, et c'est loin d'être évident de savoir où elles se trouvent (je viens par exemple seulement de remarquer la note de bas de page sur Array indiquant de consulter la doc d'Enumerable).

                    Mais on a déjà eu cette discussion il y a quelques mois.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      3 octobre 2017 à 15:43:19

                      @XURA

                      Peux tu donner un exemple concret du genre de programme que tu voudrais faire. Car tu cites ce que tu ne voudrais pas faire, et tu voudrais "sortir un peu du WEB", mais on pourra te donner tout les langages du monde (ici, tu es assez bien documenté : python, ruby, rust, java, c#,...) on a donné pas mal d'exemple... Mais concrètement, toi quels sont tes motivations ? Logiciel simple ? Domaine inintelligence artificiel ? Jeux vidéo ?

                      -
                      Edité par vanaur 3 octobre 2017 à 15:44:03

                      • 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...

                        3 octobre 2017 à 20:59:25

                        Sinon le haskell c'est cool. J'ai jamais vu un compilo aussi sympath. En plus c'est plein de concepts mathématiques, c'est beau.

                        -
                        Edité par 21l42 3 octobre 2017 à 21:01:57

                        • Partager sur Facebook
                        • Partager sur Twitter
                        « Iterate is human, to recurse divine. » L. Peter Deutsch
                          4 octobre 2017 à 22:41:45

                          vanaur a écrit:

                          @XURA

                          Peux-tu donner un exemple concret du genre de programme que tu voudrais faire. Car tu cites ce que tu ne voudrais pas faire, et tu voudrais "sortir un peu du WEB", mais on pourra te donner tout les langages du monde (Ici, tu es assez bien documenté : python, rubyrust, java, c#,...) on a donné pas mal d'exemple... Mais concrètement, toi quels sont tes motivations ? Logiciel simple ? Domaine inintelligence artificielle ? Jeux vidéo ?

                          -
                          Edité par vanaur hier à 15:44

                          Des Logiciels simple ,de l'intelligence artificiel ,oui, je suis tenté depuis des années par la création d'un IA, de petit Jeux vidéo aussi.

                          Si python peut remplier ces taches alors là oui, moi, je n'ai pas de préférence pour tel ou tel langage vu que je n'ai touché qu'au langage WEB, mais cependant, je cherche un langage qui ne soit pas trop compliquer à apprendre.

                          • Partager sur Facebook
                          • Partager sur Twitter

                          le facteur du développement est le partage du savoirs

                            4 octobre 2017 à 22:55:57

                            Salut

                            Pour de l'IA, va falloir faire plus que mettre les mains dans le cambouis. Donc, langage simple et IA, selon moi, c'est antinomique.

                            Sinon, pour répondre au sujet : Python.

                            Je cite un forumeur, dont, j'ai perdu le topic. Mais, j'avais enregistré son message sur un fichier texte.

                            Je te rassure, pas besoin d'aller faire du c++ pour créer un jeu "costaud". Déjà faut les connaissances théoriques, ensuite, faut être une équipe, puis ensuite vient ta question du langage. Il y a beaucoup, non énormément de chemins à parcourir. En imaginant que tu as tout les pré-requis, python suffira pour 90% du jeu, les calculs avec numpy font descendre les besoins d'un autre langage non plus à 10% mais à 5%. Puis arrive la vectorisation avec numba (@vectorize, @guvectorize, @cuda, ...), pycuda, etc. Le besoin passe à 0%. Donc non, il n'est pas essentiel de faire du C++ pour créer un jeu, par contre il est bon d'avoir des connaissances sur du C/C++ pour interfacer avec eux quand le besoin s'en fait sentir à l'aide d'outil comme cython par exemple. Alors fait du python un maximum, et si un moment tu sens qu'une fonction te prend trop de temps, vient ici avec ta question... Je ou d'autres ici se feront un plaisir d'optimiser tout ça !



                            -
                            Edité par Le Cobriste 128 4 octobre 2017 à 22:57:39

                            • Partager sur Facebook
                            • Partager sur Twitter
                              5 octobre 2017 à 4:35:41

                              Salam Alaykoum,

                              Merci pour toutes ces réponses, je vais prendre python sans hésiter, mais je ne comprends pas pourquoi sur python il n'y a pas d'IDE comme celui du langage C/C++, si je dis ça, c'est par ce que je viens de télécharger l'IDE de python, mais je ne peux avoir que la console, je ne trouve pas l'interface graphique, ou est ce qu'il n'y a pas d'interface graphique pour python ?.

                              Merci.

                              • Partager sur Facebook
                              • Partager sur Twitter

                              le facteur du développement est le partage du savoirs

                                5 octobre 2017 à 6:12:15

                                Tu peux choisir l'IDE que tu veux comme en C ou C++. Aucun de ces langages n'a un ide officiel.

                                Tu as Eric qui a l'air pas mal, mais il y en a plein d'autres.

                                • Partager sur Facebook
                                • Partager sur Twitter

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

                                  5 octobre 2017 à 8:45:44

                                  Le Cobriste 128 a écrit:

                                  Pour de l'IA, va falloir faire plus que mettre les mains dans le cambouis. Donc, langage simple et IA, selon moi, c'est antinomique.

                                  Bof. Niveau programmation, c'est pas si fou l'IA, au moins dans la phase de prototypage. Il y a plein de langage haut niveau qui sont très bien foutus pour l'IA dès lors qu'ils proposent de quoi jouer avec des statistiques et produire une certaine forme de "raisonnement". Il n'y a que si on veut vraiment optimiser le bousin pour la vitesse qu'on va devoir aller faire des trucs très fins, et ça veut dire qu'on a déjà un prototype qui tient très bien la route, et ça c'est pas une question de vitesse.

                                  PS : le C/C++ ça existe pas, c'est le langage qui mélange les deux sans en comprendre un seul.

                                  • Partager sur Facebook
                                  • Partager sur Twitter

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

                                    5 octobre 2017 à 10:29:30

                                    J'me souviens avoir vu des truc passer en Python avec je sais plus quel bibliothèque qui en peu de lignes de code implémentaient des réseaux de neurones sympathiques pour un ocr sur du langage manuscrit.

                                    @Ksass`Peuk : J'pense que le mec lambda qui dit C/C++ il sous entend C ou C++ mais bon... :p

                                    -
                                    Edité par 21l42 5 octobre 2017 à 10:31:07

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    « Iterate is human, to recurse divine. » L. Peter Deutsch
                                      5 octobre 2017 à 12:06:36

                                      XURA a écrit:

                                      je ne comprends pas pourquoi sur python il n'y a pas d'IDE comme celui du langage C/C++, si je dis ça, c'est par ce que je viens de télécharger l'IDE de python, mais je ne peux avoir que la console, je ne trouve pas l'interface graphique, ou est ce qu'il n'y a pas d'interface graphique pour python ?


                                      En fait, il ne faut pas que tu confondes le langage et les outils qui te permettent de l'utiliser. le C et le C++ n'ont pas non plus d'interface graphique, ce sont des langages, ce que tu as téléchargé est un IDE, c'est à dire une suite d'outils pour manipuler le langage. Cela comprend l'outil qui lit le langage (le compilateur pour C et C++, l'interpréteur pour Python) qui est donc essentiel pour exécuter le programme, puis plein d'outil annexe pour gérer le projet, donc un éditeur de texte pour apporter les modification, une gestion de l'arborescence pour s'y retrouver lorsqu'on travaille avec plusieurs fichiers, un analyseur syntaxique pour nous aider à lire le code et à placer des repères, souvent il y a aussi un gestionnaire de version etc...

                                      Tu pourrais tout aussi bien utiliser un logiciel différent pour chacune de ces fonctions

                                      Ce que tu as téléchargé est sûrement simplement l’interpréteur python, c'est ce qui va te permettre d'exécuter le code Python, l'élément minimal.

                                      Il existe des IDEs pour travailler avec python, les IDE de JetBrains sont pratique, il ont fait PyCharm pour python, mais ce n'est pas du logiciel libre. Codé en python, on peut trouver Spyder. Il en existe beaucoup d'autres, une simple recherche google te donnera d'autres résultat, mais ce sont ceux-là qui ont retenu mon attention.

                                      Mais Python ayant besoin de peu d'outil, on peut très bien se débrouiller avec un éditeur de texte avancé. Atom, Sublime Text ou encore Vim peuvent donc être une option tout à fait valable.

                                      -
                                      Edité par romantik 5 octobre 2017 à 12:08:54

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Dream on, Dream on, Dream until your dream comes true
                                        5 octobre 2017 à 13:53:26

                                        @romantik : N'étant pas un développeur très expérimenté en python je m'interroge sur un point, pourquoi le python aurait besoin de peu d'outils par rapport à d'autre langage ? De par ses caractéristiques, j'aurais plutôt tendance à croire le contraire.
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        « Iterate is human, to recurse divine. » L. Peter Deutsch
                                          5 octobre 2017 à 14:53:39

                                          Moi non plus je ne suis pas un développeur expérimenté en python, je m'en suis juste servi pour automatiser 2~3 tâches, me faire quelques outils (genre visualisation de données) et m'essayer un peu au web avec Django.

                                          Ce qui me fait dire que python a besoin de moins d'outils, c'est que python en a déjà pas mal (built-in ou bien en module) par lui-même.

                                          Par exemple la gestion des dépendances se fait facilement en python par le mécanisme de module et de package. En C++ on a recours à des outils tels que CMake pour configurer proprement les liaisons.

                                          Python étant un langage interprété, la question du déploiement se simplifie, pas besoin de se préoccuper de l'architecture ou de l'OS de la cible.

                                          Le débug aussi est simplifié, il s'agit simplement d'exécuter le script pas à pas, gérer les points d'arrêt et visualiser l'environnement.

                                          Enfin, sur des gros projets je sais pas si des besoins plus important surgissent, mais les petits programmes que j'ai fait ne m'ont pas demandé d'avoir un environnement plus poussé que python avec ses modules pip+virtualenv et Vim+NERDTree

                                          Et je passe encore à côté de quelque chose ? à quelles caractéristiques pensais-tu qui nécessite l'aide d'outils extérieurs ?

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Dream on, Dream on, Dream until your dream comes true
                                            5 octobre 2017 à 15:09:45

                                            Dans ton message tu décris déjà beaucoup d'outils supplémentaire :p

                                            Ce que je verrais en plus c'est les outils d’analyse statiques qui permettent de faire en sorte que, par exemple, une typo dans le nom d'une variable dans la gestion d'une exception soit vue directement et pas uniquement lorsque l'exception sera traitée (ce qui, si tes tests sont mal foutu, peut n'arriver qu'au pire moment en prod).

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            « Iterate is human, to recurse divine. » L. Peter Deutsch
                                              5 octobre 2017 à 15:45:00

                                              21l42 a écrit:

                                              Ce que je verrais en plus c'est les outils d’analyse statiques qui permettent de faire en sorte que, par exemple, une typo dans le nom d'une variable dans la gestion d'une exception soit vue directement et pas uniquement lorsque l'exception sera traitée (ce qui, si tes tests sont mal foutu, peut n'arriver qu'au pire moment en prod).

                                              Ouais, depuis peu je passe régulièrement un coup de flake8 et mypy sur mon code, ça fait gagner énormément de temps.
                                              • Partager sur Facebook
                                              • Partager sur Twitter

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

                                                5 octobre 2017 à 17:38:04

                                                Avec tous ce qui fût dit, je pense qu'une grosse majorité te conseillerait le python. Souvent, quand on fait du python, on l'utilise avec des compléments, ou en temps que complément pour le rendre plus... facile, performant => Pour le web par exemple il est très utilisé, en complément avec C ou C++ pour réduire la longueur de certaines tâches (enfin, je ne l'ais jamais fait, mais je sais que c'est un "bon alliage"), et même avec les outils .NET de Microsoft avec IronPython, ce qui le rend néanmoins utilisable que sous une machine qui possède le framework .net, Donc windows.

                                                Sinon, pour l'IA, il y a une bibliothèque qui se nomme "Fann", que tu peux utiliser avec beaucoup de langage, tel que C, C++ et python.

                                                Pour faire des jeux, il existe PyGame, mais j'ai aussi entendu parler de PyGlet, à voir.

                                                • 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 octobre 2017 à 18:39:33

                                                  21l42 a écrit:

                                                  Ce que je verrais en plus c'est les outils d’analyse statiques qui permettent de faire en sorte que, par exemple, une typo dans le nom d'une variable dans la gestion d'une exception soit vue directement et pas uniquement lorsque l'exception sera traitée.

                                                  Les analyses statiques syntaxiques, c'est un peu les analyses statiques du pauvre quand même :p .

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter

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

                                                    5 octobre 2017 à 20:24:43

                                                    D'ailleurs Ksass tu connais de bon outils d'analyse de source ?
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter

                                                    Architecte logiciel - Software craftsmanship convaincu.

                                                      5 octobre 2017 à 23:50:29

                                                      Ksass`Peuk a écrit:

                                                      21l42 a écrit:

                                                      Ce que je verrais en plus c'est les outils d’analyse statiques qui permettent de faire en sorte que, par exemple, une typo dans le nom d'une variable dans la gestion d'une exception soit vue directement et pas uniquement lorsque l'exception sera traitée.

                                                      Les analyses statiques syntaxiques, c'est un peu les analyses statiques du pauvre quand même :p .

                                                      En haskell j'ai pas ce problème.

                                                      Mais quand tu considères que l'analyseur check les scopes des variables c'est pas de l’analyse sémantique ? (après je sais pas ce que font en détail ces outils, python n'est clairement pas mon langage de prédilection).

                                                      -
                                                      Edité par 21l42 5 octobre 2017 à 23:56:22

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      « Iterate is human, to recurse divine. » L. Peter Deutsch
                                                        6 octobre 2017 à 9:00:15

                                                        necros211 a écrit:

                                                        D'ailleurs Ksass tu connais de bon outils d'analyse de source ?

                                                        Frama-C :p . Sinon pour C et C++, il y a aussi VCC. Pour C et Java, on va avoir Verifast. Pour Java, il y a aussi Key ... Enfin bon il y en a pas mal. Mais pas toujours très connus et je ne m'intéresse pas à vraiment d'autres choses que C et C++ au niveau analyse.

                                                        21l42 a écrit:

                                                        En haskell j'ai pas ce problème.

                                                        Que tu dis. Mais :

                                                        • le compilateur Haskell ne te donne pas de propriétés fonctionnelles gratos,
                                                        • les monades d'erreur et les exceptions sont des runtimes errors en costard (cf division entière par 0).

                                                        Même dans les langages fonctionnels, pour ne plus avoir la moindre nécessité d'un analyseur statique, il faut aller taper dans un truc comme Coq, et c'est pas la même demande en boulot.

                                                        21l42 a écrit:

                                                        Mais quand tu considères que l'analyseur check les scopes des variables c'est pas de l’analyse sémantique ?

                                                        Board, c'est light quand même. Perso je considère que tant qu'on n'a pas besoin d'ajouter un peu connaissance dans l'AST c'est pas vraiment sémantique. Mais si on s'en tient à la définition, oui c'est déjà sémantique.

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter

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

                                                        Quel langage de programmation choisir pour débuter

                                                        × 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