• [^] # Re: Critique

    Posté par . En réponse au journal Explorez les richesses du langage Python. Évalué à 2.

    > Ah le finally n'existe pas en Java ?
    J'ai dis ça où ? nulle part.
    J'ai juste dit que je n'ai pas rajouté la gestion de la fermeture de fichier dans le code Java.

    > Je croyais que c'était python qui avait un gestion bancale des exceptions jusqu' à la 2.5
    Oui, et ? Python 2.5 est sorti en 2006 (avec with en preview).
    Sinon, Python 2.6 introduit une gestion des exceptions encore plus élégante avec with.


    > ce qui obligeait à imbriquer 2 blocs try pour obtenir la même chose que try..catch..finally.
    Pour dans le cas en question, Java t'impose d'imbriquer 2 blocs try (ou de renvoyer une exception), le premier pour gérer l'exception à l'ouverture du fichier, et un second pour fermer le fichier en cas d'erreur de lecture.
    Donc mauvais exemple, sinon les constructions try/except/else ou try/finally suffisait pour la plupart des besoins. Je reconnais que quand on avait besoin d'une structure type try/catch/finally, c'était lourdingue d'où l'unification sous Python 2.5.

    Même si traiter les exceptions est une bonne chose, Python ne te force pas à le faire, parfois, ça devient très vite lourdingue en Java. Je trouve with est une solution relativement élégante, un peu à la manière de l'idiome RAII en C++ (dont il s'inspire).


    Et on pourrait arrêter cette gueguerre Java/Python ? Je ne vois en quoi dire que Python est plus concis que C, C++ ou Java reviendrait à dénigrer ces langages.