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

Daniel Cordey dc at pxcluster.com
Fri Mar 9 12:47:47 CET 2018


On 09. 03. 18 11:34, Laurent Franceschetti wrote:
>
> Avant que j’aille un peu plus dans le détail: au fond il y a une 
> question sous-jacente: les choix de Perl avec le scope lexical des 
> variables. C’est peut-être le choix de base (scoping global) qui a été 
> problématique. On sait depuis longtemps que le scoping global est 
> source d’erreurs. Les nouveaux langages ont des scopes locaux.

Oui et cette "imposition" est bien utile. Ce n'est d'ailleurs pas une 
contrainte... mais on voit des tas de programmes où des gens utilisent 
'global' a tour de bras. Il est illusoire de croire qu'un langage va 
pouvoir "imposer" d'écrire des programmes "propres" et élégants. Un 
programmeur non-rigoureux produira toujours du code pourri et il se peut 
que le problème soit amplifié par le langage; mais le vrai responsable 
n'est pas ce dernier. Il est aussi vrai qu'un programmeur rigoureux peut 
aussi produire du code le plus propre possible... toujours dans les 
limites de ce que le langage permet. Lorsque je lis les bouts de code de 
Marc, c'est lisible et évident immédiatement; ce n'est hélas pas le cas 
de beaucoup de codes Perl que l'on trouve sur le net. Je pense donc que 
certains langages apporte une aide efficace dans la production de code 
propre, et d'autre un peu moins... Perl est peut-être un peu trop 
permissif à mon goût.

>
> Ce que j’ai appris avec Python, c’est le principe d’économie: ne pas 
> écrire des choses évidentes. En éradicant sans pitié tout ce qui 
> encombre le code (le « boiler plate » et les commentaires-pléonasmes), 
> on met en relief l’essence de la pensée. Il est vrai que « my » ce 
> n’est que 3 lettres (avec l’espace), mais je trouve que c’est dommage 
> qu’on doive encore l’indiquer, _si ça devient auto-évident qu’il 
> faudrait toujours utiliser my_.
>
> Peut-être qu’il y a, dans ces problèmes logiques et ces « 
> encombrements » (qui ne sont pas rédhibitoires), une explication de 
> pourquoi Perl peut rebuter?

J'ai un avis, très personnel il est vrai, concernant les langages qui 
utilisent le signe '$' pour identifier ses symboles... C'est en général 
le signe que l'analyseur syntaxique est limité. C'est surprenant de voir 
ce genre d'exigence syntaxique dans un langage qui utilise quand même 
Lex & Yacc... Avec une table de symbole, on peut facilement faire du 
"scoping", détecter l'usage d'un symbole/variable et les 
instantiations... Bizarre...

dc



	



More information about the gull mailing list