les différences entre python 1.5 et python 3.3 sont quand même gigantesques
De fait, elles le sont. Mais la syntaxe est restée très homogène. Regarde la syntaxe lambda de C++, où la complexité de certaines définitions quand on commence à manipuler des functor, on est plus dans le même monde.
En plus de ce que tu as cité, tu as aussi:
- old-class vs new-class
C'est complètement non intrusif au niveau de la syntaxe. Aujourd'hui, tu n'as même pas besoin de savoir que cette différence existe si tu lis du code Python.
compréhension liste, et autres extensions de syntaxes pour les dictionnaires et les ensembles
La première fois, la syntaxe est un peu étonnante, notamment quand tu as deux boucles et des if. Mais très vite, on remarque que:
- la syntaxe est cohérente avec l'existant
- la seule difficulté, c'est vraiment la règle des précédences entre les multiples for et if
- la même syntaxe fonctionne pour les générateurs, les list-comprehenions, les set, les dictionnaires: ca veut dire que si tu as compris la syntaxe une fois, tu l'as compris pour tous les générateurs.
une API C cassé n-fois
Moui, on sort un peu du langage cependant.
nouvelle syntaxe pour le formatage
C'est celui où j'ai le plus de réserves.
print() \o/
non, le plus méchant dans l'évolution de Python, c'est bien la gestion de l'unicode, le passage au byte-string.
Si on regarde la question sous l'angle de "quelqu'un qui a appris Python 1.5 serait-il capable de comprendre un programme Python écrit en 3.4", on voit que :
- il va buter sur les générateurs/list compréhensions
- il va buter sur les décorateurs
- il va buter sur les gestionnaires de contextes
Bon, au final, il va ramer un peu c'est vrai, mais ça me semble moins violent que pour le C++.
J'ai appris le C++ quand tout ce fratras de C++11 n'existait pas (je crois même pas qu'on osait lever une exception à l'époque) et Python en version 1.5.2 . En quelques heures, je me suis mis à niveau en Python. Pour C++, j'ai l'impression que je vais galérer beaucoup beaucoup plus.
[^] # Re: Intéressant
Posté par Philippe F (site web personnel) . En réponse à la dépêche Je crée mon jeu vidéo E09 : Techniques de C++11 appliquées au système à entités. Évalué à 2.
De fait, elles le sont. Mais la syntaxe est restée très homogène. Regarde la syntaxe lambda de C++, où la complexité de certaines définitions quand on commence à manipuler des functor, on est plus dans le même monde.
C'est complètement non intrusif au niveau de la syntaxe. Aujourd'hui, tu n'as même pas besoin de savoir que cette différence existe si tu lis du code Python.
La première fois, la syntaxe est un peu étonnante, notamment quand tu as deux boucles et des if. Mais très vite, on remarque que:
- la syntaxe est cohérente avec l'existant
- la seule difficulté, c'est vraiment la règle des précédences entre les multiples for et if
- la même syntaxe fonctionne pour les générateurs, les list-comprehenions, les set, les dictionnaires: ca veut dire que si tu as compris la syntaxe une fois, tu l'as compris pour tous les générateurs.
Moui, on sort un peu du langage cependant.
C'est celui où j'ai le plus de réserves.
non, le plus méchant dans l'évolution de Python, c'est bien la gestion de l'unicode, le passage au byte-string.
Si on regarde la question sous l'angle de "quelqu'un qui a appris Python 1.5 serait-il capable de comprendre un programme Python écrit en 3.4", on voit que :
- il va buter sur les générateurs/list compréhensions
- il va buter sur les décorateurs
- il va buter sur les gestionnaires de contextes
Bon, au final, il va ramer un peu c'est vrai, mais ça me semble moins violent que pour le C++.
J'ai appris le C++ quand tout ce fratras de C++11 n'existait pas (je crois même pas qu'on osait lever une exception à l'époque) et Python en version 1.5.2 . En quelques heures, je me suis mis à niveau en Python. Pour C++, j'ai l'impression que je vais galérer beaucoup beaucoup plus.