• [^] # Re: Intéressant

    Posté par . 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é à 3.

    Si je regarde Python, au niveau de la construction du le langage, il s'en sort pas mal. Il y a eu pas mal de nouvelles constructions par rapport à la version 1.5.2 que j'avais apprise, mais elles s'intègrent syntaxiquement de façon assez fluide dans le langage: itérateurs, générateurs, yield from, string unicode, décorateurs, gestionnaires de contextes. Tout ça a ouvert vraiment la voie à un style de programmation plus évolué, tout en restant dans la simplicité initiale et la syntaxe du langage.

    Je ne suis pas sûr que Python soit vraiment un langage référence de ce point de vue là. C'est certes moins verbeux, mais les différences entre python 1.5 et python 3.3 sont quand même gigantesques. En plus de ce que tu as cité, tu as aussi:
    - old-class vs new-class
    - compréhension liste, et autres extensions de syntaxes pour les dictionnaires et les ensembles
    - une API C cassé n-fois
    - nouvelle syntaxe pour le formatage
    - print() \o/

    Et quand on parle de python, on parle de python2 ou de python3 ? (je ne parle pas du code qui fonctionne en 2.7, en 3.3 mais pas en 3.2). Et on oubliera tous les trucs qui datent encore de la préhistoire de python (pourquoi len(), dir(), ... ne sont pas des méthodes ...).

    Quand tu vois qu'en Python, il y a à peu près 0 protections sur l'accès aux méthodes et qu'on arrive quand même à écrire des programmes, ça fait réfléchir.

    En assembleur, on arrive aussi à écrire des programmes :) Cet argument ne vaut pas grand chose. La question est la maintenabilité sur le long-terme, par des équipes diverses.