Quel langage pour ...
Le
Étienne Labaume
Bonjour à tous,
Dans la série "Quel langage utiliser pour ", je suis dans la
situation suivante:
Je déploie régulièrement un CMS utilisant PHP et MySQL sur des serveurs
Web. J'ai donc pris l'habitude de scripter (en shell) toutes les
opérations. Mais aujourd'hui, l'ensemble devient lourd, et difficilement
maintenable (c'est sans doute dû en partie à ma façon d'écrire en
shell). Du coup, je voudrais tout ré-écrire from scratch, et je me
demande si je devrais ou non changer de langage, et pour quel langage.
Les tâches de ces scripts sont typiquement:
- décompactage d'archives gzippées
- modification de fichiers de configuration
- upload via ftp
- création de scripts de commandes SQL
- requête HTTP (wget)
Je voudrais éventuellement étendre les capacités de ces scripts pour
qu'ils puissent lire des fichiers de configuration, exécuter directement
les scripts SQL, faire des sauvegardes avant upgrade, les rendre portables
vers des systèmes non-Unix (pas vital, toutefois)
Pour tout ça, j'ai pensé à Perl ou Python, mais la réputation
d'illisibilité du premier me freine, et l'existence du CPAN ne me pousse
pas vers le second. Sans vouloir provoquer de troll (comment ça "trop
tard" ?), j'aimerais bien avoir l'avis des uns et des autres, et
éventuellement des suggestions d'autres langages
Merci de votre intérêt pour mes questions.
--
Tinou
Dans la série "Quel langage utiliser pour ", je suis dans la
situation suivante:
Je déploie régulièrement un CMS utilisant PHP et MySQL sur des serveurs
Web. J'ai donc pris l'habitude de scripter (en shell) toutes les
opérations. Mais aujourd'hui, l'ensemble devient lourd, et difficilement
maintenable (c'est sans doute dû en partie à ma façon d'écrire en
shell). Du coup, je voudrais tout ré-écrire from scratch, et je me
demande si je devrais ou non changer de langage, et pour quel langage.
Les tâches de ces scripts sont typiquement:
- décompactage d'archives gzippées
- modification de fichiers de configuration
- upload via ftp
- création de scripts de commandes SQL
- requête HTTP (wget)
Je voudrais éventuellement étendre les capacités de ces scripts pour
qu'ils puissent lire des fichiers de configuration, exécuter directement
les scripts SQL, faire des sauvegardes avant upgrade, les rendre portables
vers des systèmes non-Unix (pas vital, toutefois)
Pour tout ça, j'ai pensé à Perl ou Python, mais la réputation
d'illisibilité du premier me freine, et l'existence du CPAN ne me pousse
pas vers le second. Sans vouloir provoquer de troll (comment ça "trop
tard" ?), j'aimerais bien avoir l'avis des uns et des autres, et
éventuellement des suggestions d'autres langages
Merci de votre intérêt pour mes questions.
--
Tinou

Poser une question


Il vaut mieux utiliser le langage que connaissez le mieux (perl pour
moi). Si vous voulez nourrir le troll, envisagez aussi ruby.
Ahem, ... j'ai oublié de préciser que je suis débutant dans l'un et
l'autre de ces langages.
--
Tinou
Il est tout à fait envisageable d'écrire du Perl lisible. Il suffit de ne
pas être paresseux (exactement comme en C), et de s'imposer des règles de
codage -- surtout si vous ne serez pas le seul amené à relire les sources.
Je crois bien qu'il existe un équivalent pour Python, mais j'avoue ne pas
avoir vraiment cherché.
Au "pire", pourquoi ne pas récrire vos scripts en shell, mais avec cette
fois en tête tout ce que ceux-ci sont sensés faire ?
Python et Perl me semblent effectivement les deux "meilleurs" langages
pour ce genre de choses, même si Ruby semble faire des émules aussi, comme
il a déjà été dit.
En gros, si dans tous les cas vous devrez apprendre un langage, il me
semble utile de se demander si *vraiment* il est impossible d'obtenir un
script shelle unifié avec les extensions voulues, qui soit plus
performant. Si la réponse à cette question est non, je ne peux que vous
conseiller les tutoriels disponibles sur le Net, et de vous faire une idée
par vous-même. Perl et Python se valent en terme de puissance. J'ai cru
comprendre que Perl est néanmoins légèrement plus réactif que Python, mais
rien n'est moins sûr.
--
"Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce
que je veux !"
"The obvious mathematical breakthrough would be development of an easy
way to factor large prime numbers." (Bill Gates, The Road Ahead)
Perl n'est pas illisible, mais il permet de faire du code illisible si on
le souhaite. Le défaut de perl c'est la liberté absolue. C'est aussi
bien sûr son gros avantage...
Python au contraire est plutôt rigide...
--
Toutes les organisations ont leur règles, et les Femmes Algériennes
doivent avoir aussi leurs règles.
Aït Ahmed.
Tant qu'à être débutant, écrit des scripts en Common Lisp.
clisp est assez bien adapté pour écrire des scripts.
Depuis quelques années, j'écris tous mes scripts en clisp, et j'en
suis satisfait.
--
__Pascal Bourguignon__ http://www.informatimago.com/
Our enemies are innovative and resourceful, and so are we. They never
stop thinking about new ways to harm our country and our people, and
neither do we. -- Georges W. Bush