• # Encore largement utilisé

    Posté par . En réponse au journal Utilisation de Perl aujourd'hui.. Évalué à 3. Dernière modification le 09 octobre 2024 à 00:50.

    Perl 5 et Python 3 sont vraiment à l’opposé l’un de l’autre. Perl permet d’écrire le même algorithme de 36 manières différentes, de la plus concise (en recourant intensivement à l’implicite dans sa syntaxe), à la plus verbeuse. Son slogan, du moins l’un de ses slogan (?), est :

    There is more than one way to do it.

    En Python au contraire on ne cesse de recommander LA façon « pythonique » de faire telle ou telle chose. Le but premier du langage est d’être le plus simple possible à relire, par les autres, comme par soi-même, afin de réduire les temps de développement des projets, en gagnant du temps sur ces aspects de (re)lecture de code, qui sont loin d’être négligeables. En particulier sur des projets avec une équipe de contributrices nombreuse et fluctuante, comme c’est le cas pour énormément de logiciels libres.

    Perl 5 exige également le recours aux pointeurs, comme en C. Alors que Python non, bien qu’on puisse faire du passage d’argument par valeur ou référence aussi si besoin, mais c’est peu courant. En Perl c’est obligatoire.

    Au niveau des bibliothèques disponibles j’ai tendance à croire que c’est à peu près kif-kif entre Perl et Python. Les « bonnes » bibliothèque, les plus largement utilisées, sont disponibles bien souvent pour l’un et l’autre et au moins C, et quelques autres langages.

    Bash à côté c’est quasimodo avec des verrues à la sortie du lit avec la gueule de bois. La raison est assez compréhensible à mon avis : contrairement aux deux précédents, ce n’est pas, initialement, un langage de programmation. C’est un shell. Qui de plus « hérite » du vénérable sh, conçu à la préhistoire de l’informatique pour des ordinateur sans écran utilisant des bandes magnétiques comme stockage, avec 8kB de RAM.

    On peut utiliser les trois comme des langages de programmation ou comme des shell, bien sûr, mais ça explique quand même beaucoup des spécificités extraordinaires du shell pour la programmation.