[gull] Faut-il réhabiliter Perl comme langage de scripting système?
Daniel Cordey
dc at pxcluster.com
Mon Mar 12 14:28:45 CET 2018
On 12. 03. 18 11:06, felix wrote:
>
> Sans oublier les languages du web: HTML (3 à 5) et CSS(>=2)!
Langages purement "descriptifs" mais que l'on ne peut pas vraiment
considérer pour apprendre la programmation. Control-flow ?
> ( mais, les faire bosser sur LaTeX, pour leur rapports et présentations,
> avec des outils comme gnuplot, dotty... Cela se fait encore beaucoup
> dans les universités et est très utile pour la cohérence et la pérénité
> des documents... -> ``R'' )
Sans compter que l'on peut absolument tout faire avec ça, alors que ce
n'est pas le cas des logiciels de traîtement de texte. Sauf que, là
encore, on ne parle d'une "application" d'un ensemble d'outils et pas
d'une langage de programmation. Qui penserait faire du sys admin en
Latex ? Ce n'est pas parce que c'est possible (et illisible) que ça a un
sens.
> En effet, l'``administration'' doit concerner l'embarqué, les serveurs
> et les desktops... Dans bien des cas, ``bash'' n'est pas installé, soit
> pour des raisons de mémoire, soit pour des raisons de sécurité (trop
> complexe).
Oui, mais de l'embarqué a souvent un système vraiment minimum et on a
que 'sh' parfois avec quelques commandes. La tendance est à avoir plus
de RAM et des cartes SD, mais ce n'est pas garanti et là tu n'as que
'sh' ou des fois seulement du code compilé (Arduino). On ne peut donc
pas généraliser et le vrai embarqué aura toujours pas mal de limites.
> bash doit cependant occuper une part importante, il devient de plus en
> plus un language de programmation...
C'est justement là que Perl prend le relais. Les shells (dont bash) sont
des langages de scripting quand même limités et ne sont pas destinés à
devenir des langages de programmation généraux. Comme préciser au début
de cette discussion, attention à ne pas sur-utiliser bash/sh/*sh. Bash
est un langage destiné à exécuter des commandes et a énormément de
limitations comme langage de programmation générale (pas de calculs en
flottant, pas de binaire, etc.)
> utilisant des raccourcis permettant
> par exemple une interaction bidirectionnelle avec un sous-process (voire
> perl Open2 et perlipc ;)
> ...
>
> $ ps --sid $(ps ho sid $$) fw
Ce n'est pas parce que l'on peut le faire que c'est une bonne idée ou
que c'est efficace. Ce genre d'opération s'écrit de manière beaucoup
plus lisible et plus simple dans plusieurs autres langages mieux
adaptés. Et que se passe-t-il si les enregistrements dans la base
contiennent des BLOB en binaire ? Jolie démonstration mais que l'on ne
peut hélas pas généraliser.
C'est bien de savoir écrire ce genre de chose en bash, c'est aussi bien
de savoir lire ce code... mais il faut le maintenir. Ce n'est pas (plus)
vendable dans une équipe IT aujourd'hui; même le Perl ne trouve plus
grâce aux yeux des "agilistes" aujourd'hui. Les outils d'admin dans le
domaine des clusters sont écrits en Python/Go/Lua/etc. Bien ? Pas bien ?
Peut-être, peut-être pas... C'est juste un fait.
dc
More information about the gull
mailing list