• [^] # Re: asyncio vous emmène vers Python 3

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche Python 3.4 est sorti avec 7 nouveaux modules. Évalué à 5.

    Oki, je comprends mieux

    • développeurs opposés à Python 3

    J'ai appris le dernier coup que tu avais tenté un fork python 3, et effectivement ce n'est ouvertement pas dans leur priorités. Maintenant de ce que j'ai compris, ils veulent faire une base de code unique python 2/python 3 et garder la compatibilité ascendante, ce qui vu leur base de code et le nombre de services en production (que j'estime grand sans avoir de chiffre) me parait compréhensible.

    Comme indiqué dans mon commentaire plus haut, il y a tout de même une partie de Twisted qui tourne sur Python 3, et pour le reste ils ont l'air bloqué par le bogue mentionné.

    Maintenant je suis ça d'assez loin pour le moment, Python 3 n'est pas dans nos priorités non plus, mais la question va se poser de plus en plus, et asyncio n'est pas prêt de rattraper le nombre de protocols supportés par Twisted de sitôt.

    • communauté de développement en général assez peu agréable

    Perso je n'ai jamais eu à m'en plaindre, mais j'ai assez peu de contacts avec au final

    • architecture un peu byzantine et difficile à comprendre (surtout si l'on veut contribuer des trucs)

    Ça c'est clair que c'est pas évident à comprendre. Maintenant à l'usage faut reconnaître que ça permet de faire les choses rapidement, j'ai pu lier un serveur IMAP à du XMPP en 1 soir ou 2.

    • tendance à réinventer la roue

    Il y a aussi beaucoup de choses qui étaient là avant (genre ils utilisent le CamelCase parce que la PEP08 a été faite après si je ne m'abuse). Après c'est vrai qu'il y a des choses qu'ils auraient pu réutiliser (logging, test ?), je suppose qu'il y a de bonnes raisons à tout ça.

    (quant à XMPP, je suis content de savoir que ça marche aujourd'hui, à l'époque où j'avais essayé - vers 2007 -, c'était largement en chantier et le développeur principal n'accueillait pas vraiment les propositions de contribution)

    En dehors de la base dans Twisted, le gros du XMPP est dans Wokkel, qui est une bibliothèque par dessus Twisted et dont le code devrait être mergé à Twisted à terme. C'est encore incomplet, mais y'a de grosses parties implémentées dedans (MUC par exemple), et c'est bien pratique.

    Bon en tout cas c'est un peu plus clair, mais même si tu n'aimes pas Twisted, moi c'est un choix que je ne regrette pas: c'est toujours activement développé, c'est très stable (j'ai eu très peu de bogues liés à Twisted/Wokkel jusqu'ici), et c'est puissant. Du coup je trouve ta pique plus haut un peu sévère.

    J'espère que Twisted pourra facilement échanger avec asyncio, mais de ce que j'ai compris, les dévs principaux de Twisted et Guido ont longuement discuté ensemble, et c'est justement un des buts affichés.

    Bon et sinon bravo pour le boulot général, j'espère ne pas rester éternellement bloqué à Python 2 (y'a aussi Pyjamas qui va poser problème), c'est alléchant tout ça :)