<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="">Il me semble qu’on touche des points importants ici.<br class=""><div class=""><br class="Apple-interchange-newline">
</div>
<br class=""><div><blockquote type="cite" class=""><div class="">Le 12 mars 2018 à 14:28, Daniel Cordey <<a href="mailto:dc@pxcluster.com" class="">dc@pxcluster.com</a>> a écrit :</div><div class=""><div class=""><br class="">Oui, mais de l'embarqué a souvent un système vraiment minimum et on a que 'sh' parfois avec quelques commandes. La tendance est à avoir plus de RAM et des cartes SD, mais ce n'est pas garanti et là tu n'as que 'sh' ou des fois seulement du code compilé (Arduino). On ne peut donc pas généraliser et le vrai embarqué aura toujours pas mal de limites.<br class=""></div></div></blockquote><div><br class=""></div><div>Cela restera comparativement limité, mais les nouvelles plateformes embarquées supportent désormais des langages assez évolués, même si ce sont des versions réduites comme MicroPython (par exemple sur <a href="https://python.microbit.org/v/1" class="">micro:bit</a>).</div><div><br class=""></div><div>Javascript semble désormais aussi un candidat pour l’embrarqué.</div><div><br class=""></div><blockquote type="cite" class=""><div class=""><div class=""><blockquote type="cite" class=""><br class=""></blockquote><br class="">C'est justement là que Perl prend le relais. Les shells (dont bash) sont des langages de scripting quand même limités et ne sont pas destinés à devenir des langages de programmation généraux. Comme préciser au début de cette discussion, attention à ne pas sur-utiliser bash/sh/*sh. Bash est un langage destiné à exécuter des commandes et a énormément de limitations comme langage de programmation générale (pas de calculs en flottant, pas de binaire, etc.)<br class=""><br class=""></div></div></blockquote><div><br class=""></div><div>C’est là que je mettrais Perl, parce que c’est ce qui se rapproche le plus de l’idée que je me fais d’un langage de scripting système.</div><div><br class=""></div><div>Mais je dois quand même dire qu'il y a quelque chose dans Perl qui le rend un peu problématique, même à mes yeux. Une fois, van Rossum avait dire de certains développeurs que « they are too smart for their own good ». Peut-être que le créateur de Perl a voulu faire quelque chose de trop sophistiqué, un langage avec de très grandes ambitions. Et comme on dit parfois, « le mieux est l’ennemi du bien » et le résultat est que cela a fait fuire les programmeurs.</div><div><br class=""></div><div>Il y a quelque chose dans Perl, d’avoir desespérément voulu accéder aux plus grandes gloires… et de se retrouver en relégation justement à cause de ça. Si cela m’était donné à faire ou à refaire, je ne tenterais pas de faire un Bucéphale, mais juste un bon cheval de labour, aimable, fiable et prévisible, une bonne bête quoi.</div><div><br class=""></div><div>En attendant, je suis prêt à reexperimenter avec Perl, mais je suis conscient que ce serait à une place dont ses fans ne voudraient pas. Il y a quelque chose d’un petit peu triste, mais peut-être une lueur d’espoir: peut-être qu’on pourrait redéfinir une approche qui rendrait ce langage plus compréhensible et aimable pour des néophytes?</div><div><br class=""></div><div><br class=""></div><blockquote type="cite" class=""><blockquote type="cite" class=""><br class=""></blockquote><br class="">Ce n'est pas parce que l'on peut le faire que c'est une bonne idée ou que c'est efficace. Ce genre d'opération s'écrit de manière beaucoup plus lisible et plus simple dans plusieurs autres langages mieux adaptés. Et que se passe-t-il si les enregistrements dans la base contiennent des BLOB en binaire ? Jolie démonstration mais que l'on ne peut hélas pas généraliser.<br class=""><br class="">C'est bien de savoir écrire ce genre de chose en bash, c'est aussi bien de savoir lire ce code... mais il faut le maintenir. Ce n'est pas (plus) vendable dans une équipe IT aujourd'hui; même le Perl ne trouve plus grâce aux yeux des "agilistes" aujourd'hui. Les outils d'admin dans le domaine des clusters sont écrits en Python/Go/Lua/etc. Bien ? Pas bien ? Peut-être, peut-être pas... C'est juste un fait.<br class=""><br class=""></blockquote><br class=""></div><div>J’aurais tendance à être d’accord. Bien que je sois parfois supris des aptitudes des jeunes informaticiens (et des embrasements mystiques pour vim ou alors Emacs…), je ne crois pas qu’ils partiraient dans de la programmation « dure » en bash.</div><div><br class=""></div><div>En effet, ils seraient plutôt dans les langages modernes. C’est la vie, même si je pense qu’il y aurait de la place pour une bonne bête de somme pas trop ambitieuse, qui pourrait nous faire les tâches répétitives, faire une requête dans une base SQL, ou lire un fichier docx ou xlsx au passage.</div><div><br class=""></div><div>Et pour le repoussoir, le Powershell n’est pas l’idée que je me fais d’un langage logique d'administration — leur système de pipes à objets c’est comme la défunte industrie soviétique: une fois qu’on a enfin trouvé un écrou dans le fatras, il faut encore chercher longtemps pour trouver le boulon qui va avec, à moins que la livraison ne soit prévue que dans le prochain plan quinquennal…</div><div><br class=""></div><div>A ce compte, Perl n’est pas si mal…</div><div><br class=""></div><div>Bonne soirée,</div><div>Laurent</div><div><br class=""></div><div><br class=""></div></body></html>