Partage
  • Partager sur Facebook
  • Partager sur Twitter

Que pensez-vous des Pythonneries ?

Controversé

    13 novembre 2011 à 0:19:28

    J'ai pas dit le contraire, mais on parle de tri rapide/timsort là, donc je ne l'ai pas mentionné. D'ailleurs, il me semble qu'ocaml utilise un tri fusion dans la bibliothèque standard.
    • Partager sur Facebook
    • Partager sur Twitter
      13 novembre 2011 à 0:56:39

      [mode : je parle de tri alors que j'y connais presque rien :honte: ]
      J'ai entendu un type qui disait qu'un type lui avait dit qu'il y avait une faille de sécurité dans le quicksort : si on propose un tableau dans un ordre bien précis, le temps pour le trier peut être (le pire des cas) assez long, assez long pour faire planter des serveurs à qui ont fait trop de requêtes. Légende urbaine ???
      On aurait implémenté une variante qui mélange (au hasard :magicien: ) un peu le tableau, pour ensuite appliquer le quicksort sur un tableau qui n'est pas le pire des cas.
      [/mode tri]

      --

      Ubuntu n'est plus n°1 : c'est Linux Mint (ou du moins, ce sera vrai dans un mois à ce rythme)
      Cependant, ce n'est pas la référence (ni mint d'ailleurs).
      Je suis pro Mint depuis 2006 (j'ai encore le CD barbara), mais je suis prêt à passer à fedora s'ils sont les premiers* à passer à Python3, ce qui est possible.
      (* oups, c'est vrai, il y a arch, pardon, il faudrait que je la teste enfin depuis le temps)
      --
      Pour pypy, comme pour matplotlib, c'est python3 dans pas longtemps, comme tout ce qui est développé activement récemment.
      [mode :ninja: ] Au passage pypy est le seul truc bien que je connaisse issu du financement européen. [/ :diable: ]
      --
      Quand je parle d'un débutant, c'est d'un vrai débutant, qui va utiliser un module qui déchire que dans 3-4 ou 5 ans. Donc pour moi c'est évident, c'est Python3 pour lui.
      Si on parle débutant python mais avec déjà grosse carrière en OCva++machin#, alors ça se discute un peu, suivant l'objectif qui doit être précis.

      • Partager sur Facebook
      • Partager sur Twitter
        13 novembre 2011 à 1:00:41

        Citation

        ?


        Ce que je voulais dire c'est que peu importe ce que choisi Ubuntu, ça ne doit pas affecter Python, s'ils veulent distribuer python 1.x ou 3.3 ça ne change rien, ça n'est pas parce qu'une distro très utilisée doit décider pour les autres. En plus ce qui arrivera probablement à un moment c'est qu'on aura une version d'Ubuntu en py3 et une autre LTS en py2, auquel cas quelle version de Python privilégier (si on choisir par rapport à Ubuntu)?

        Citation

        Je constate seulement que la distrib desktop la plus populaire -- et de loin


        Oui mais populaire auprès de qui? Et pour combien de temps encore?

        Citation

        il faut bien voir que sur Prologin on ne peut pas soumettre son code en Python 3


        Il y a aussi plein de pc qui sont encore sous XP, des softs faiti en COBOL, bref ça n'est pas un bon argument. Oui je pense que c'est honteux que Prologin ne propose que du Python 2 (même pas 2.7).

        Citation

        Tu veux dire quoi par là ? Que Python est un mauvais choix ?


        Non du tout, au contraire je l'adore même s'il a des défauts mais ça n'est pas vraiment le sujet là.

        ---

        Enfin bon on s'éloigne du sujet, un nouveau thread py2/py3? (à noter que c'est une bonne chose que les gens soit un peu "violent" quand ils parlent de la version de Python, ça veut dire que la communauté Python est vivace). Et puis comme dit Stroustrup "There are only two kinds of languages: the ones people complain about and the ones nobody uses."...

        ---

        @La Hache: Mint est basée sur Ubuntu, non? Pour Pypy j'ai vu sur leur site qu'ils récoltaient des fonds pour Python 3 ;)
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          13 novembre 2011 à 1:12:53

          Citation : cerium50


          Il y a aussi plein de pc qui sont encore sous XP, des softs faiti en COBOL, bref ça n'est pas un bon argument. Oui je pense que c'est honteux que Prologin ne propose que du Python 2 (même pas 2.7).


          Argument rejeté. Quels sont les autres langages qui permettent la gestion de nombres à virgule fixe ? Combien d'applications ultra-sensibles dans le domaine bancaire utilisent encore COBOL ?
          Quel est le gain en stabilité et ergonomie de passer de XP à Seven ?

          Il y a une différence entre participer à un concours amateur et parler de coût d'évolution de parcs informatique très importants (dans le cas de XP) ou des impossibilités techniques liés au changement des applications financières qui datent des années 70 (sans parlé du coût gigantesque intrinsèque à ces changements).

          Bref, il y a un monde. Comparons ce qui est comparable.
          • Partager sur Facebook
          • Partager sur Twitter
            13 novembre 2011 à 1:33:47

            Citation : AporieDramatique


            Je pense que tu viens de prouver ton manque de compétence dans le domaine. D'un côté, tu cites un type qui est effectivement une pointure dans son domaine, et qui dit clairement qu'une version soigneusement rédigée du tri rapide sera vraisemblablement plus rapide en général. De l'autre, tu promènes tes gros sabots et ta complexité dans le cas moyen — clairement ça n'est plus là qu'est la discussion, hein.



            J'ai rappelé la complexité moyenne optimale du tri quicksort pour expliquer qu'après tout l'argument de Pythonnerie n'est pas si délirant qu'on veut le faire croire. Et il se trouve pour aller dans le même sens que le quicksort permet des implémentations particulièrement efficaces. On aurait pu répéter le premier argument pour le mergesort mais pas le deuxième donc ce que je viens de dire se tient parfaitement.

            Citation : AporieDramatique


            Non. Quitte à écrire des tris en "quelques lignes" sans se soucier des facteurs constants (qui sont tout l'intérêt du tri rapide), le tri par fusion est encore plus simple.



            Très subjectif.


            Citation : VainEntetement

            Encore une fois, l'exemple d'Ubuntu n'a aucun sens.



            Que TU trouves cela absurde ne prouve pas que cela n'ait aucun sens. Qu'Ubuntu n'ait pas adopté Python alors qu'elle touche le plus grand nombre d'utilisateurs est signifiant de la difficulté à rendre le système comptatible avec l'existant. [Et cela a aussi une conséquence pratique, je te rappelle qu'Ubuntu est très utilisée, en particulier par des débutants : une moins grande disponibilité, par exemple : les dépôts ne disposent parfois pas des versions 3 de telle ou telle bibliothèque, ainsi, chez moi Synaptic ne propose pas Pygame en version Python 3 : je dois donc me la compiler moi-même ? c'est très pratique pour le débutant.] Et c'est justement cela le problème de Python 3, la rupture de compatibilité ; pour cela que pour moi le choix de Python 3 se discute. Pour l'instant avec Python 2, je peux TOUT faire tourner car il n'existe encore aucune bibliothèque qui ait du code spécifique à Python 3 sans contre-partie Python 2. C'est loin d'être le cas avec Python 3. Perso, j'utilise plusieurs modules non portés en version 3.
            Plusieurs packages populaires n'ont pas été portés en version 3 ; pygame n'est pas totalement portée en version 3. Sans parler de l'énorme inconvénient de ne pouvoir exécuter tout le code antérieur (or, on apprend aussi à coder en essayant du code de référence et qui va être écrit en Python version ... 2 et pas trois). Bref, je ne vois personnelement que des inconvénients à utiliser Python 3 pour l'instant, et je suis loin d'être le seul dans ce cas (cf. avis de nohar par exemple et aussi d'autres avis sur StackOverflow). Bien sûr, c'est le contraire pour ceux qui apprennent Python avec le tuto du sdz.


            Citation : VainEntetement

            Encore une fois, l'argument d'autorité qui consiste à voir le choix d'ubuntu comme une bonne raison de préférer python 2 à python 3 pour un débutant sous prétexte qu'ubuntu est plus connu du grand public n'a aucun sens.


            Pas du grand public, mais des débutants eux-mêmes.


            Citation : VainEntetement


            Pour le timsort, il est effectivement plus rapide dans la majorité des cas que le quicksort.



            Ça reste largement à prouver. Les publications scientifiques sont inexistantes, les benchmarks sont peu nombreux et ceux effectués sur Java ne montrent pas du tout un avantage décisif pour le timsort (et même au contraire, le quicksort semblerait l'emporter) , en réalité, les performances vont varier selon les types de tests et même selon la version de Java !!!! c'est si dire si on a des éléments robustes de jugement !! Donc, non, non, rien n'est prouvé et la suite de ton argumentation est donc sans valeur.


            Citation : VainEntetement

            En revanche, le choix d'autre langages peut s'expliquer par le fait que quicksort est implémentable très facilement en quelques lignes, et qu'en pratique, il est évidemment suffisant dans la quasi-totalité des cas.



            Sauf que les bibliothèques vont rarement implémenter la version naïve même si dans 90% des cas elle pourrait suffire : regarde donc la version qsort dans glib !!



            Citation : VainEntetement


            Mais on ne parle pas de ça ici, bien sûr qu'il y a des erreurs partout, mais elles sont acceptables tant qu'elles restent en dessous d'un certain seuil.



            Tu sais le seuil, il est très relatif et subjectif. Il y a quelques années, j'ai discuté sur le forum usenet du tutoriel C officiel du sdz : la plupart des intervenants étaient proprement horrifiés des approximations contenus dans le dit-tutoriel, pour eux c'était le signe d'une incompétence rédhibitoire. Mais ce n'est pas ce qu'il faut voir mais plutôt qu'est ce que le tutoriel peut apporter au débutant au-delà des inévitables simplifications. Les fautes dans le tutoriel Pythonneries ? Bof, rien de plus qu'ailleurs, sur quicksort, tu n'a rien prouvé. Le tutoriel contient des partis pris très discutables, ça c'est une chose, le mode vidéo peut-être contesté ok mais pour le reste, vous n'avez rien dit de convaincant.
            • Partager sur Facebook
            • Partager sur Twitter
              13 novembre 2011 à 1:42:56

              Je sais bien que l'argument ultime pour COBOL c'est la virgule fixe, mais ADA aussi propose ce genre d'arithmétique, et plein d'autres langages la propose sous forme de lib (standard ou non).

              Le problème d'utiliser COBOL, c'est que ça coûtent très cher (il n'y a plus de dév COBOL), et qu'on n'ose pas modifier le code existant car bien souvent on ne sait pas/plus comment il fonctionne, et le mec qui l'a écrit en 78 est parti depuis bien longtemps.

              Pour XP le problème est la sécurité, avoir un système qui n'est plus supporté par Microsoft (enfin qui est dans sa "phase d'extension de support" http://support.microsoft.com/lifecycle/?C2=1173&LN=fr-FR),
              c'est prendre un grand risque au niveau sécurité, et s'il y a un problème ça va coûter cher. Qui plus est le jour où l'upgrade aura lieu, encore une fois ça coûtera cher (formation, mise à jour des softs/OS,...).

              Bref je ne dis pas que ma banque devrait utiliser Python 3.3 ou C++ 11, mais il y a une différence entre vouloir un support d'une durée "honnête", et un support qui n'en finit plus.
              • Partager sur Facebook
              • Partager sur Twitter
                13 novembre 2011 à 1:56:43

                Citation : candide

                Citation : SpaceFox

                Personnellement j'aime pas, d'abord et avant tout à cause du format vidéo. Pour certains tuto sur le graphisme et la vidéo, pourquoi pas.
                Pour la prog, c'est juste insupportable : pas transportable, pas feuilletable, rythme imposé, impossibilité de mettre des signets



                Ça me paraît être une critique audible bien que je trouve que vous êtes, dans l'ensemble, assez virulents (le terme «insupportable» est fort) dans vos propos contre ce type de document.


                Je persiste et signe : pour moi, un tuto sur la programmation en vidéo, c'est non, point final. Je ne regarde même pas et je cherche immédiatement quelque chose d'autre.
                Je ne vois absolument aucun avantage à ce format pour ce genre de tutos, et que des inconvénients dont voici une liste que j'espère aussi exhaustive de mon point de vue que possible et à peu près dans un ordre d'importance de problème décroissant (i.e. le plus gênant au début).
                • Le rythme est imposé, sauf à passer son temps à jouer avec les boutons "pause" et "avance rapide".
                • Conséquence : fort risque de zapper un passage important (pas de "lecture en diagonale" possible) ou perte de temps sur de choses inutiles / déjà connues si on fait attention à ne rien louper.
                • Impossibilité de cherche un terme précis.
                • Impossibilité de mettre des signets. Conséquence : impossibilité de retrouver facilement une information précise.
                • Difficulté de transport du document.
                • Difficulté de mise à jour, ce qui fait que les tutos vidéos sont rarement mis à jour.
                • Impossibilité de faire du copier / coller des exemples donnés.
                • Impossibilité d'imprimer, surtout important s'il y a un résumé ou une synthèse pertinente (un tableau, ...)
                • Pas de possibilité simple d'avoir des liens vers des ressources externes (ou alors il faut les placer hors contexte, dans des commentaire ou dans une page spéciale ; s'ils sont intégrés à la vidéo, il faut se taper l'URL à la main ce qui peut être très chiant dans certains cas).
                • Beaucoup de tutos vidéos sont fait par des gens qui ne savent pas parler pour ce genre de chose et sont donc très désagréables à suivre (voix / rythme / hésitations / ...) nonobstant la qualité des informations fournies.
                • Si la vidéo n'est pas correctement découpée, l'ordre des chapitres est imposé même quand ils sont indépendants.

                Pour certains points on pourra dire qu'il y a la transcription.
                D'une, cette transcription n'existe pas toujours (on l'oblige sur le Site du Zéro mais c'est spécifique à ici).
                De deux... Sérieusement, vous avez essayé de lire une transcription seule ?

                Donc oui, "insupportable", c'est bien le mot qui convient. Je ne supporte pas les tutos de langage de prog en vidéo.
                A la limite, la vidéo "faites XXXXX en 10 minutes" pour une démo d'efficacité de framework. Et encore, je préfère le tuto "texte" où tu peux facilement vérifier toi-même que c'est super simple et que c'est pas uniquement parce que le gars utilise l'outil depuis des mois et en connaît toutes les ficelles.
                • Partager sur Facebook
                • Partager sur Twitter
                  13 novembre 2011 à 2:46:19

                  Candide, est-ce que tu pourrais expliquer clairement en quoi le fait qu'ubuntu soit plus connue rend son choix plus intéressant ? Archlinux fait l'inverse, et oh, ça marche très bien. Et c'est certainement pas la seule. Le fait qu'ubuntu soit une distribution plus soutenue la rend plus intéressante ?

                  Si tu ne vois que des inconvénients à utiliser Python 3, « tu devrais te proposer comme conseiller personnel de guido » pour lui expliquer qu'ils auraient mieux fait de ne pas faire évoluer le langage, puis-qu’apparemment tous les changements apportés vont vers le bas.

                  Et j'attends toujours tes erreurs relevées sur le tuto C - qui encore une fois, ne doivent pas relever d'approximations volontairement faites pour embrouiller le lecteur.

                  Enfin, si tu es aussi exigeant sur la qualité de tes cours que l'a été l'auteur du tutoriel, ça ne m'étonne pas que tes élèves de « bon-niveau » soient incapables de comprendre l'énoncé d'une question d'algorithmique.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    13 novembre 2011 à 4:37:31

                    Citation : VainEntetement

                    est-ce que tu pourrais expliquer clairement en quoi le fait qu'ubuntu soit plus connue rend son choix plus intéressant ?



                    J'ai déjà répondu à cette question.


                    Citation : VainEntetement

                    Archlinux fait l'inverse, et oh, ça marche très bien.



                    Quoi ça ? Archlinux marche très bien ? Archlinux et Python 3 marchent très bien ? Je ne vois pas ce que tu vas pouvoir corréler de manière sérieuse. Au passage, et bien que sous Linux depuis pas mal d'années, je te signale que je ne sais même pas ce qu'est ArchLinux, Python 3 m''aura donc au moins été utile à quelque chose.




                    Citation : VainEntetement


                    ils auraient mieux fait de ne pas faire évoluer le langage, puis-qu’apparemment tous les changements apportés vont vers le bas.



                    Ce n'est pas ce que j'ai dit. Python 3 est certainement un progrès par rapport à Python 2, le langage est certainement plus clean. Mais il faut bien constater que 3 ans après son lancement, cette version est loin d'être pleinement adoptée. Je ne sais pas si l'équipe Python pensait qu'on en serait là 3 ans après. Et cette incertitude (deux versions incompatibles officielles concurrentes) à mon avis n'a pas rendu Python très lisible.

                    Citation : VainEntetement


                    Et j'attends toujours tes erreurs relevées sur le tuto C



                    Tu peux attendre.

                    Citation : VainEntetement


                    Enfin, si tu es aussi exigeant sur la qualité de tes cours que l'a été l'auteur du tutoriel, ça ne m'étonne pas que tes élèves de « bon-niveau » soient incapables de comprendre l'énoncé d'une question d'algorithmique.



                    Je vois pas le rapport avec le fil de discussion que tu essayes grossièrement de faire déraper.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      13 novembre 2011 à 10:09:29

                      Tu n'as répondu à rien du tout, tu n'as donné nulle part un argument clair expliquant en quoi le fait qu'ubuntu soit plus connu rend ses développeurs plus intelligents.

                      Oui, archlinux et python3 en version par défaut, ça marche très bien. Si tu ne la connais pas, ça veut simplement dire que tu n'es pas allé très loin sous linux (et pourtant, il me semble que c'est aussi mon cas), mais ça n'a aucun rapport. Je suis par contre surpris que tu ne la connaisses pas mais que tu sembles dire que ça ne marche pas.

                      Si python 3 est un progrès, tu es donc d'accord pour dire, contrairement à ce que tu disais un message plus haut, que non, il n'y a pas aucun intérêt à utiliser python 3 ?

                      Je sais que je peux attendre les erreurs du tutoriel C. Je sais que tu ne les chercheras pas, parce que tu sais parfaitement que tu n'en relèveras jamais qui auront le niveau de celles de pythonneries.

                      Pour ma dernière phrase, je soulignais juste qu'il est paradoxal que sur ce fil, la personne la plus tolérante aux gros défauts d'un enseignement soit justement un enseignant. J'aurais cru que vous aviez un minimum d'exigence de qualité et d'estime pour votre rôle. Peut-être est-ce l'effet fac, va savoir.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        13 novembre 2011 à 10:36:15

                        Citation : VainEntetement

                        Peut-être est-ce l'effet fac, va savoir.



                        Touche à ton cul.
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          13 novembre 2011 à 10:41:44

                          Les erreurs de ce tuto ne sont pas négligeable, clairement. Mais le plus gros problème reste l'utilisation de vidéo comme support de cours. Ça va être la grosse misère de le mettre à jour et de corriger les énormes erreurs qu'il contient, et le pire c'est pour le lecteur (humain) qui doit suivre la vidéo tout en faisant des essais de son coté.

                          Ce n'est pas manquer de respects de dire que ce tuto est mauvais, c'est la vérité et l'auteur ne peut rien faire d'autre que d'abandonner ce genre de cours en vidéo et se mettre à la page.
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            13 novembre 2011 à 10:50:42

                            Citation

                            J'aurais cru que vous aviez un minimum d'exigence de qualité et d'estime pour votre rôle.



                            Attaque personnel contre les enseignants? :)

                            Personnellement, je n'ai pas le même point de vue que toi en tant qu'enseignant. Es-tu enseignant? As-tu passer un concours de l'enseignement. Sais-tu quels sont les conditions pour être un bon enseignant.

                            La mise en forme d'un cours n'est pas la seule chose utile à un bon cours (enregistre c'est important), mais la façon dont tu vas partager ton savoir. Ca s'appelle la pédagogie!

                            Quand tu dis qu'il y a des choses fausses (il est bon tout d'abord de les énumérer), les choses que je vois moi en tant qu'enseignant, c'est :

                            Est-ce que je suis capable de refaire?
                            Est-ce que je suis capable de rester 10 minutes devant son cours vidéo en restant concentré?
                            Est-ce que en sortant de ce cours, j'ai atteint l'objectif, c'est à dire maîtrisé ce qu'on m'a appris?

                            Dans ses cours, ce que j'apprécie c'est le temps moyen de ses vidéos, il n'a pas abusé, et donc ça peut être cohérent entre une mise en forme et sa pédagogie. En ce qui concerne sa pédagogie je la trouve excellente et il aurait été souhaitable qu'il tape un pdf (je dis bien en ce qui me concerne).

                            Après c'est une histoire de goût, mais en ce qui concerne les erreurs, si tu es un minimum autonome, tu fais la part des choses entre tes corrections et son travail, et tu feras un très bon élève.

                            [hors sujet]Pour python3, il y aura un intérêt lorsque tous les modules utiles à la personne tapant son script ou programme sont compatibles, c'est pas plus compliqué.[/hors sujet]

                            [hors sujet]Quicksort, timsort, intérêt d'en parler dans la question principale de l'auteur? (tu remarqueras que je l'ai mis entre des balises hors sujet :) )[/hors sujet]

                            [hors sujet]COBOL, quel rapport avec les pythonneries? :-° [/hors sujet]
                            • Partager sur Facebook
                            • Partager sur Twitter
                              13 novembre 2011 à 11:57:58

                              Citation : fred1599


                              [hors sujet]Quicksort, timsort, intérêt d'en parler dans la question principale de l'auteur? (tu remarqueras que je l'ai mis entre des balises hors sujet :) )[/hors sujet]



                              1) Candide demande ce qu'on reproche au cours.
                              2) On lui propose une liste de bêtises contenues dans le cours (dont le quicksort vs timsort).
                              3) Il refuse cette liste en disant que ça ne sont que des détails.

                              À partir du moment où l'une des deux parties refuse la discussion, de toute façon le hors-sujet guette.
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Anonyme
                                13 novembre 2011 à 12:00:33

                                Citation

                                1) Candide demande ce qu'on reproche au cours.



                                Pédagogiquement parlant! Comme il l'a déjà précisé lui même, des erreurs on en trouvera toujours forcément.

                                C'est le principe de l'apprentissage par la vidéo surtout dont il souhaite parler.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  13 novembre 2011 à 12:10:05

                                  Citation : fred1599

                                  Pédagogiquement parlant! Comme il l'a déjà précisé lui même, des erreurs on en trouvera toujours forcément.



                                  Désolé, je ne peux pas admettre ce genre de réponse facile. Un cours qui enseigne des choses fausses est un mauvais cours. Dans le cas particulier des cours de programmation, enseigner de mauvaises pratiques ne me semble pas non plus être souhaitable.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Anonyme
                                    13 novembre 2011 à 12:18:13

                                    Citation

                                    C'est le principe de l'apprentissage par la vidéo surtout dont il souhaite parler.


                                    Dans ce cas il a déjà le retour de SpaceFox et le mien, et nous sommes tous les deux d'accord : le cours vidéo pour de la programmation, c'est niet.

                                    Le format vidéo est très bien pour des présentations techniques, une introduction à un sujet éventuellement mais surtout pas un cours.
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      13 novembre 2011 à 12:18:42

                                      Dommage que la discussion parte un peu dans tous les sens, car pas mal de points intéressants pourraient être développés indépendamment.

                                      Pour le principe même d'un tutoriel vidéo, je l'ai déjà dit, très peu pour moi, mon opinion personnelle rejoint parfaitement celle de SpaceFox.

                                      Citation : VainEntetement

                                      Tu n'as répondu à rien du tout, tu n'as donné nulle part un argument clair expliquant en quoi le fait qu'ubuntu soit plus connu rend ses développeurs plus intelligents.

                                      Oui, archlinux et python3 en version par défaut, ça marche très bien. Si tu ne la connais pas, ça veut simplement dire que tu n'es pas allé très loin sous linux (et pourtant, il me semble que c'est aussi mon cas), mais ça n'a aucun rapport. Je suis par contre surpris que tu ne la connaisses pas mais que tu sembles dire que ça ne marche pas.


                                      J’espère que c'est seulement de la provoc, parce que sinon tu fais vraiment pitié à t'obstiner à ne pas comprendre ce qu'on te dit. Personne n'a dit que les devs ubuntu sont meilleurs ou autre foutaise du genre, IL SE TROUVE que c'est l'une des distribs les plus utilisées, donc nécessairement et inéluctablement une bonne partie des débutants en Python tournant sur Linux auront un souci de version avec la 3 [non que ce soit impossible à installer en soi, mais une bonne partie des libs ne seront alors pas ou difficilement diponibles]. Et ce ne seront certainement pas les seuls. Que faut il leur dire ? De passer à Archlinux ?

                                      Citation : VainEntetement

                                      Si python 3 est un progrès, tu es donc d'accord pour dire, contrairement à ce que tu disais un message plus haut, que non, il n'y a pas aucun intérêt à utiliser python 3 ?


                                      Personne n'a dit qu'il n'y a aucun intérêt (je code moi même en Python3), ce qui a été dit (et j'en conviens) c'est qu'il y a encore un problème à ce niveau. Et j’espère bien que ce sera vite résolu, même s'il semble que ça prenne plus de temps que prévu...

                                      Citation : VainEntetement

                                      Pour le timsort, il est effectivement plus rapide dans la majorité des cas que le quicksort.


                                      Non, pas dans la majorité des cas (au contraire, à complexité égale quicksort est à peu prés 2 fois plus rapide que merge-sort par exemple), mais dans les cas limites ou les perfs de quicksort descendent, tandis que celles de timsort remontent.

                                      Citation : VainEntetement

                                      Là, on pourrait utiliser ton cher argument d'autorité : étant donnée la complexité comparée des deux algorithmes, on voit mal pourquoi les gens de python et java auraient choisi le plus difficile à coder des deux si l'autre est plus rapide. Il n'y a pas de philosophie de développement, d'ignorance d'une meilleure solution (tout le monde connaît quicksort) ou autre chose de ce genre ici. En revanche, le choix d'autre langages peut s'expliquer par le fait que quicksort est implémentable très facilement en quelques lignes, et qu'en pratique, il est évidemment suffisant dans la quasi-totalité des cas.


                                      Mais bien sûr, les gens qui développent C / C++ et consort sont des incapables. J'espère que tu te rends bien compte que tu perds toute crédibilité, là.

                                      Citation : la Hache

                                      [mode : je parle de tri alors que j'y connais presque rien :honte: ]
                                      J'ai entendu un type qui disait qu'un type lui avait dit qu'il y avait une faille de sécurité dans le quicksort : si on propose un tableau dans un ordre bien précis, le temps pour le trier peut être (le pire des cas) assez long, assez long pour faire planter des serveurs à qui ont fait trop de requêtes. Légende urbaine ???
                                      On aurait implémenté une variante qui mélange (au hasard :magicien: ) un peu le tableau, pour ensuite appliquer le quicksort sur un tableau qui n'est pas le pire des cas.
                                      [/mode tri]


                                      Ouais, c'est exact, un quicksort naïf est une grosse faille de sécurité potentielle, pour 2 raisons :
                                      • Explosion de la pile pour un quicksort récursif, simplement avec un tableau trié.
                                      • Même si le problème de la pile est géré, il est facile si l'on connait l'implémentation de massacrer les perfs du quicksort. Je ne sais pas quelle est la solution habituelle (on pourrait par exemple choisir le pivot aléatoirement).

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        13 novembre 2011 à 12:39:55

                                        Pour recentrer le débat sur l'apprentissage par la vidéo :
                                        ( Je crois qu'on peut se calmer sur les Pythoneries, ... )

                                        Avec le coup de la grippe H1N1, il y a deux ans (un truc comme ça), nous (les profs, et oui j'en suis) on nous a fait miroiter qu'en cas de blocage de l'Éducation Nationale ( pandémie ), une solution de substitution était à l'étude via des cours en vidéo, avec l'aide de France 5.

                                        À cela, on déboule sur plusieurs interrogations dont :
                                        -> avenir du prof, vs une vidéo toute prête.

                                        ----

                                        De manière subjective :
                                        -> j'aime l'émission le dessous des cartes (exemple), et ça me satisferait dans le pire des cas comme substitut à un cours d'histoire - géo.
                                        -> j'ai très peu d'exemples acceptables pour tout autre cours en vidéo.
                                        -> je détesterais vivre dans un monde où la "culture" serait par trop uniformisée, standardisée, "imposée" par on ne sait quel dirigeant autocrate (relisez Orwell).
                                        -> un cours, c'est une matière enseignée, mais c'est aussi un moment de vie, où le prof vivant apprend au passage du savoir vivre (et plein d'autre trucs, comme la mise en place d'un dialogue, ...). Un cours en vidéo, c'est creux à mourir de ce côté là. Je ne veux pas vivre dans un monde où se genre de chose est prépondérant ; JAMAIS.

                                        Comme dit plus haut (par bibi et un autre), je ne suis pas contre, bien au contraire, une vidéo qui montrerait un gars dans l'action qui code un truc sympa en montrant pleins d'astuces d'un coup, chacun pouvant capter 15% à 85% du truc, et ensuite étant motivé pour chercher où approfondir.
                                        Donc, la vidéo, oui, juste comme leurre d'appel. Non comme outils d'enseignement, sauf si un jour il y a Ctrl-F dans la vidéo... ;)
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          13 novembre 2011 à 13:07:55

                                          Citation

                                          Personnellement, je n'ai pas le même point de vue que toi en tant qu'enseignant. Es-tu enseignant? As-tu passer un concours de l'enseignement. Sais-tu quels sont les conditions pour être un bon enseignant.


                                          Perso j'ai jamais passer le concours, et j'ai pas envie. Mais passer un concours ne suffit pas à être bon, il y a plein de "mauvais" profs, qui ne supportent pas la critique (et par conséquent c'est généralement une mauvaise idée de leur montrer leurs erreurs et/ou d'apprendre la matière à moitié de la classe pendant le cours)...

                                          Citation

                                          Que faut il leur dire ? De passer à Archlinux ?


                                          Et pourquoi pas justement? Arch n'est pas si difficile à utiliser qu'on le prétends, et leur wiki est probablement l'un (le?) meilleur pour une distro Linux.

                                          ---

                                          Sinon sur Nettuts Jeffrey Way fait des tutos vidéos où il y a une version texte pour ceux qui préfèrent, et a priori ça fonctionne très bien (et je trouve que les deux versions ont leurs qualités, la version texte n'est pas juste la bande son de la vidéo).
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            13 novembre 2011 à 13:27:54

                                            yoch, relis mon message, comprends le, et tu verras que tu réponds à côté de la plaque en m'accusant de choses que je n'ai pas dites (par contre, candide a bien dit que pour lui il n'y avait aucun intérêt à utiliser python3, c'est sur le même thread, tu le saurais si tu l'avais lu). Mais bon, tu as au moins l'avantage d'avoir exposé un point de vue concernant ubuntu qui tienne la route. L'argument « ubuntu est très utilisé donc ceux qui l'utilisent sont nombreux donc de nombreuses personnes auront du mal à passer à python 3 », ok. Encore que ça ne concerne que les ubuntistes (et même, que certains ubuntistes, ceux qui ne maîtrisent pas assez leur système pour utiliser confortablement python3 - la majorité sans doute). Mais ce n'est pas ce que candide essaye de dire.


                                            fred, je n'attaque pas les enseignants, parce qu'heureusement, tous ne sont pas aussi peu regardants sur le contenu de leurs cours. J'attaque ceux pour qui la pédagogie est le seul côté à développer dans l'enseignement, et qui font des efforts remarquables pour être sûr que leurs élèves comprennent les conneries qu'ils leur enseignent parce qu'ils ne font aucun effort de ce point de vue. Je pense qu'il y en a peu, mais j'ai peur que candide en fasse hélas partie.
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              13 novembre 2011 à 15:23:46

                                              Citation : VainEntetement

                                              Et j'attends toujours tes erreurs relevées sur le tuto C - qui encore une fois, ne doivent pas relever d'approximations volontairement faites pour embrouiller le lecteur.


                                              Les « erreurs » relevées sur les pythonneries correspondent à des mauvaises pratiques ou des choix de style douteux, il y a ça aussi dans le tuto C (qui a pourtant déjà du être corrigé plusieurs fois, lui), à vue d'œil :
                                              • le tutoriel précise explicitement enseigner le C89 dans le chapitre sur les tableaux ici, pourtant il apprend à écrire des commentaires sur une ligne avec // ici, or ceux-ci ont été introduits avec C99 (similaire au <> vs != des pythonneries, et aussi au Python 2 vs Python 3 pour C89 vs C99) ;
                                              • il amène à utiliser scanf sans vérifier sa valeur de retour ici, ce qui est une mauvaise pratique pouvant être source de bugs, est-ce si compliqué d'expliquer à un débutant que scanf retourne le nombre de variables qui ont été affectées et qu'il convient de vérifier que toutes l'ont bien été (en esquivant ainsi, pour ne pas embrouiller, le cas où EOF est retourné) ? car en effet, bien utilisé, scanf ne pose pas de problème, qu'est-ce qui te fait dire le contraire ?
                                              • idem pour fscanf ici, alors qu'à ce point le lecteur n'est plus vraiment un débutant ;
                                              • utilisation du type int pour les indices et tailles de tableaux.

                                              Personnellement les pythonneries ne m'intéressent pas à cause du format vidéo, je n'irai pas voir ça. Mais les erreurs citées, à l'exception du non-respect de la PEP 8 qui peut produire du code très moche à lire, ne me semblent pas si graves que ça. Et bravo pour les attaques personnelles sur candide sinon, ça fait toujours plaisir.

                                              Edit : J'ai regardé des pythonneries. Déjà, pour le choix de Python 2, il faut noter que les premières vidéos datent d'il y a deux ans. Je suis d'accord qu'aujourd'hui il serait plus adéquat d'enseigner la version 3, mais à l'époque le paysage n'était pas le même (arch, puisqu'on en parle, n'a proposé la 3 par défaut qu'en août octobre 2010 cf ici). Au niveau de la qualité de ce qui est dit, j'ai trouvé ça plutôt médiocre, mais j'ai beaucoup de mal à me mettre à la place de quelqu'un qui découvrirait tout juste le langage et/ou la programmation.
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Anonyme
                                                13 novembre 2011 à 17:51:30

                                                Citation

                                                Au niveau de la qualité de ce qui est dit, j'ai trouvé ça plutôt médiocre, mais j'ai beaucoup de mal à me mettre à la place de quelqu'un qui découvrirait tout juste le langage et/ou la programmation



                                                Et pourtant la clef de la réponse à la question du PO est là!

                                                On doit se mettre à la place d'un débutant en python et en langage de programmation

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  13 novembre 2011 à 17:53:27

                                                  Et comment un débutant pourrait juger de la pertinence et de la véracité du contenu d'un tutoriel ?
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                  Anonyme
                                                    13 novembre 2011 à 17:56:00

                                                    Citation

                                                    Et comment un débutant pourrait juger de la pertinence et de la véracité du contenu d'un tutoriel ?



                                                    Citation : fred1599

                                                    Est-ce que je suis capable de refaire?
                                                    Est-ce que je suis capable de rester 10 minutes devant son cours vidéo en restant concentré?
                                                    Est-ce que en sortant de ce cours, j'ai atteint l'objectif, c'est à dire maîtrisé ce qu'on m'a appris?



                                                    Citation : fred1599

                                                    Après c'est une histoire de goût, mais en ce qui concerne les erreurs, si tu es un minimum autonome, tu fais la part des choses entre tes corrections et son travail, et tu feras un très bon élève.

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      13 novembre 2011 à 18:17:09

                                                      Citation : VainEntetement

                                                      yoch, relis mon message, comprends le, et tu verras que tu réponds à côté de la plaque en m'accusant de choses que je n'ai pas dites


                                                      Pardon, mais je sais parfaitement lire (y compris entre les lignes), c'est toi qui a dû mal comprendre ma réponse. Sans doute est-ce dû au fait que j'ai emprunté ton style...

                                                      Comme tu semble avoir besoin que j'explicite, je te le dis clairement : depuis le début de ce fil tu réponds (volontairement?) de façon désagréable et trollesque, c'est assez agaçant à lire, et de ce fait tes arguments sont noyés dans une masse d'agressivité. Dommage, car ton point de vue sur l'enseignement est intéressant en soi.

                                                      Citation : VainEntetement

                                                      (par contre, candide a bien dit que pour lui il n'y avait aucun intérêt à utiliser python3, c'est sur le même thread, tu le saurais si tu l'avais lu).


                                                      T’inquiètes, j'ai lu le même thread que toi. Et d'ailleurs, je te défie de citer le passage en question. (si tu pense vraiment qu'il y en a un, tu n'as rien compris)

                                                      _______

                                                      Pour le débat à savoir est ce qu'un enseignement comportant une légère part d'erreur est acceptable, je crois personnellement qu'il faut faire la part des choses. Rien ni personne n'est parfait, mais il y a forcément une limite à ne pas dépasser.

                                                      Et puis, je fais la distinction entre enseigner à un débutant un truc flou ou très légèrement erroné, et enseigner une mauvaise pratique : le second est à mon sens vraiment grave en programmation, vu que les pratiques restent.
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        13 novembre 2011 à 18:29:30

                                                        En l'occurrence, il enseigne à la fois des erreurs et des mauvaises pratiques.

                                                        Sinon :

                                                        Citation : candide

                                                        Bref, je ne vois personnelement que des inconvénients à utiliser Python 3

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          14 novembre 2011 à 9:12:38

                                                          Citation : VainEntetement

                                                          Sinon :

                                                          Citation : candide

                                                          Bref, je ne vois personnelement que des inconvénients à utiliser Python 3



                                                          Bien, je vais reprendre depuis le début, puisque tu aimes jouer sur les mots :

                                                          Citation : VainEntetement

                                                          Si python 3 est un progrès, tu es donc d'accord pour dire, contrairement à ce que tu disais un message plus haut, que non, il n'y a pas aucun intérêt à utiliser python 3 ?


                                                          Citation

                                                          Personne n'a dit qu'il n'y a aucun intérêt (je code moi même en Python3), ce qui a été dit (et j'en conviens) c'est qu'il y a encore un problème à ce niveau. Et j’espère bien que ce sera vite résolu, même s'il semble que ça prenne plus de temps que prévu...


                                                          Citation : VainEntetement

                                                          yoch, relis mon message, comprends le, et tu verras que tu réponds à côté de la plaque en m'accusant de choses que je n'ai pas dites (par contre, candide a bien dit que pour lui il n'y avait aucun intérêt à utiliser python3, c'est sur le même thread, tu le saurais si tu l'avais lu).


                                                          Citation

                                                          T’inquiètes, j'ai lu le même thread que toi. Et d'ailleurs, je te défie de citer le passage en question. (si tu pense vraiment qu'il y en a un, tu n'as rien compris)


                                                          Citation : VainEntetement

                                                          Sinon :

                                                          Citation : candide

                                                          Bref, je ne vois personnelement que des inconvénients à utiliser Python 3



                                                          Donc personne n'a dit qu'il n'y a (dans l'absolu) aucun intérêt à coder en python 3, c'est une opinion personnelle dans le contexte actuel (support lacunaire).

                                                          Ah, et puis tiens, c'est cadeau :) , je te laisse faire joujou avec ça (non, non, ne me remercie pas) :


                                                          Citation : candide

                                                          Citation : la Hache

                                                          1) Aujourd'hui, c'est 2011, bientôt 2012, un débutant doit apprendre python3 et non python2.


                                                          Point très très discutable (je ne dis pas que tu aies tort).



                                                          Citation : candide

                                                          Je ne cherche pas à distribuer des points pour telle ou telle distrib, je m'en moque complètement d'ailleurs. Je constate seulement que la distrib desktop la plus populaire -- et de loin -- n'utilise pas par défaut Python 3. À partir de là, on peut se poser des questions. Il existe une réelle résistance dans la communauté Python à utiliser la version 3 tant elle casse la compatibilité. La Hache regrettait que le vidéo-tuto se base sur Python mais en même temps, il faut bien voir que sur Prologin on ne peut pas soumettre son code en Python 3 (par contre, france-ioi utilise Python 3).

                                                          Il existe énormément de modules (pas forcément très connus) pour lesquels il faudra mettre la main dans le camboui si on veut l'adapter à Python 3, ou au moins apprendre à utiliser les outils pour le faire automatiquement.

                                                          Ce que je veux simplement faire comprendre c'est qu'il est caricatural de dire : désormais il ne faut plus apprendre/utiliser Python 2.x, il faut passer à Python 3.



                                                          Citation : candide

                                                          Que TU trouves cela absurde ne prouve pas que cela n'ait aucun sens. Qu'Ubuntu n'ait pas adopté Python alors qu'elle touche le plus grand nombre d'utilisateurs est signifiant de la difficulté à rendre le système comptatible avec l'existant. [...] Et c'est justement cela le problème de Python 3, la rupture de compatibilité ; pour cela que pour moi le choix de Python 3 se discute. Pour l'instant avec Python 2, je peux TOUT faire tourner car il n'existe encore aucune bibliothèque qui ait du code spécifique à Python 3 sans contre-partie Python 2. C'est loin d'être le cas avec Python 3. Perso, j'utilise plusieurs modules non portés en version 3.
                                                          Plusieurs packages populaires n'ont pas été portés en version 3 ; pygame n'est pas totalement portée en version 3. Sans parler de l'énorme inconvénient de ne pouvoir exécuter tout le code antérieur (or, on apprend aussi à coder en essayant du code de référence et qui va être écrit en Python version ... 2 et pas trois). Bref, je ne vois personnelement que des inconvénients à utiliser Python 3 pour l'instant, et je suis loin d'être le seul dans ce cas (cf. avis de nohar par exemple et aussi d'autres avis sur StackOverflow). Bien sûr, c'est le contraire pour ceux qui apprennent Python avec le tuto du sdz.



                                                          Citation : candide

                                                          Citation : VainEntetement


                                                          ils auraient mieux fait de ne pas faire évoluer le langage, puis-qu’apparemment tous les changements apportés vont vers le bas.


                                                          Ce n'est pas ce que j'ai dit. Python 3 est certainement un progrès par rapport à Python 2, le langage est certainement plus clean. Mais il faut bien constater que 3 ans après son lancement, cette version est loin d'être pleinement adoptée. Je ne sais pas si l'équipe Python pensait qu'on en serait là 3 ans après. Et cette incertitude (deux versions incompatibles officielles concurrentes) à mon avis n'a pas rendu Python très lisible.


                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            14 novembre 2011 à 13:12:13

                                                            Bah encore heureux que c'est une opinion personnelle. Candide n'est pas encore assez orgueilleux pour prétendre que la vérité générale universelle sort de sa bouche, encore heureux. Par contre, j'aimerais bien savoir où j'ai dit qu'il disait ça « dans l'absolu ».
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            Que pensez-vous des Pythonneries ?

                                                            × 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