Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 9 sur 182 PremièrePremière 12345678910111213141516171959109 ... DernièreDernière
Affichage des résultats 241 à 270 sur 5455
  1. #241
    Citation Envoyé par William Vaurien Voir le message
    go python: plus accessible, plus simple, plus à la mode, plein de tutos.
    Et très bien pour faire ses premiers pas.
    Golang est topissime pour apprendre.

    - - - Mise à jour - - -

    Citation Envoyé par Mayalabielle Voir le message
    Golang est topissime pour apprendre.
    Et c'est très utilisé dans le web pour faire du backend (ça remplace et surpasse nodejs) et tout un tas d'outils orientés "cloud computing"
    "Nobody exists on purpose. Nobody belongs anywhere. We're all going to die. Come watch TV." - Morty Smith

  2. #242
    je voulais dire fonce vers du pyhton, pas de faire du golang: leur mascotte est trop moche...

  3. #243

  4. #244
    Merci pour vos conseils! Je vais regarder çà de plus près du coup.

  5. #245
    Pour de l'apprentissage de la programmation (et donc pas seulement de web), avec Python, tu peux pas te planter de beaucoup.

    J'adore le C, mais je pense que c'est dommage d'apprendre un langage sans classes. C'est très recommandable si tu peux apprendre un autre langage en plus de lui.

  6. #246
    J'avais trouvé Ruby pas mal quand j'ai démarré avec, mais l'impression que c'est mal-aimé comme langage, personne n'en parle !

  7. #247
    Perso je conseille soit Python, soit Kotlin. Le premier à l'avantage d'être un langage ancien et très utilisé, le second à l'avantage d'être moderne, de s'appuyer sur la JVM (passage à Java plus facile), en plus d'être supporté par Google pour le dev Android et de bénéficier du site try.kotlinlang.com pour l'apprentissage.
    Ce qu'il faut savoir, c'est qu'on ment beaucoup aux minmatars, surtout lorsqu'ils posent des questions du style: "t'es sûr que ça vole, ce truc ?" Cooking Momo, le 30/08/09

  8. #248
    Citation Envoyé par William Vaurien Voir le message
    je voulais dire fonce vers du pyhton, pas de faire du golang: leur mascotte est trop moche...
    Ah oui, t'as pas du bien regarder la mascotte de java alors. Il est gagnant depuis le début à ce niveau.

    Pour rappel, ça ressemble à ce tas de merde (le nez de clown, ça fait super sérieux) :



    - - - Mise à jour - - -

    Citation Envoyé par Spart Voir le message
    En parlant de Golang :

    Il est un peu vieux ce talk, la blabla sur godep c'est plus valide.
    "Nobody exists on purpose. Nobody belongs anywhere. We're all going to die. Come watch TV." - Morty Smith

  9. #249
    Ouais c'est bon, ok, la mascotte de java est toute pourrie. Mais le langage date d'avant l'an 2000. Alors que go n'a pas cette excuse.


    - - - Mise à jour - - -

    C'est au moins du material design ce truc.

  10. #250
    Sinon RUBY a un joli logo, simple, sobre, en accord avec le nom.




  11. #251


    Le logo qui a inspiré une marque de grande distribution.

    (J'ai pas trouvé de logos officiels pour Fortran et ALGOL 60. Peut-être qu'ils n'existent que pour cartes perforées.)

  12. #252
    pour les javateux z'avez vu le nouveau versioning de java, avec année+mois tous les 6 mois plus des LTS de temps en temps ?
    http://www.oracle.com/technetwork/java/eol-135779.html
    Genre là on vient d'avoir Java 9, le prochain c'est Java 18.3

  13. #253
    mouais. On va voir ce que ça donne, mais ça risque de perdre les gens...
    Ce qu'il faut savoir, c'est qu'on ment beaucoup aux minmatars, surtout lorsqu'ils posent des questions du style: "t'es sûr que ça vole, ce truc ?" Cooking Momo, le 30/08/09

  14. #254
    Citation Envoyé par JVDaedelus Voir le message
    Merci.

    Non pas obligatoirement en C mais c'est celui qui me paraissait le plus intéressant pour commencer. Mais je peux me tromper.
    Il n’y a pas de langage parfait pour commencer. Comme d’habitude chacun va te dire « X c’est le mieux » mais c’est faux, d’où la variété des réponses... Ça dépend complètement de ce que tu projettes de faire et de ta motivation. Le C/C++ c’est un peu raide mais si tu t’accroches tu vas voir plein de concepts qui sont parfois cachés dans d’autres langages mais qu’il est bien utile de connaître (plutôt C++ que C histoire de profiter des classes). Par contre si ton but c’est de faire du web côté client c’est pas forcément le meilleur choix À l’inverse si tu ne comptes pas faire du web, vu à quel point l’environnement est hostile, t’as tout intérêt à le laisser de côté pour débuter.

    Python c’est facile d’accès mais c’est aussi parfait pour prendre de mauvaise habitudes. Je le vois très souvent au taf vu qu’on a une API Python pour des clients qui ne sont pas développeurs à la base. D’ailleurs parmi tous les gens qui te recommandent Python, à mon avis aucun n’a appris à coder avec ce langage.

    Quoiqu’il en soit, tant que t’évites les langages hype du moment pour rester sur les classiques (C/C++/C#/Java/Python/etc.) tu trouveras facilement une tonne de ressources et de vrais cours gratuitement sur le net pour tout un tas d’applications différentes. T’as aussi le droit de changer de langage en cours de route

  15. #255
    Si c'est pour une initiation, le choix du langage est presque secondaire ; il en faut seulement un qui te permette d'appréhender les concepts généraux de la programmation sans avoir en plus à assimiler ses spécificités. De ce point de vue le C++ est à mon avis un très mauvaix choix, je verrais plus Python ou Ruby, ma préférence allant à ce dernier.

  16. #256
    En soi c'est pas déconnant de commencer par du haut-niveau (c'est ce que j'ai moi-même fait), mais faut garder à l'esprit qu'il n'y a aucune magie et que toutes les fonctionnalités existantes ont été codées pour nous.
    Donc, faire du Java ou du C# pourquoi pas, mais si c'est ensuite pour coder en permanence comme un gros crade sans se soucier de l'utilisation cpu/mémoire, c'est moyen.

    Dans l'idéal il faudrait changer de langage régulièrement pour explorer de nouveaux aspects du développement, par exemple :
    • Commencer par apprendre les bases avec un langage de haut-niveau, pas forcément orienté objet, sans faire d'objet. Se concentrer sur les bases : variables, fonctions, conditions, boucles, algorithmie...
      Par exemple, avec Ruby.
    • Basculer ensuite sur un langage, probablement encore haut-niveau, qui tourne autour de l'orienté objet, pour apprendre à coder en orienté objet avec toutes les notions qu'il y a derrière : classes, instances, héritage, virtual/abstract, etc.
      Au pif, avec Java.
    • Puis enfin apprendre à se soucier de ce qui se passe sous le capot, avec un langage de bas-niveau : supprimer les objets alloués en mémoire, optimiser ses calculs, optimiser l'occupation mémoire, l'alignement, dérouler les boucles, etc.
      Le meilleur choix est ici indéniablement le C++. On se permet d'avoir une syntaxe adaptée pour continuer à faire de l'objet (on peut tout à fait en faire en C, mais c'est moins "confortable"), tout en évitant l'indigestion de l'assembleur.

  17. #257
    Citation Envoyé par taronyu26 Voir le message
    Donc, faire du bas niveau pourquoi pas, mais si c'est ensuite pour coder en permanence comme un gros crade sans se soucier de l'architecture, de la maintenabilité et de l'évolutivité, c'est moyen.
    Fix'd.

  18. #258
    Citation Envoyé par GrandFather Voir le message
    Si c'est pour une initiation, le choix du langage est presque secondaire ; il en faut seulement un qui te permette d'appréhender les concepts généraux de la programmation sans avoir en plus à assimiler ses spécificités. De ce point de vue le C++ est à mon avis un très mauvaix choix, je verrais plus Python ou Ruby, ma préférence allant à ce dernier.
    Ben pas forcément. J’ai commencé par du C/C++ et ça s’est très bien passé. Mais c’était pas en mode yolo sur un coin de table, j’étais en cours et ça tombe bien, des cours C++ de profs pour débutants, on en trouve plein. Tu commences pas directement par te frapper les concepts autour des pointeurs en C/C++ Par contre comme je le disais c’est un peu raide alors si en plus ça colle pas à ton projet futur c’est peut-être pas la bonne entrée en matière. Mais ça peut l’être. Dans tous les cas il n’y a pas une bonne réponse à la question "Quel est le meilleur langage pour commencer ?". Ça dépend complètement de la personne et du contexte.

    Citation Envoyé par taronyu26 Voir le message
    En soi c'est pas déconnant de commencer par du haut-niveau (c'est ce que j'ai moi-même fait), mais faut garder à l'esprit qu'il n'y a aucune magie et que toutes les fonctionnalités existantes ont été codées pour nous.
    Donc, faire du Java ou du C# pourquoi pas, mais si c'est ensuite pour coder en permanence comme un gros crade sans se soucier de l'utilisation cpu/mémoire, c'est moyen.

    Dans l'idéal il faudrait changer de langage régulièrement pour explorer de nouveaux aspects du développement, par exemple :
    • Commencer par apprendre les bases avec un langage de haut-niveau, pas forcément orienté objet, sans faire d'objet. Se concentrer sur les bases : variables, fonctions, conditions, boucles, algorithmie...
      Par exemple, avec Ruby.
    • Basculer ensuite sur un langage, probablement encore haut-niveau, qui tourne autour de l'orienté objet, pour apprendre à coder en orienté objet avec toutes les notions qu'il y a derrière : classes, instances, héritage, virtual/abstract, etc.
      Au pif, avec Java.
    • Puis enfin apprendre à se soucier de ce qui se passe sous le capot, avec un langage de bas-niveau : supprimer les objets alloués en mémoire, optimiser ses calculs, optimiser l'occupation mémoire, l'alignement, dérouler les boucles, etc.
      Le meilleur choix est ici indéniablement le C++. On se permet d'avoir une syntaxe adaptée pour continuer à faire de l'objet (on peut tout à fait en faire en C, mais c'est moins "confortable"), tout en évitant l'indigestion de l'assembleur.
    Tu peux faire le premier point avec Java et tu peux faire les deux premiers points en C++ aussi Et je dis ça alors que je n’aime pas le C++. Mais je suis d’accord, c’est bien de varier un peu au lieu de s’enfermer dans une boîte.

  19. #259
    Citation Envoyé par Orhin Voir le message
    Fix'd.
    Lolno.
    Concernant l'architecture, il n'y a pas grand chose qui change dans tes sources si tu as codé multiplateforme à la base. J'ai porté deux projets persos depuis du C++/Windows vers du C++/Linux récemment, sur x86 (ça utilisait un peu de la Windows API pour les threads, et 2-3 autres trucs). Pour les porter ensuite vers du ARM/Linux, il m'a suffit de modifier 3 pauvres caractères dans mon makefile (retirer une option non applicable pour le compilo).
    Ouhlala, ça a été dur.


    Après, si c'est pour porter du code qui utilise des instructions AVX512, qui était à destination des processeurs Intel/AMD x86_64, vers des instructions NEON pour un ARM Cortex A53 ARMv8a x64, alors oui il faudra revoir ton code. Mais dans ce cas, pour ce genre d'instructions, tu fais comment en java ?

    (en vrai ma question est sérieuse : Java est riche en instructions spécifiques au matos ou la JVM est vraiment moisie ?)

    Citation Envoyé par Frypolar Voir le message
    Tu peux faire le premier point avec Java et tu peux faire les deux premiers points en C++ aussi Et je dis ça alors que je n’aime pas le C++. Mais je suis d’accord, c’est bien de varier un peu au lieu de s’enfermer dans une boîte.
    Oui, bien sûr, le C++ étant le langage parfait il permet de réaliser ces trois étapes haut la main

    Je voulais le présenter comme ça, pour illustrer la transition haut niveau vers bas niveau, en abordant peu à peu les différentes notions.

  20. #260
    Citation Envoyé par Rao Voir le message
    pour les javateux z'avez vu le nouveau versioning de java, avec année+mois tous les 6 mois plus des LTS de temps en temps ?
    http://www.oracle.com/technetwork/java/eol-135779.html
    Genre là on vient d'avoir Java 9, le prochain c'est Java 18.3
    Oui, ça va faire un peu bizarre au début, mais je trouve ça bien cette manière de versionner.
    Et peut-être que sa motivera les DSI à coller un peu plus au version (j'y crois pas trop, mais bon,...), quand en 2025 ils se rendront compte que leurs jvm sont toujours en java 2018...

    j'espère qu'ils vont réussir à faire évoluer le langage sans tout casser...

    La donation de JavaEE à la fondation Eclipse c'est plutôt bon signe pour moi. Mais c'est peut être un mauvais signe pour les entreprises, quand je vois mon chef et son rapport très daté à l'open source...

    Pour l'initiation à la programmation, à mon humble avis le langage est important, surtout pour de l'auto formation.
    Je pense qu'il faut un langage de haut niveau qui permette de se focaliser sur l'apprentissage des concepts algorithmiques, puis des concepts de programmation (procédural, objet, fonctionnel). Tout en restant un minimum fun et sans avoir trop besoin d'un environnement de travail (IDE, compilo, chaine de build).

    Un langage comme pyhton, ruby ou encore javascript permet de passer par toutes ces étapes (pour js c'est parfois un peu plus brouillon) sans entrave. C'est facile de chopper des tutos sympas et de rapidement faire des petits programmes.

    En C/C++ (et en Java dans une moindre mesure), c'est moins progressif et surtout ces langages vont te mettre des bâtons dans les roues à chaque étape de l'apprentissage.
    C'est pas pour rien que les universités choisissent un langage officiel et qu'elles sont massivement passées de Pascal/C à Java puis à Python pour les phases d'apprentissages générales (après il y a des cours spécifiques qui utilisent des langages spécifiques).

    Perso j'ai commencé avec du C. J'était bon en algorithmique, mais j'ai pleuré des larmes de sang durant les premiers TP en C: les core dumps font trop mal, le debugging est pas franchement simple à mettre en oeuvre. Faire un Makefile c'est un peu trop ésotérique. Alors après on peut sortir un IDE et des configurateurs, mais on sort de l'apprentissage de base pour aller vers une utilisation plus professionnel...
    Quand les profs de mon IUT ont décidés de basculer sur Java alors que ce n'était pas encore gagné pour lui (merci a eux d'avoir été visionnaire ), j'ai pu enfin mettre en oeuvre mes algos sans avoir trop besoin de penser au fonctionnement interne de l'ordi et à gérer mes tableaux comme à la préhistoire.

    Et honnêtement il n'y a pas tant besoin de savoir comment ça marche en dessous. Les trucs généralement 'crades' ce sont des copiés/collés, des méthodes qui refont les mêmes calculs coûteux dans des boucles,...
    Bref plutôt des problèmes de compréhension général et de mauvaise vision long terme pour la maintenance que le fait d'ignorer le fonctionnement de l'assembleur.

    Perso je ne vois aucune justification à orienter quelqu'un de débutant, particulièrement en apprentissage autonome, vers du C/C++ ou encore du Java.
    Pour quelqu'un qui sait déjà programmer et qui veut s'orienter spécifiquement vers un domaine là d'accord (par ex jeux --> C++, IoT --> C, ...)
    Dernière modification par William Vaurien ; 27/09/2017 à 10h55.

  21. #261
    Citation Envoyé par William Vaurien Voir le message
    le debugging est pas franchement simple à mettre en oeuvre.
    C'est mieux avec les autres langages ? Je me suis récemment mis à écrire quelques petits scripts python récemment mais j'y connais rien en outils de débogage. Tu as des logiciels à recommander? Je me souviens particulièrement de bugs de typage où, à cause du typage dynamique, l'erreur est signalée au dernier moment. Remonter à la source de la donnée erronée était déjà difficile dans un script d'une centaine de lignes, j'ose pas imaginer dans une grosse application.

    Pour le C/C++ j'ai passé des années (avant l'école d'ingé) à utiliser un IDE qui s'occupait de la compilation pour moi et proposait un GUI pour le débogueur, c'est pas si difficile. Et un débutant n'a pas besoin de Makefile, d'allocation dynamique complexe (voire de pointeurs, surtout en C++ avec les conteneurs standards) ou de la méta-programmation très complexe du C++.

  22. #262
    pour le debug, c'est un peu rustique en python de base, c'est pdb en ligne de commande, un clone de gdb... Donc là c'est peut être un mauvais exemple.
    Mais au moins il y a des stack traces. Alors qu'en C tu pleures juste ton core dump. C'est assez simple une fois que tu sais comment compiler et charger tout ça dans gdb, mais c'est quand même pas top pour un premier contact.

    Mais du coup si tu fais du C sans Makefile, allocation dynamique ni pointeurs, autant prendre un langage plus sympa à prendre en main, non ?

  23. #263
    Citation Envoyé par taronyu26 Voir le message
    Lolno.
    Concernant l'architecture, il n'y a pas grand chose qui change dans tes sources si tu as codé multiplateforme à la base. J'ai porté deux projets persos depuis du C++/Windows vers du C++/Linux récemment, sur x86 (ça utilisait un peu de la Windows API pour les threads, et 2-3 autres trucs). Pour les porter ensuite vers du ARM/Linux, il m'a suffit de modifier 3 pauvres caractères dans mon makefile (retirer une option non applicable pour le compilo).
    Ouhlala, ça a été dur.


    Après, si c'est pour porter du code qui utilise des instructions AVX512, qui était à destination des processeurs Intel/AMD x86_64, vers des instructions NEON pour un ARM Cortex A53 ARMv8a x64, alors oui il faudra revoir ton code. Mais dans ce cas, pour ce genre d'instructions, tu fais comment en java ?

    (en vrai ma question est sérieuse : Java est riche en instructions spécifiques au matos ou la JVM est vraiment moisie ?)
    Merci d'illustrer parfaitement ce que je voulais dire.
    Tu es tellement dans l'optique bas niveau que tu n'as pas compris que je parlais d'architecture logicielle.

    Le cliché du mec "haut niveau" qui ne se préoccupe pas des ressources, je le croise pas plus souvent que le profil "bas niveau" qui est incapable d'architecturer son code.

  24. #264
    *hey, psst*

    Le plus direct pour apprendre le bas niveau c'est le C, mais si tu veux apprendre le bas niveau et en même temps avoir un langage confortable (beaucoup plus que le C++) il y a aussi le Rust.
    Rust fanboy

  25. #265
    Citation Envoyé par William Vaurien Voir le message
    pour le debug, c'est un peu rustique en python de base, c'est pdb en ligne de commande, un clone de gdb... Donc là c'est peut être un mauvais exemple.
    Mais au moins il y a des stack traces. Alors qu'en C tu pleures juste ton core dump. C'est assez simple une fois que tu sais comment compiler et charger tout ça dans gdb, mais c'est quand même pas top pour un premier contact.

    Mais du coup si tu fais du C sans Makefile, allocation dynamique ni pointeurs, autant prendre un langage plus sympa à prendre en main, non ?
    PyCharm a un bon debugger, et même dans l'éditeur (avec le plugin python je pense) VisualCode le debugger visuel a base de breakpoints et tout fonctionne bien.
    Sion pdb c'est rustique en effet mais ça fonctionne. Tu vas vite te rendre compte si t'en a laissé dans le code anyway .

  26. #266
    Citation Envoyé par Orhin Voir le message
    Merci d'illustrer parfaitement ce que je voulais dire.
    Tu es tellement dans l'optique bas niveau que tu n'as pas compris que je parlais d'architecture logicielle.

    Le cliché du mec "haut niveau" qui ne se préoccupe pas des ressources, je le croise pas plus souvent que le profil "bas niveau" qui est incapable d'architecturer son code.


    Honte sur moi.

    De toute façon tout le monde sait que le mieux c'est du coder en ad-hoc

  27. #267
    Citation Envoyé par Orhin Voir le message
    Merci d'illustrer parfaitement ce que je voulais dire.
    Tu es tellement dans l'optique bas niveau que tu n'as pas compris que je parlais d'architecture logicielle.

    Le cliché du mec "haut niveau" qui ne se préoccupe pas des ressources, je le croise pas plus souvent que le profil "bas niveau" qui est incapable d'architecturer son code.
    Y'a aussi le fait que c'est quand même pas dans tous les coeurs de métier que t'as ce genre d'optimisation "bas niveau" à faire.
    Y'a quand même énormément dev qui va être sur du web et entre passer des heures d'ingénieurs pour optimiser l'utilisation serveur et cliquer un bouton pour changer l'instance qui va couter 2$ de plus par mois, souvent y'a pas photo.
    Évidemment, y'a une limite à ça mais on peut aller très loin sans trop s'en soucier. Et à quoi bon optimiser ton CPU si derrière toute ton archi microservice mongodb docker kubernetes kafka spring truc met 1min à te répondre.


    Pis la RAM et le CPU c'est fait pour être utilisé à fond et pas se toucher

  28. #268
    Citation Envoyé par Orhin Voir le message
    Tu es tellement dans l'optique bas niveau que tu n'as pas compris que je parlais d'architecture logicielle.
    Bien sûr, puisque dans architecture il y a "art". C'est pour ça qu'on parle d'ingénierie logicielle.



  29. #269
    Citation Envoyé par taronyu26 Voir le message
    De toute façon tout le monde sait que le mieux c'est du coder en ad-hoc

  30. #270
    Citation Envoyé par Tomaka17 Voir le message
    *hey, psst*

    Le plus direct pour apprendre le bas niveau c'est le C, mais si tu veux apprendre le bas niveau et en même temps avoir un langage confortable (beaucoup plus que le C++) il y a aussi le Rust.
    Tiens d'ailleurs mon DFDJ c'est apprendre qu'une partie significative de Firefox est écrite en Rust ! Le savriez vous ?

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •