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

Laurent Franceschetti laurent at franceschetti.net
Sun Mar 4 21:19:55 CET 2018


> Le 4 mars 2018 à 20:32, Daniel Cordey <dc at pxcluster.com> a écrit :
> 
> Comme tu le dis, Perl est victime de l'arrivée d'un jeune mâle dans la meute :-) Ce que tu dis au sujet des shells est très juste; il est important de ne pas aller trop loin avec ! Perl a remplit le rôle d'intermédiaire pendant des années et, jusqu'à il y a quelques années, il était sans conteste la meilleure solution entre le shell et les langages compilés. Aujourd'hui, il est bousculé par un langage qui permet de faire "plus", mais requiert aussi un prix de départ un poil plus élevé, mais c'est assez relatif tout compte fait.

Tu relèves un aspect essentiel, qui est le positionnement de Perl: si on le compare à Python, il n’a aucune chance (j’ai beaucoup aimé ta liste de points).
Mon idée centrale est que si on le compare à un script bash, alors il se défend.

> 
> De plus en plus d'outils d'administration sont réalisés en Python. Sans doute parce qu'il s'interface aisément avec Gtk/Qt/etc., ou qu'il est plus puissant en structure de donnée et en calcul

Je te suis tout à fait: Python c’est un factotum tout à fait adéquat pour l’administration système.


>  Ou parce que la nouvelle génération ne connaît pas ou n'apprend pas Perl ? Je ne sais pas…
> 

C’est bien ce que je me demande… Partout sur le web, on trouve l’affirmation que Python fait mieux pour ce qui est programmation de haut niveau, ce qui est vrai. Mais quelque part, on passe à côté de l'essentiel, c’est que Perl est surtout un language de bas niveau.

C’est comme si on voulait comparer C à Java et que la réponse était: « ah oui, mais Java est plus haut niveau. » Oui mais justement, C a été correctement positionné comme remplaçant de l’assembleur! 

Je me demande is Perl ne devrait pas être au script shell, ce que C est  l’assembleur: un espéranto; donc juste un poil plus haut niveau que le script shell (et donc plus portable), mais justement pas au point d’être un langage de haut niveau!


> 
> 
> Voilà, c'est très perso... Je ne suis pas objectif car j'ai détesté Perl dés le début et j'ai toujours réussi à en faire un minimum, me contentant de jongler entre le shell et des programmes C que j'écrivais lorsque les choses devenaient trop compliquées en shell (ou avaient besoin de performance). L'arrivée de Python m'a comblé en tant que programmeur et je vois bien que ce langage recouvre un peu les domaines où Perl fut pendant longtemps le seul pour résoudre un type de problème. Les avantages de Perl s'en sont trouvés remis en cause et ses limitations sans doute plus visibles.

Pareil pour moi: j’adore Python y-compris pour l’administration système, et je n’aime pas Perl… mais je déteste encore plus les scripts shell! 

Si on relève les défauts de Perl (avec raison), alors pourquoi les scripts shell ne sont-ils pas cloués au pilori? Et pourtant, si nous continuons à les utiliser, il doit bien y avoir une raison…

Je crois que la raison est que quand on fait des scripts shell « bare-metal », on recherche précisément ce contact dur et froid avec la machine: c’est un avantage. Python est un langage de l’élégance et du raffinement  parce que son Zen est d'utiliser des librairies. Le revers de la médaille, c'est qu'il nous isole parfois un peu trop de l’OS,. 

Perl, au contraire, n’est pas fait pour être contemplé mais pour l'atelier: il est fonctionnel, primitif et pour tout dire laid.  Mais la grande force (oubliée) de Perl, c’est d’adhérer de près logique du système UNIX: coller les utilitaires système à la McGyver, avec des élastiques, des trombones et tout ce qu’on trouve sous la main. 

Et je trouverais même une sorte de beauté dans ce style brutaliste… 

> 
> Recommencer l'enseignement de Perl ? Pourquoi pas... mais à qui ? Sans doute pas à la nouvelle génération, baignée de concept antinomiques :-)

Et pourtant ils apprennent toujours des scripts bash, ainsi que du C… Et dans le style brutaliste, quid de JSON, voire CSS etc.?

Il me semble d’ailleurs que les jeunes informaticiens (en tout cas ceux qui s’expriment sur les réseaux sociaux) sont assez pragmatiques et ouverts aux nouvelles idées. Cela les rendrait peut-être plus à même de casser les stéréotypes des générations précédentes?

Encore merci pour ces réflexions et bonne soirée,
L.

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


More information about the gull mailing list