[gull] Faut-il réhabiliter Perl comme langage de scripting système?

Laurent Franceschetti laurent at franceschetti.net
Sun Mar 4 15:50:04 CET 2018


Bonjour,

Je souhaiterais avoir votre avis sur le rôle de Perl dans notre « skill set », parce que je me demande s’il mériterait peut-être qu’on l’enseigne à nouveau aux programmeurs.

Plusieurs d’entre nous se souviennent qu’il fut une époque (à la fin des années 1990) où Perl occupait une niche semblable à celle de Python aujourd’hui. Mon expérience ne doit pas être différente de beaucoup d’autres: j’utilisais évidemment Perl pour pas mal de développements, même si je pestais contre son esprit un peu « cambouis » qui faisait qu’à peu près tout ce que je faisais avait l’air bricolé. Quand j’ai abordé Python cela a été un peu comme une rédemption: j’ai trouvé un langage que je pouvais adapter à mon mode de pensée. J’ai abandonné Perl sans remord. Aujourd’hui plus que jamais, je pense Python est un langage formidable, où on touche parfois des vertiges qui rappellent Lisp, mais sans l’hermétisme de Lisp.

Et pourtant, bientôt vingt ans après, je regarde Perl et je me demande si on ne lui a pas fait un sort injuste? En premier lieu, beaucoup de code système sur nos machines tourne en Perl. Et ensuite, il me semble qu’on se trouve dans une situation très absurde en matière de scripting système. Personne ne me contredira si je dis que, pour des tâches d’administration système simples, on est plus efficace à développer avec un script shell qu’avec du Python.

Et en 2017, le sh (ksh, bash, etc.) est sans rival en ligne de commande, et il ne fait aucun doute que savoir scripter bash doit faire partie de l’équipement de base de tout informaticien sérieux. Oui mais (dites-moi à nouveau si je me trompe), quand on commence à faire des structures de contrôle en bash, on peut passer plus de temps à trouver l’incantation correcte qu’à résoudre notre problème… Et encore faut-il avoir le bon shell sur sa machine pour avoir des hash tables, ce qui est loin d’être le cas. Alors Perl est un langage moderne, dont la force est précisément d’exploiter les commandes système sans aucun « overhead » de temps de programmation (backticks et tout) et il est à peu près disponible partout? 

D’où ma question: pourquoi avous-nous repris l'habitude de nous infliger des souffrances à nous mêmes quand nous faisons des scripts d’administration système en shell, alors que Perl était censé résoudre cela? En admettant la défaite de Perl comme « le langage qui allait conquérir le monde », et le déclarant « une voie sans issue » , est-ce que le monde informatique n’aurait pas jeté le bébé avec l’eau du bain? En bref, pourquoi ne pas réhabiliter Perl en le remettant à sa vraie place, comme langage de choix quand on doit réaligner une demi-douzaine de commandes shell dans un script — c’ést-à-dire entre shell et Python ou Ruby? L’administration système est un domaine où le « cambouis » est une qualité et non un défaut. Et en plus, quand le programme grandit, on ne serait pas angoissé à l’idée qu’un jour il faudrait le réécrire dès qu’on devrait faire quelque chose d’un peu «high-level » comme lire une feuille de calcul? 

Pour moi ce ne sont pas des conclusions, mais des réflexions de travail (je vais faire l'expérience d’écrire mes petits scripts en Perl au lieu de bash). Je serais curieux d’avoir vos réactions — favorables ou contraires — à ce sujet?

Cordialement,
Laurent

Laurent Franceschetti
(Geneva, Switzerland)
laurent at franceschetti.net <mailto:laurent at franceschetti.net>

______________
No one shall be subjected to arbitrary interference with his privacy, family, home or correspondence, nor to attacks upon his honour and reputation. Everyone has the right to the protection of the law against such interference or attacks (Art 12 Universal Declaration of Human Rights).


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://forum.linux-gull.ch/pipermail/gull/attachments/20180304/2397021e/attachment.html>


More information about the gull mailing list