Re: [SSFR] quel langage ?

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


Vincent Lefevre a écrit :

On 2005-12-02 16:46:19 +0000, Philippe Jacquot wrote:
Vincent Lefevre a écrit :
On 2005-12-02 12:01:25 +0000, Philippe Jacquot wrote:
Vincent Lefevre a écrit :
Pour quelque chose censé être trappé par eval, dépendre des locales
est inutile.
J'ai encore moins dit que c'était utile, mais au contraire que ça pouvait foutre la merde.
Comme tout bug. Ce n'est pas spécifique à Perl.
Paske t'appelles ça un bug ? Pour moi c'est plutôt un pousse-au-crime. :-)

Vouloir localiser les chaînes correspondant à des exceptions,
c'est comme vouloir localiser les mots-clés du langage. Tu
ne voudrais tout de même pas remplacer les mots-clés par des
nombres? :)

Et pourquoi pas ?
Comment qu'on faisait avant d'avoir un assembleur ? En langage machine direct, hop hop hop. ;-) Plus sérieusement, mon propos n'est pas de dire "ça marche pas", mais "c'est casse-gueule de prendre cette habitude", pour preuve (encore une fois) du code que je vois passer et qui lance des commandes shells en testant, non pas leur valeur de retour, mais la chaine retournée, et là, bonjour les bugs à répétition. 6 mois il a fallu que je me batte pour qu'ils se débarassent de cette mauvaise habitude. Quand on dit qu'il est dangereux de se pencher par la portière, c'est pas pour les cascadeurs professionnels..

Ces chaînes ne sont pas censées être localisées. Ensuite, chaque
solution a ses désavantages. Par exemple, il est plus facile de se
tromper sur un nombre, il y a toujours le risque d'utiliser le même
nombre pour deux choses différentes, il y a aussi un plus grand
risque de conflit dû au fait qu'on ne peut pas mettre d'espace de
noms sur un nombre (si besoin est).

Sans nullement vouloir t'insulter, on confinerait pas à la mauvaise foi là ? :-) Je sais bien que l'argument de la majorité ne fait pas toujours raison, mais tu admettras que dans 95% des cas, ce sont bien des nombres qui sont retournés. Tu peux aussi md5sumer les chaines, ou passer par un table de conversion en code-couleur, à tant faire que...

Ben en Perl, une exception est indiquée par un scalaire. En général
on y met du texte parce que c'est plus clair. Si ça ne te plait pas,
mets y un nombre; je rappelle qu'en Perl, les nombres et les chaînes
(et d'autres choses, comme les références) sont regroupés sous un
même type: les scalaires. Enfin, il y a une distinction en interne
pour certaines opérations (Perl est criticable là-dessus), mais sinon
c'est transparent pour le programmeur. Je pense que pour le die, il
ne devrait pas y avoir de problème, car die fonctionne aussi avec les
références.

Je ne parlais pas de Perl spécifiquement. Le coup du retour d'exception sous forme de chaine est susceptible de toucher tous les langages. Et c'est dans cette optique que je disais que je pense que l'écrasante majorité des langage utilise des nombres; non qu'ils aient forcément raison, mais quand même..

a plouj'
philippe



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