Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/03/2011, à 16:59

Rafbor

Python, langage simple et abordable ? sans blague...

Bonjour,
je viens d'ouvrir le hors série GNU-Linux Magazine consacré à Python.
En introduction, l'auteur nous dit que ce langage permet d'être efficace, de réduire le temps de production pour le développeur, et le temps de compréhension et d'assimilation pour le relecteur. Ok.
Et quelques pages plus loin, il nous sort un exemple du style (NB: pour des raisons de copyright, je ne  reproduit pas exactement le même code):

result = "1234567890123456"
result += str((2000 - sum([int(a) * b for a, b in zip(result[15::-1], [3,1] * 6)])) % 10)

Ben voyons, pourquoi faire simple quand on peut faire compliqué ?
Franchement, qui écrit du code comme ça ?
Cela va à l'encontre de tout ce qu'on nous enseigne en programmation: le code doit être simple,  compréhensible et commenté. Parmi tous les projets sur lesquels j'interviens dans mon entreprise, certains codés par des ingénieurs de bon niveau, jamais je n'ai vu du code tordu comme ça.
Avec mes collègues , nous savons bien que chacun peut être amené à relire voir retoucher le code de l'autre, et on ne se permet pas de telles écritures, qui obligent à réfléchir une demi heure pour comprendre.
Moi qui jongle en permanence avec plusieurs langages (C, C++, C#, VBA,.. et Python que j'apprends pour usage perso) j'ai plutôt tendance à reproduire les mêmes algos dans tous les langages, donc toujours simplement et clairement. Et tant pis si je ne donne pas l'impression d'être un génie de la programmation !

Dernière modification par Rafbor (Le 13/03/2011, à 10:59)


Xubuntu 22.04 - Mes projets sur Github

Hors ligne

#2 Le 13/03/2011, à 10:12

VinsS

Re : Python, langage simple et abordable ? sans blague...

Salut,

L'exemple que tu nous montres n'est qu'une simple 'list comprehesion', ces objets sont généralement décrits dans les
premiers chapitres de cours pour débutants.

Cependant, il existe une école pythonienne qui veut que l'on évite de pousser les list comprehesion à un stade trop ésotérique
- dans le sens réservé aux initiés - afin de ne pas perdre la qualité première de tout code Python, c'est-à-dire ... sa  lisibilité.

Au passage, tu as modifié cette ligne ? parce qu'elle n'est pas exacte. (crochets non-appariés)


Vincent
Oqapy      Qarte      PaQager

Hors ligne

#3 Le 13/03/2011, à 11:55

Rafbor

Re : Python, langage simple et abordable ? sans blague...

Merci, j'ai corrigé la syntaxe.
En effet j'ai déjà vu ce genre d'écriture dans divers tutoriaux. Mon premier réflexe est pourtant de ne pas y recourir et de décomposer en boucles de manières plus classique. Quand on passe d'un langage à un autre, cela permet de garder la même logique dans l'écriture des algos.
Et sur du code compressé comme cela, je doute que les débuggers soient capables de suivre pas à pas...


Xubuntu 22.04 - Mes projets sur Github

Hors ligne