<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Je vous comprends tout à fait votre point de vue et je l’admire. S’il n’y avait pas le désir de se dépasser, il n’y aurait personne pour faire de la moto ou de l’escalade — ou pour innover quoi que ce soit en logiciel libre!<div class=""><br class=""></div><div class=""><blockquote type="cite" class="">Parce que shell a ses applications. En particulier, l'administration<br class="">système implique shell. Que ``bash'' est l'un des plus répandus et<br class="">reste tres utile pour toutes les tâches liées aux fichiers, montages,<br class="">interaction avec des applis, etc...<br class=""><br class="">Bash est interactif, cette démo est réalisable en ligne de commande,<br class="">les sous-process restent ouverts, accessibles et efficaces...</blockquote></div><div class=""><br class=""></div><div class="">Je suis entièrement d’accord avec vous et ce n’était pas du tout le sens de ma remarque (veuillez me pardonner si ça été perçu comme ça). Le shell est un élément fondamentaux de <u class="">l’écosystème</u> Unix et c’est le liant de la mayonnaise.</div><div class=""><br class=""></div><div class="">Dans le cas particulier, j’ai recouru à Python comme <u class="">outil du shell</u>, comme si ça avait été awk. C’est la raison pour laquelle mon script a été écrit pour être appelé en ligne de commande (il lit le fichier d’entrée). Et vous noterez que les données sont imprimées sur la sortie standard, alors que le temps d’exécution a été envoyé sur stderr. La raison est que je veux pouvoir mettre ce programme dans une séquence de pipes.</div><div class=""><br class=""></div><div class="">J’irais même plus loin: plus j’écris d’utilitaires, plus je pense à l’interaction avec le shell. Raison pour laquelle j’intègre des paramètres de ligne de commande (le package <a href="https://docs.python.org/3/library/argparse.html" class="">argparse</a> est un vrai bonheur, et en quelques minutes j’ai mes paramètres obligatoires et optionnels ET un help qui tient la route). </div><div class=""><br class=""></div><div class="">Je ne suggère pas une seule seconde que quiconque renonce à son expertise indispensable du bash. Dans l’administration système, Python doit être utilisé comme un outil de scripting d’une puissance considérable (comme j’ai pratiqué aussi Perl, je peux dire que Python est plus productif pour moi). La raison est qu’il permet de très fortes abstractions qui s’adaptent à ma façon naturelle de penser (il y des briques pour à peu près tout ce qu’on peut imaginer), et donc je peux écrire en quelques minutes ce qui pourrait prendre des heures en Perl ou bash… et le programme est très WORM (Write once read many).</div><div class=""><br class=""></div><div class="">Mais quand il s’agit de faire des utilitaires rapides, je n’hésite pas à recourir au piping et aux scripts shells, parce que ça va plus vite.</div><div class=""><br class=""></div><div class="">Bref, je préconise une approche pragmatique et respectueuse de l’environnement...</div><div class=""><br class=""></div><div class="">Bien à vous,</div><div class="">L.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><div class=""><div class=""><br class="Apple-interchange-newline">
</div>
<br class=""><div><blockquote type="cite" class=""><div class="">Le 16 févr. 2018 à 07:59, felix <<a href="mailto:felix@f-hauri.ch" class="">felix@f-hauri.ch</a>> a écrit :</div><br class="Apple-interchange-newline"><div class=""><div class="">Re,<br class=""><br class="">On Thu, Feb 15, 2018 at 11:25:04PM +0100, Laurent Franceschetti wrote:<br class=""><blockquote type="cite" class="">Désolé si je passe pour un Philistin, mais pourquoi ne pas faire ça en<br class="">séquentiel et en Python? <br class=""></blockquote><br class="">Parce que shell a ses applications. En particulier, l'administration<br class="">système implique shell. Que ``bash'' est l'un des plus répandus et<br class="">reste tres utile pour toutes les tâches liées aux fichiers, montages,<br class="">interaction avec des applis, etc...<br class=""><br class="">Bash est interactif, cette démo est réalisable en ligne de commande,<br class="">les sous-process restent ouverts, accessibles et efficaces...<br class=""><br class="">Si je l'avais fais en perl, c'aurait été nettement plus rapide egallement!<br class="">Python est bien pour developper ou prototyper des applications...<br class="">On aurait pu le faire en PHP ou javascript, mais ce n'est pas le propos.<br class=""><br class="">Avec ce système, mon script passe de 120" à 8", en restant bash!<br class="">Ceci démontre assez bien le coût des forks.<br class=""><br class="">J'ai déjà gagné 112 secondes sans changer de language, alors si<br class="">pour gagner 2 secondes supplémentaires, je dois passer à Python...<br class=""><br class="">-- <br class=""> Félix Hauri  -  <<a href="mailto:felix@f-hauri.ch" class="">felix@f-hauri.ch</a>>  -  <a href="http://www.f-hauri.ch" class="">http://www.f-hauri.ch</a><br class="">_______________________________________________<br class="">gull mailing list<br class=""><a href="mailto:gull@forum.linux-gull.ch" class="">gull@forum.linux-gull.ch</a><br class="">http://forum.linux-gull.ch/mailman/listinfo/gull<br class=""><br class=""></div></div></blockquote></div><br class=""></div></div></body></html>