Basile Starynkevitch, au 2019-08-21: >On 8/21/19 1:27 AM, G2PC wrote: >> Le 18/08/2019 à 12:19, Étienne Mollier a écrit : >>> Pour les opérations un tantinet plus avancées, préférez les >>> scripts à part entière. >En particulier, considérez les scripts dans des langages >meilleurs que Bash, par exemple GNU guile (qui est qualifié de >langage de script préférentiel pour GNU) ou Lua. Vrai : Bash est avant tout un shell interactif, avec les limitations qu'impliquent la concision et l'exécution séquentielle des instructions. Rédiger un script robuste dans ce langage est une tâche qui nécessite un apprentissage de règles peu intuitives, au risque de se prendre les pieds dans le tapis ; je pense aux règles relatives à l'usage des guillemets, ou la poursuite de l'exécution d'un script après qu'une erreur ait eu lieu, comportement par défaut à contrer en utilisant l'option "set -e". À mon sens le meilleur langage à utiliser est celui adapté à la tâche ou à l'environnement général de travail. Bien souvent, les administrateurs système tendent à s'en tenir à Bash parce que quasiment tous les scripts du système sont rédigé dans ce langage, ou son parent /bin/sh. Bien sûr il y a deux ou trois exceptions, comme les fichiers de configuration en m4 de Postfix, ou bien du NIS, qu'il faut penser à compiler avant de donner à manger au dæmon, mais ce genre de déviation est relativement rare. De ce que je comprends, dans le cas présent, le gros du travail effectué par le script mediawiki1 était en fait effectué par un autre langage, le PHP, usuellement considéré comme adapté pour construire dynamiquement des pages en HTML. Bash ne servait que d'enrobage pour faciliter le lancement du script tout en ajoutant une fine couche d'enregistrement dans un fichier de journal. Pour faire un peu de tout, le langage Python revient souvent en entreprise ces dernières années. Ce n'est pas forcément le langage le plus amusant du monde, mais par défaut il est très clair à lire et relativement robuste (sauf peut-être pour les allergiques au typage dynamique) ; il faut le faire exprès pour rédiger un script Python comme un cochon. Dans les situation où la vitesse d'exécution prime, le bon vieux langage C est plus efficace que jamais, à condition de bien l'utiliser, comme pour tout ; mais on sort complètement du cadre des langages de script. J'ai eu quelque discussions avec un collègue sur l'usage des langages à paradigme fonctionnels ; je dois admettre que Guile a l'air tentant pour me mettre le pied à l'étrier (non ce n'est pas à cause de la publicité autour de l'interfaçage avec le langage C. :) >Observez aussi que GNU emacs est scriptable en E-lisp (et sait >"presque" tout faire). Est ce que « faire ma vaisselle » fait partie du « "presque" tout » ? :) Amicalement, -- Étienne Mollier <etienne.mollier@mailoo.org> 5ab1 4edf 63bb ccff 8b54 2fa9 59da 56fe fff3 882d « Java est en quelque sorte le Cobol du XXIe siècle. » -- Larry Wall Source: https://www.youtube.com/watch?v=LR8fQiskYII Transcription (hachée): http://blog.mattcallanan.net/2013/03/larry-wall-5-programming-languages.html
Attachment:
signature.asc
Description: OpenPGP digital signature