Re: [SSFR] quel langage ?

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


Marc Chantreux a écrit :

Philippe Jacquot wrote:

Pour faire court, aussi... Python roXise. Nan, sans dec', vous devriez jeter un oeil. Et c'est un perleux convaincu qui vous le dit. ;-)
Python est à Perl ce que Dali est à Picasso (comprenne qui pourra).


Je sais pas si on est HS, là, mais tu m'interesse: j'ai fais 2,3 petites choses en python (je m'y suis mis parceque certains programmes l'utilisent comme langage d'extension) et décidément, ce langage m'ennuie! J'aimerais bien voir des choses puissantes ou sexy en python mais je n'en trouve jamais.

évidement, quand j'en parle aux pythoneux, je passe pour un trolliste aux gros sabots j'aimerais vraiment apprendre a ne pas trouver ce langage soporifique. Pourrais-tu me faire peter des liens sur des codes qui me montrent ce que python a dans le bide ?

cordialement,

Bah, bon, soyons raisonnables, c'est surtout affaire de subjectivité tout ça. Perso, ce que je trouve séduisant dans Python, hormis l'orientation object du langage, c'est la souplesse des traitements de données, notament l'accès aux éléments de listes.
Par exemple:
>>> a=[1,2,3,4]    # un tableau
>>> a[2:]          # tout sauf les 2 premiers
[3, 4]
>>> a[::2]         # un sur deux (on donne le pas)
[1, 3]
>>> a[::-1]        # chacun, mais en reverse
[4, 3, 2, 1]
>>> word="pichour" # une chaine est un tableau
>>> word[::-1]     # on reverse la chaine
'ruohcip'
>>>
Bon, en revanche il faut apprendre à manipuler les intervales, car il ne s'agit pas ici d'indexes. L'élément d'index 1 est désigné par l'intervale [0:1], les 3 premiers éléments d'une liste sont désignés par l'intervale [0:3]. On peut bien sur toujours adresser directement les indexs.
a[2:3] = [3]  #tableau à un seul élément)
a[2] = 3      #type numérique)

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.

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

Support des fonctions lambda, équivalent des fonctions anonymes de perl. Par exemple:
>>> seq=range(8)
>>> seq
[0, 1, 2, 3, 4, 5, 6, 7]
>>> map(lambda x: x*x, seq)
[0, 1, 4, 9, 16, 25, 36, 49]


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. Au final, c'est une question de sensibilité. Je me sens autant à l'aise avec Python qu'avec Qmail, djbdns, ou tout autre outil made in DjB (troll).
Y'en a qu'aiment pas...


So, a+

philippe



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