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

Laurent Franceschetti laurent at franceschetti.net
Thu Mar 8 12:25:36 CET 2018


Il me vient à l’esprit un point à propos de Perl, que j’appellerais la « bigoterie formelle »: quand on enseigne des règles formelles d’un langage, qu’on est censé appliquer par coeur sans se poser de questions (et qui soulèvent des protestations indignées chaque fois qu’on les viole).

Dans le cas de VB, c’était la convention de Microsoft qu’il fallait mettre le type d’une variable dans le nom: str_name, int_age (Linus Torvalds avait dit, à juste titre, que c’était « braindamaged »). Si le langage permet de nommer des variables indépendamment du type, alors c’est dans l’esprit du langage. Si ça pose un problème, c’est soit une maladie imaginaire, soit le langage est mal fait (dans le cas de VB, c’était largement une maladie imaginaire). 

Dans le cas de Perl, c’est cette habitude de commencer tous les programmes par 'use strict’ et ‘use warnings’. Soit c’est toujours nécessaire et le langage devrait l’imposer, soit il y a des exceptions de bon sens (ce qui est mon opinion). Donc, AMHA, cette recommandation de toujours commencer tous les programmes par ces 2 pragmas tient de la schizophrénie. En particulier, si on écrit des petits programmes où on sait ce qu’on fait, il n’y a pas de raison valable de se compliquer la vie.

Qu’en pensez-vous? D’accord ou pas d’accord?

Bonne journée,
Laurent







> Le 7 mars 2018 à 23:08, Laurent Franceschetti <laurent at franceschetti.net> a écrit :
> 
> Chers Marc et Daniel,
> 
> C’est drôle, quand j’étais petits j’étais tombé dans la marmite de Pascal — j’étais habitué aux points-virgules mais les accolades me rebutaient.
> 
> Au début Python me rebutait, parce que j’étais dérouté par l’idée de ne pas avoir un « end » à la fin d’un bloc. Très vite je l’ai trouvé naturel et d’ailleurs d’autres ont emboîté le pas (YAML par exemple). Sur le point de Python 2 à Python 3, ça a été une grosse histoire, mais je crois qu’on peut tous dire que c’est derrière nous. AMHA Python 3 est plus cohérent et plus facile pour un débutant.
> 
> Les langages à accolades, j’aime toujours moyennement mais ça va; mais maintenant j’oublie tout le temps les points-virgules là où il en faut…
> 
> Mais après près de 35 ans et toutes sortes de syntaxes, je me dis que ce ne sont finalement que des conventions de présentation et une question d’habitude et de goût. Mais qui sait, peut-être que les éditeurs de demain dissocieront la syntaxe de stockage, de la présentation au programmeur; ce qui fait que chaque programmeur choisira la présentation qui lui donne le maximum de productivité: accolades, begin/end, indenté… tout en garantissant que le code produit restera le même? On a séparé la forme du contenu depuis des années avec TeX et HTML, alors pourquoi pas avec du C, Perl, Javascript ou Python?
> 
> Pour ce qui est des gestionnaires de package en Python, c’est justement ce que je ferais… mais il y a une multiplicité d’outils pour différents usages et aussi différentes manières de travailler. C’est encore heureux que nous ne sommes pas tous du même moule, autrement cela serait bien morne.
> 
> En tout cas, je continue mon expérience d’écrire à nouveau du Perl là où j’aurais auparavant écrit un shell script. Les premiers essais sont encourageants.
> 
> 
> 
> Cordialement,
> Laurent
> 
> 
> 
> 
> 



More information about the gull mailing list