J'ai l'impression qu'on commence à un peu trop négliger le obvious de "There should be one, and preferably one, obvious way to do it".
Je comprends. Après j'imagine que cette PEP487 a vocation a devenir la façon de référence pour faire ce genre de choses. Techniquement la PEP520 est tout aussi inutile : la fonction __prepare__
des méta-classes permettait déjà de s'en passer.
Le principal argument en faveur de ces changements qui ont poussé ces PEP est que les méta-classes imposent d'hériter de la même. Si tu hérite de deux classes, chacune provenant d'une lib pour supporter une fonctionnalité différentes, et que les deux sont basés sur des méta-classes, tu as conflit et ça génère des erreurs qui sont considérés comme peu clair.
L'idée ici est que si la majorité des cas d'utilisations des méta-classes peut être géré par quelques unes de ces fonctions spéciales, tu devrais pouvoir faire disparaître ces conflits.
À commencer par l'exposition des subinterpreters au runtime.
Au dernière nouvelle celui qui s'en occupe est très chargé en ce moment et depuis plusieurs mois et n'a pas le temps de s'en occuper.
Pour le reste il reste jusqu'à fin septembre pour connaitre la liste des features exactes implémentés. Actuellement seul l'interpolation de chaine est pret. Les deux PEP cités devraient les rejoindre rapidement (des patch sont dispo). La seul autre fonctionnalité sur laquelle on peut parier c'est l'API pour pouvoir brancher les JIT (ou autre "interpreteur" d'évaluation de frame, PEP 523) dans CPython. Sinon il y a pas vraiment de sujet chaud. Mais il y a beaucoup de projets actuellement pour accélérer Python, que ce soit en interne (FAT Python) ou externe (la palanqué d'interpréteur/compilateur qui se lancent de partout, au passage IronPython semble ressuscité).
Il est un peu tôt je pense pour conclure sur cette version. Lors de la 3.5, les async/await
ont été introduit seulement 2-3 semaines avant le feature-freeze.