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)
[email protected] <mailto:[email protected]>

______________
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).


_______________________________________________
gull mailing list
[email protected]
http://forum.linux-gull.ch/mailman/listinfo/gull

Répondre à