Re: [SSFR] quel langage ?

[ Thread Index | Date Index | More debianworld.org/shellscript-fr Archives ]


Grr.. foutu webmail qui a coupé le reste de mon mail.
Je vais donc devoir le récrire...

Selon Philippe Jacquot <philippe.j@xxxxxxxxx>:

> La gestion d'erreurs est aussi simplifiée avec les clauses try/except.
> Je connais pas trop C, mais j'imagine que ça marche pareil que catch.

Concernant la gestion d'erreurs, C est au niveau de l'assembleur,
il n'existe quasiment rien nativement. Maintenant, on peut construire
des mécanismes aussi sophistiqués qu'on veut. La manière traditionnelle
(et basique) est d'utiliser setjmp() et longjmp().

> L'indentation, on aime ou on aime pas, mais elle est significative en
> python. Attention aux editeurs de textes mal configurés..

Probablement la pire "fonctionnalité" de Python. Dès qu'on m'a parlé
de ça, j'ai pensé que ça ne pouvait pas marcher. Maintenant que je
vois du code Python, cela confirme que c'est une vraie mauvaise idée.
Pourquoi ? parce que les longues boucles et fonctions perdant leurs
frontières naturelles, il est plus difficile de voir leurs limites.
Le travail du mainteneur est donc plus difficile.

> Support des fonctions lambda, équivalent des fonctions anonymes de perl.

Dommage, les fonctions map(), filter() et reduce() ont été jugées
trop lispiennes pour Python et seront donc supprimées de Python 3000 :

    http://www.artima.com/weblogs/viewpost.jsp?thread=98196
    http://lambda-the-ultimate.org/node/view/587

> Maintenant, bon, je découvre aussi. Je suis en train de passer petit à
> petit mes moulinettes en Python, et je me rends compte que, non
> seulement ça facilite la lecture, mais en plus je peux mieux gérer des
> conditions d'exception qui étaient assez "lourdes" à traiter en Perl.

Pourtant la gestion d'exceptions en Perl est assez simple avec eval{} et
test sur $@, ou si tu veux une synyaxe plus OO, tu peux utiliser l'un
de Exception::Class::TryCatch ou Error::TryCatch.

    http://search.cpan.org/dist/Exception-Class-TryCatch/
    http://search.cpan.org/dist/Error-TryCatch/

La syntaxe de Python ressemble à celle de Java, mais avec un défaut
typique du n'importe quoi de Python : le mot-clé pour déclarer la
gestion d'une exception est "except". Résultat, en anglais
  "try: execute something / except: Exception"
se lit
  "essaye d'exécuter tel code / [gérer] sauf telle exception"

Pourquoi ne pas avoir utilisé "exception" comme mot-clé ? Ou "error"
si économiser la frappe de 3 caractères était si important ?


--
Sébastien Aperghis-Tramoni

Close the world, txEn eht nepO.



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/