Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Perl fête ses 25 ans
Que pensez-vous de l'évolution du langage de programmation ?

Le , par Hinault Romaric

20PARTAGES

8  0 
Perl (Practical Extraction and Report Language) a un quart de siècle cette semaine.

Le langage de programmation dérivé des langages de scripts shell, sed, awk et du langage C avait été lancé en version 1.0 le 18 décembre 1987 par Larry Wall.

Le langage avait été présenté comme une alternative aux utilitaires de traitement de texte Unix Sed et Awk. C’est un an plus tard après la sortie de la version 2.0 que Perl va réellement décoller. En 2000, Perl sort en version 6 et est entièrement réécrit à partir de zéro, tout en conservant ses principes de base.

Le langage interprété est surtout apprécié par les développeurs pour sa souplesse dans le traitement des expressions régulières et la manipulation des fichiers texte.

Bien que Perl ait été largement éclipsé par PHP ou encore Python, il est encore utilisé par un nombre important de développeurs, et figure dans le top 10 du classement des langages de programmation par Tiobe.

En tant que communauté de développeurs, nous saisissons l’occasion pour souhaiter un bon anniversaire à Perl.

Source

Et vous ?

Utilisez-vous ou avez-vous utilisé Perl ? Que pensez-vous du langage et de son évolution ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de 10000.maniacs
Futur Membre du Club https://www.developpez.com
Le 19/12/2012 à 17:58
Je ne connais pas Python mais pour avoir fait beaucoup de PHP en mode scripting console de commande, j'avoue que PERL reste encore le langage par excellence pour faire du parsing de fichier de texte.
Pour la petite histoire, je me suis mis à PERL que très récemment car j'ai eu pour besoin de parser 2 millions de fichiers de log de quelques méga chacun, extraire une 10aine d'indicateurs en regexp pour chaque fichier, et les enregistrer dans une base de données MySQL (rien de bien compliqué donc !).
J'ai fait un script de traitement en PHP et en PERL, résultat : 2 fois plus rapide en PERL. Après, je suis conscient qu'il faille évidemment pondérer ce résultat car certaines structures de script sont différentes : utilisation de classe en PHP, utilisation de $_ en PERL, etc.
Cela n'a pas de valeur d'exemple mais je trouvais ça assez extra-ordinaire qu'on puisse encore gagner en vitesse de traitement sur un fonctionnel à ce point "juste" à partir d'une différence de langage, surtout de nos jours où les langages de programmation sont de plus en plus optimisés.

Bon anniv PERL !
2  0 
Avatar de zephbag
Candidat au Club https://www.developpez.com
Le 19/12/2012 à 18:10
Bien avant Php, Jsp et consort, les pages dynamiques web étaient créées en Perl pour les serveurs web Apache.
2  0 
Avatar de Camille_B
Membre confirmé https://www.developpez.com
Le 19/12/2012 à 23:19
La grande force de Perl c'est sa souplesse et son "évolutivité".

Regardez toute la mouvance "Modern Perl" : la plupart des derniers bidules à la mode en matière de programmation sont dispos en Perl. Et que l'on ne me parle pas d'OO, avec Moose, Perl dispose de l'un des systèmes les plus puissants d'OO (avec CLOS).

Sur ce point Perl enterre Python qui est un très bon langage, c'est sûr, mais dont certaines erreurs de conception on conduit à la situation actuelle : obligation de casser sévèrement la rétrocompatibilité pour pouvoir "améliorer" significativement le langage.

Mais Perl a le défaut de ses qualités : parce qu'il n'est pas un LISP, sa souplesse couplée à sa grande expressivité (sigils etc.) conduit à un langage à la syntaxe et à la grammaire de plus en plus complexe. Ici Python gagne, c'est sûr.
3  1 
Avatar de poum42
Candidat au Club https://www.developpez.com
Le 20/12/2012 à 19:43
J'adore Perl - je ne suis donc pas objectif - notamment parce qu'il est un (le ?) langage qui s'apparente à une langue: on peut avoir son style mais surtout on peut en faire ce qu'on en veut: maintenable ou pas, objet ou pas, objet avec Moose ou pas ...

