ANNÉES 1980

Perl

En 1987, Larry Wall travaille au Jet Propulsion Laboratory de la NASA. Linguiste de formation, il passe ses journées face aux écrans UNIX de l'époque, jonglant entre sed, awk et les scripts shell pour traiter des données. Un jour, las de cette gymnastique quotidienne entre outils disparates, il décide de créer son propre langage. Perl naît de cette frustration pratique : faire dialoguer les programmes UNIX sans passer par mille contorsions.

Il n'invente rien de nouveau, mais puise dans ce qui existe déjà, comme les expressions régulières de sed, la puissance de traitement d'awk, la syntaxe familière du C. Mais il assemble ces éléments avec un œil neuf et fait de Perl ce langage « colle » qui transforme la corvée de conversion de données en jeu d'enfant. Wall avait montré ses talents de bricoleur génial avec rn, l'un des premiers lecteurs de nouvelles Usenet, et patch, cet utilitaire qui révolutionne la distribution de correctifs logiciels.

La philosophie de Perl tient en quelques mots : l'efficacité prime sur l'élégance. Là où d'autres langages imposent leur vision rigide, Perl s'adapte au programmeur. Son credo, « Il existe plus d'une façon de le faire », est une souplesse qui déconcerte parfois, mais qui séduit une communauté grandissante d'administrateurs systèmes et de bidouilleurs en tout genre.

Au début des années 1990, tandis que Netscape popularise la navigation graphique, Perl s'impose comme l'outil indispensable pour traiter les formulaires HTML, bien avant PHP. Sa capacité à décortiquer le texte, ses performances correctes sur de petits scripts, sa disponibilité sur toutes les plateformes en font le compagnon idéal des premiers développeurs web. Amazon, Yahoo!, Slashdot : tous ces sites qui façonnent l'internet s'appuient sur Perl.

L'évolution du langage suit un rythme tranquille mais sûr. La version 2 améliore les expressions régulières, la version 3 gère les données binaires. Puis vient 1994 et la version 5. Wall repense la syntaxe, ajoute un support objet convenable, introduit des modules. Cette version de référence est celle que les développeurs utilisent, des décennies plus tard.

Mais Perl ne se limite pas aux caprices de son créateur. Une communauté se forme autour du langage, organisée de façon originale. Les « porteurs » se partagent la maintenance, coordonnés par la liste de diffusion perl5-porters. Pour chaque version, l'un d'eux hérite de la « citrouille des correctifs », supervisant les modifications et les publications. Cette gouvernance informelle fonctionne remarquablement bien.

Le vrai trésor de Perl, c'est le CPAN. Cette archive de modules réutilisables transforme le langage en couteau suisse numérique. Besoin de traiter des images ? De se connecter à une base de données ? De parser du XML ? Il y a forcément un module CPAN pour ça. Cette richesse compense largement les défauts du langage de base.

Wall, avec sa formation de linguiste, insuffle à Perl une dose d'humanité. Le langage tolère l'ambiguïté, s'adapte au contexte, pardonne les approximations. Un programme Perl ressemble parfois à de la prose anglaise mal ponctuée. Cette expressivité séduit, mais elle rebute aussi : lire du Perl écrit par un autre développeur relève parfois du déchiffrage cryptographique.

La question des licences agite alors la communauté du logiciel libre. Wall tranche en proposant une double licence : GPL d'un côté, Artistic License de l'autre, chacun choisit selon ses besoins. Cette souplesse juridique annonce l'approche open source qui émerge à la fin des années 1990.

Les entreprises flairent le filon. O'Reilly & Associates publie des manuels qui seront des références. ActiveState adapte Perl pour Windows, brisant le monopole UNIX. Ces initiatives commerciales n'entament pas l'esprit communautaire du projet. Au contraire, elles le renforcent en apportant ressources et visibilité.

Le nouveau millénaire apporte son lot de concurrents. Python séduit par sa clarté, Ruby par son élégance objet. Ces langages s'inspirent de Perl tout en corrigeant ses défauts supposés. La communauté Perl ne reste pas les bras croisés. En 2000, elle lance le projet Perl 6, refonte ambitieuse du langage. Trop ambitieuse peut-être. Le projet s'enlise, change de nom pour devenir Raku, tandis que Perl 5 continue sa route, imperturbable.

Car Perl 5 a trouvé sa niche. Les biologistes l'utilisent pour analyser l'ADN, les administrateurs pour leurs scripts quotidiens, certains sites web continuent de s'en satisfaire. Le langage a perdu son statut de star, mais il conserve une communauté fidèle et compétente. Ses conférences rassemblent encore des centaines de passionnés, ses modules continuent d'enrichir le CPAN.

Perl a montré qu'un projet libre pouvait rivaliser avec les solutions commerciales, qu'une communauté dispersée pouvait maintenir un logiciel complexe, qu'un langage imparfait pouvait rendre d'immenses services. Dans les serveurs qui font tourner l'internet d'aujourd'hui, quelque part, du code Perl continue sûrement de traiter vos données, discrètement, efficacement.