Concernant le web avec Perl, je me suis frotté récemment à Mojolicious (mais il y en a d'autre) + DBIx::Class pour la persistence: la lourdeur de Java est loin, et ça vaut largement Play! par exemple...

Enfin, Perl embarque des possibilités de faire du pro, du propre, du maintenable: use strict et du sécurisé (ce que je n'ai pas encore trouvé ailleurs nativement): mode tainted.

Alors, les regexp, oui, la manipulation des fichiers textes, parfois mais plein d'autres choses, un langage vivant, des extensions en pagaille, une philosophie qui en font quelque chose d'unique (mais je ne les connais pas tous) et pas juste un langage de plus.

Mais chacun fait comme il veut: TIMTOWTDI
1  0 
Avatar de El Criminal
Membre à l'essai https://www.developpez.com
Le 20/12/2012 à 20:01
Bonjour à tous,

Utilisateur de Perl depuis maintenant de nombreuses années, je pense que c'est un langage réellement d'exception. Même si j'annonce dès le début la couleur de mes préférences, je vais aussi essayé de rester le plus objectif possible.

Comme l'a exprimé GLDavid, Perl c'est une histoire, une culture, une manière de faire différente des autres (certes) mais incroyablement efficace et confortable.

Vous avez en Perl toujours plus d'une façon de faire les choses (le fameux TIMTOWTDI). Et les choses que vous pouvez faire sont réellement incroyables. Combien de fois ai-je pu réaliser en quelques lignes (si ce n'est quelques symboles en golfeur invétéré que je suis) ce qui aurait pris plusieurs lignes ou fichiers en C, C++, VB ou en Java...

Sans chercher spécialement à le comparer aux autres langages (il n'y a d'ailleurs rien de spécial à comparer, l'idée n'est pas de savoir quel est le meilleurs langage, mais quel est celui qui me sert le mieux ?), ce langage est l'un des plus performant. N'oublions pas le rôle principal qu'il a tenu (et tien toujours encore, pour partie) dans les bases et les débuts de l'internet moderne tel que nous le connaissons... Perl a toujours bénéficié des dernières technologies en matières de langage de programmation et cela continue encore aujourd'hui.

Je pense que l'on ne peut vraiment parler de Perl sans parler de sa communauté. Cette dernière est toujours à l'écoute de vos problèmes et toujours cordiale quand vous l'êtes vous même. Certes, plus discrète que d'autres (j'ai le souvenir de quelques slogans à ce propos...) elle sait être aussi incroyablement dynamique. C'est bien simple, si un sujet vous intéresse, vous trouverez quelqu'un dans la communauté qui a le même intérêt que vous et avec qui vous pourrez échangé. Cette remarque est valable pour d'autres langages bien sur, mais je reconnais qu'il n'y qu'avec Perl que j'ai connu de tels moments...

Il y a aussi le CPAN, véritable hall à modules qui nous offre des solutions performantes, libres et vérifiées. Le dernier point peut sembler anodin, mais les vérifications sur les modules de Perl dans le CPAN (même le plus modeste des modules) sont importantes et contribuent grandement à la qualité de ces derniers...

Comme l'a précédemment dit GLDavid, Perl n'est pas toujours très rependu en entreprise. C'est vrai, il est difficile d'en définir le pourquoi (autres langages plus populaires ou chaleureux ? Effets de mode ? Exigence de Perl malgré une grande liberté ?...), mais je reconnais que j'utilise dans le cadre de l'entreprise de nombreux scripts, surtout quand je n'ai pas envie "de me prendre la tête à coder des choses compliquer". Perl, c'est la possibilité d'exprimer simplement des choses difficiles...

Sinon, pour l'orienté objet, Perl permet de faire des choses réellement extrêmes et hyper puissantes, après, le tout est de savoir si on en a réellement besoin... Personnellement, je le préfère "nature", sans POO...

Bref, longue vie au Perl. Je ne doute pas un seul instant de son "immortalité".
1  0 
Avatar de spidermario
Membre éprouvé https://www.developpez.com
Le 24/12/2012 à 15:11
Citation Envoyé par Freem Voir le message
Après, perl6, quand je verrai un package dans ma debian, je pense que j'y jetterai un oeil.
Tu veux dire celui-là ?
1  0 
Avatar de GLDavid
Expert confirmé https://www.developpez.com
Le 20/12/2012 à 10:33
Bonjour à tous

En qualité d'ancien responsable de cette section Perl, je me permet un point de vue que j'espère suffisamment objectif concernant Perl.

Voici plus de 12 ans que je connais ce langage. J'ai connu Perl 4, Perl 5.
Ce langage est pour ma part, mon langage de référence lors de l'extraction de données provenant de fichiers. Sa force ? Les regexps, bien sûr, toujours copiées, jamais égalées. Ce lange est aussi très souple d'utilisation.
Toutefois, je n'ai jamais trop aimé l'orienté objet selon Perl. Perl vient du C, et non de C++. La manière dont un objet doit être déclaré et utilisé ne m'a jamais trop parlé.

Maintenant, quel est la situation du langage ? Je pense que Perl est toujours autant utilisé par les puristes, les bioinformaticiens et les administrateurs systèmes. Pour les bioinformaticiens, c'est le langage par définition et d'école. Pour les sys admins, il apporte tout ce que les shell languages ne peuvent apporter.

Et Perl 6 ? Bonne question ? Est-il finalement fini ? Je veux dire, son développement est-il enfin arrivé à maturité ? J'en entends parler depuis 10 ans, et c'est l'équivalent d'un vaporware. La norme reste encore Perl 5 pour de nombreux OS et entreprises.

N'oublions pas également l'adage Perl (sorry in english):
Perl is easy to write, hard to read


Et oui, sa souplesse tient à la fois de qualité comme de défaut. D'accord, cela dépend énormément du développeur. Mais le petit jeu du all-in-one-line est plus improductif qu'autre chose.

Même si je reste attaché à Perl, je dois avouer que pour mon travail de tous les jours, je ne m'en sers plus :-( Et c'est le cas dans bon nombre d'entreprises: je vois des gens qui connaissent bien ce langage, mais la vérité de l'entreprise est d'utiliser des frameworks généralistes et portables: Java et .Net en tête. Développerdu Web avec Perl, oui c'est faisable mais avec le bon vieux CGI ou avec des appels Ajax mais cela reste discret, trop confidentiel.

Perl restera utilisé toutefois. Il est idéal pour les débutants et certains coprs de métiers. Si je vois une refonte, ce serait dans l'orienté objet que je n'ai jamais aimé dans Perl 5. Ma connaissance de Perl 6 reste limité, je m'abstiendrais de tout commentaire.

Je ne souhaite qu'une longue vie à Perl.

@++
3  3 
Avatar de grim7reaper
Membre éclairé https://www.developpez.com
Le 20/12/2012 à 21:10
Citation Envoyé par GLDavid Voir le message
Maintenant, quel est la situation du langage ? Je pense que Perl est toujours autant utilisé par les puristes, les bioinformaticiens et les administrateurs systèmes. Pour les bioinformaticiens, c'est le langage par définition et d'école. Pour les sys admins, il apporte tout ce que les shell languages ne peuvent apporter.
Pour la bioinformatique, il est vrai que Perl a longtemps régné en maître (grâce à BioPerl).
C’est beaucoup moins vrai maintenant avec Python (et l’excellent BioPython) qui est de plus en plus présent (et certaines formations de bioinformatique pense à remplacer l’apprentissage de Perl par Python).
Après, je n’ai pas de chiffres sur les taux d’utilisation mais je pense que la tendance actuelle est d’aller vers Python (mais Perl reste très présent).

Cela dit, j’ai fait du Perl dans le passé et il m’arrive encore de l’utiliser (pour faire des scripts shell++ ^^), et je l’apprécie vraiment dans ce rôle
0  0 
Avatar de rimram31
Membre averti https://www.developpez.com
Le 21/12/2012 à 10:22
Amusant, j'ai toujours "tourné autour" de Perl sans jamais réellement l'affronter :-) même si j'ai pu dans le passé travailler sur un projet web en Perl. Jusque là, je m'en suis toujours sorti avec du shell, sed et quelques pincées de awk mais à chaque fois avec un pincement, m'apercevant quand le travail a faire était plus important que prévu, de penser a Perl :-)

Par contre un grand merci a tous ces développeurs qui m'ont permis d'avoir des utilitaires systèmes en un simple download de script Perl n'excédant généralement pas deux pages de code. Perl restera pour moi un outil système de l'ordre du couteau suisse comme toute la panoplie de commande Unix permettant de faire en dix lignes et a peine une heure ce qui aurait demandé des jours de travail et quantité de lignes de code avec d'autres technologies.

Je suis d'ailleurs souvent déçu de constater l'ignorance de nouvelles générations de développeurs pour ces techniques les voyant s'embarquer dans des développements complexes là où quelques lignes de script auraient suffit.
0  0 
Avatar de Freem
Membre émérite https://www.developpez.com
Le 21/12/2012 à 15:23
Perl...
Je suis d'accord avec certaines parties des posts ici: très bien pour les regex, les scripts systèmes et le traitement de texte (pas pour word, hein ^^).
D'ailleurs, ces 3 points se rejoignent: les outils systèmes manipulent du texte, et les regex sont un outil surpuissant pour manipuler le texte.

Par contre, j'ai essayé, perl.
Quand on arrive, on tombe rapidement sur des explications pour écrire des scripts d'une fonction, plus ou moins sans problèmes.
Par contre, je n'ai pas trouvé, en 2 semaines, comment écrire une satanée fonction, alors une classe...
Et puis soyons honnête, ajouter une librairie pour supporter l'orienté objet, j'ai comme un doute sur le fait que le code résultant soit lisible.

Enfin, pour le préjugé "'oublions pas également l'adage Perl (sorry in english) : Perl is easy to write, hard to read", en tant que développeur qui n'a habituellement pas trop de soucis à lire des langages qu'il ne connaît pas, je dirais que ça n'en est pas un.
Si je devais relire les scripts que j'ai écrits en perl l'an dernier, au cours des 2 semaines de taf ou j'ai voulu essayer, je n'y arriverai pas, et pourtant, j'ai commenté, ce que je ne fais pourtant pas habituellement en C++ (j'utilise énormément de petites fonctions et de classes, et chaque nom est choisi en fonction de ce que ça accompli, du coup, pas besoin de commenter les blocs de 5 lignes pour avoir un code lisible).

Donc, non, ce n'est pas un préjugé, c'est une réalité. Après, c'est sûr, quand on est habitué à en lire, je suppose que ça devient faux pour soi.

Ajoutez à sa syntaxe le fait qu'il n'existe que 3 types, qui sont en fait des variantes de nombre: variable où on peut tout mettre, tableaux où l'on peut mélanger les serviettes et les cochons, et tableaux associatifs du même acabit, et vous aurez les 2 raisons qui font que malgré sa force, je ne m'en servirai pas pour réaliser un programme de plus de 200 lignes.
Je préfère dans ces cas utiliser un langage qui me permet de faire un code qui reste lisible.

Après, perl6, quand je verrai un package dans ma debian, je pense que j'y jetterai un oeil. Mais si ça fait 10 ans que c'est en cours, on peut p'tet attendre la prochaine fin du monde (bon, certes, C++ a pas fait beaucoup mieux)

Bon, je critique, mais je ne pense pas moins qu'il s'agit d'un bon outil. Il est juste très spécialisé, et remplit parfaitement l'objectif qui était le sien à sa création: remplacer les scripts shell mêlant sed, awk, grep par un script dans un langage qui évite d'invoquer des outils différents en permanence, gagnant ainsi un temps précieux lors de l'exécution.
Pour du script, perl est très bien. Il est fait pour ça, et ça se sent.
Mais il n'est pas fait pour écrire un IDE, par exemple, ni un navigateur internet, ou un serveur. C'est sûrement possible, c'est sûr...
2  2